From 419e664487ed320225e96217aac54207550e6416 Mon Sep 17 00:00:00 2001 From: Dmitriy Nikiforov Date: Wed, 29 Jun 2016 16:58:38 +0300 Subject: [PATCH] SRADA-758: Added prepare_dependencies.sh - automatical p2 repo creation Script usage: $ ./prepare_dependencies.sh /path/to/eclipse /path/to/common-eplugin Example for ubuntu build: $ ./prepare_dependencies.sh \ ~/temp/default/eclipse-pde_3.0.2_ubuntu-64/data/eclipse-pde/eclipse \ ~/temp/default/ide Also, updated build.linux to use this script. Change-Id: Iadf7ec13fc0deba2b79bd709a625ab474fbc86eb --- package/build.linux | 29 +--------------------------- prepare_dependencies.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 28 deletions(-) create mode 100755 prepare_dependencies.sh diff --git a/package/build.linux b/package/build.linux index 08a99be..7c00a2e 100644 --- a/package/build.linux +++ b/package/build.linux @@ -152,34 +152,7 @@ __prepare_eclipse() { __compose_da_dependencies() { echo "Compose dependencies repository..." - da_dep_repo=${SRCDIR}/p2-deps - cd ${da_dep_repo} - - # create p2 repository with dependencies plugins - - # extra dependencies - mvn p2:site - built_repo=${da_dep_repo}/target/repository - - # common-eplugin - __publishFeaturesAndBundles ${built_repo} ${ROOTDIR}/ide - # eclipse dependencies - __publishFeaturesAndBundles ${built_repo} ${reference_ide_path} - # some dependencies that cannot be downloaded - __publishFeaturesAndBundles ${built_repo} ${da_dep_repo} - - cd ${SRCDIR} -} - -__publishFeaturesAndBundles() { - java -jar ${reference_ide_path}/plugins/org.eclipse.equinox.launcher_*.jar \ - -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher \ - -metadataRepository file:$1 \ - -artifactRepository file:$1 \ - -source $2 \ - -configs ${windowing}.${archive_platform_name}.${architecture} \ - -publishArtifacts \ - -append + /bin/bash -x "${SRCDIR}/prepare_dependencies.sh" "${reference_ide_path}" "${ROOTDIR}/ide" } __execute_pde_build() diff --git a/prepare_dependencies.sh b/prepare_dependencies.sh new file mode 100755 index 0000000..3c4f23c --- /dev/null +++ b/prepare_dependencies.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# +# Script for local p2 repository creation. +# + +__publishFeaturesAndBundles() { + echo "Publishing artifacts from ${3} to ${2}:" + java -jar ${1}/plugins/org.eclipse.equinox.launcher_*.jar \ + -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher \ + -metadataRepository file:${2} \ + -artifactRepository file:${2} \ + -source ${3} \ + -configs ${windowing}.${archive_platform_name}.${architecture} \ + -publishArtifacts \ + -append +} + +__printHelp() { + echo "Usage: ./prepare_dependencies.sh /absolute/path/to/eclipse /absolute/path/to/common-eplugin" +} + +if [[ -z ${1} ]]; then + __printHelp + exit 0 +fi + +if [[ ! -d ${1} || ! -d ${2} ]]; then + echo "Error: specified paths are not existing directories" + __printHelp + exit 1 +fi + +if [[ -z ${SRCDIR} ]]; then + SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +fi + +da_dep_repo=${SRCDIR}/p2-deps +cd ${da_dep_repo} + +# extra dependencies repackaged into bundles if necessary +mvn p2:site +built_repo=${da_dep_repo}/target/repository + +# common-eplugin +__publishFeaturesAndBundles ${1} ${built_repo} ${2} +# eclipse dependencies +__publishFeaturesAndBundles ${1} ${built_repo} ${1} +# some dependencies that cannot be downloaded +__publishFeaturesAndBundles ${1} ${built_repo} ${da_dep_repo} + -- 2.7.4