From c1d2997c5cd80e89491bc505df6cbe9dd37c4f5b Mon Sep 17 00:00:00 2001 From: Bryan Kowal Date: Fri, 9 Oct 2015 18:17:34 -0500 Subject: [PATCH] Omaha #4759 - merge the new CAVE build into the viz rpm build. initial cleanup of the old build. Former-commit-id: df1a5702f10c088a9c5fe6e9fb79a216839a50ec --- cave/build/build.properties.p2 | 3 +- cave/build/cave/build.properties | 9 +- cave/build/cave/customTargets.xml | 288 +----------------- .../dependency/evaluator/BuildFeature.java | 15 +- .../dependency/evaluator/BuildPlugin.java | 8 +- .../src/awips/dependency/evaluator/Main.java | 36 ++- rpms/awips2.cave/deploy.builder/build.sh | 221 +++++++------- rpms/awips2.cave/deploy.builder/build2.0.sh | 96 ------ rpms/build/x86_64/build.sh | 1 - rpms/build/x86_64/buildEnvironment.sh | 1 + 10 files changed, 157 insertions(+), 521 deletions(-) delete mode 100644 rpms/awips2.cave/deploy.builder/build2.0.sh diff --git a/cave/build/build.properties.p2 b/cave/build/build.properties.p2 index 67aa1b4745..25b5d6b28c 100644 --- a/cave/build/build.properties.p2 +++ b/cave/build/build.properties.p2 @@ -1,6 +1,5 @@ # This build.properties file is used exclusively by the cave pde p2 builds. -topLevelElementType=feature buildType=I buildId=CAVE buildLabel=${buildType}.${buildId} @@ -28,4 +27,4 @@ generate.p2.metadata=true p2.metadata.repo=file:/${buildDirectory}/repository p2.artifact.repo=file:/${buildDirectory}/repository p2.publish.artifacts=true -generateVersionsList=true \ No newline at end of file +generateVersionsList=true diff --git a/cave/build/cave/build.properties b/cave/build/cave/build.properties index 187a8655dd..507ad8ddd2 100644 --- a/cave/build/cave/build.properties +++ b/cave/build/cave/build.properties @@ -20,18 +20,13 @@ ############# PRODUCT/PACKAGING CONTROL ############# -# The product file is specified in the build.xml as a default and is -# overridable setting 'build.product' from ant. -product=${base}/../../com.raytheon.viz.product.awips/${productFile} -#product=${base}/../../com.raytheon.viz.product.awips/developer.product - runPackager=true #Needed for p2, comment out these lines if using developer.product p2.gathering=true generate.p2.metadata = true -p2.metadata.repo=file:${buildDirectory}/repo -p2.artifact.repo=file:${buildDirectory}/repo +p2.metadata.repo=file:${buildDirectory}/repository +p2.artifact.repo=file:${buildDirectory}/repository p2.flavor=tooling p2.publish.artifacts=true diff --git a/cave/build/cave/customTargets.xml b/cave/build/cave/customTargets.xml index 4c1097c604..b021ada9b0 100644 --- a/cave/build/cave/customTargets.xml +++ b/cave/build/cave/customTargets.xml @@ -65,63 +65,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -214,236 +158,8 @@ - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildFeature.java b/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildFeature.java index 61772187a7..f630b8deb4 100644 --- a/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildFeature.java +++ b/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildFeature.java @@ -33,6 +33,7 @@ import java.util.HashSet; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Sep 29, 2015 4759 bkowal Initial creation + * Oct 09, 2015 4759 bkowal Build cycles now cause failure. * * * @@ -79,17 +80,13 @@ public class BuildFeature { } public void addDependentFeatures(Set buildFeatures, - final String pluginId) { + final String resource, String pluginId) { for (BuildFeature buildFeature : buildFeatures) { if (buildFeature.dependsOn(this)) { - /* - * Only a sysout for now because we do have a single build cycle - * in our current baseline. - */ - System.out.println("Build cycle detected: " + throw new IllegalStateException("Build cycle detected: " + buildFeature.getId() + " and " + this.id - + " are dependent on each other! Linked by plugin = " - + pluginId + " ..."); + + " are dependent on each other! Linked by resource = " + + resource + " required by plugin " + pluginId + " ..."); } this.addDependentFeature(buildFeature); } @@ -187,4 +184,4 @@ public class BuildFeature { public String toString() { return this.id; } -} \ No newline at end of file +} diff --git a/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildPlugin.java b/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildPlugin.java index b44a7a53d7..b9f4a655fc 100644 --- a/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildPlugin.java +++ b/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/BuildPlugin.java @@ -34,6 +34,7 @@ import java.nio.file.Paths; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Sep 30, 2015 4759 bkowal Initial creation + * Oct 06, 2015 4759 bkowal Added toString. * * * @@ -116,4 +117,9 @@ public class BuildPlugin { public Set getContainingFeatures() { return this.containingFeatures; } -} \ No newline at end of file + + @Override + public String toString() { + return this.id; + } +} diff --git a/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/Main.java b/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/Main.java index a2f2ad2a25..62a70eb6c4 100644 --- a/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/Main.java +++ b/javaUtilities/awips.dependency.evaluator/src/awips/dependency/evaluator/Main.java @@ -20,6 +20,7 @@ package awips.dependency.evaluator; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; @@ -71,6 +72,7 @@ import org.eclipse.pde.internal.core.product.ProductModel; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * Sep 29, 2015 4759 bkowal Initial creation + * Oct 09, 2015 4759 bkowal Added an exclude features parameter. * * * @@ -115,6 +117,8 @@ public class Main { */ private static final String BUILD_FEATURES_ARG = "buildFeatures"; + private static final String EXCLUDE_FEATURES_ARG = "excludeFeatures"; + /* * Argument specifying the product that will need to be prepared for * building. The existence of all features specified in the product will be @@ -139,6 +143,8 @@ public class Main { private String buildFeatures; + private String excludeFeatures; + private String buildProduct; private static final String COMMON_BASE_FEATURE = "com.raytheon.uf.common.base.feature"; @@ -206,6 +212,7 @@ public class Main { + " has not been specified."); } this.buildFeatures = System.getProperty(BUILD_FEATURES_ARG); + this.excludeFeatures = System.getProperty(EXCLUDE_FEATURES_ARG); this.buildProduct = System.getProperty(BUILD_PRODUCT_ARG); /* * At least one must be specified. @@ -350,8 +357,6 @@ public class Main { if (ALL_FEATURES.equals(this.buildFeatures)) { featuresToBuild.addAll(this.buildFeaturesMap.values()); - productModel.getProduct().removeFeatures( - productModel.getProduct().getFeatures()); allFeatures = true; } else { for (IProductFeature feature : productModel.getProduct() @@ -365,6 +370,8 @@ public class Main { featuresToBuild.add(buildFeature); } } + productModel.getProduct().removeFeatures( + productModel.getProduct().getFeatures()); } // Ensure all dependencies are present for the features that need to be @@ -536,7 +543,8 @@ public class Main { for (BuildFeature dependencyFeature : buildPluginDependency .getContainingFeatures()) { dependencyFeature.addDependentFeatures( - buildPlugin.getContainingFeatures(), pluginId); + buildPlugin.getContainingFeatures(), + requiredBundle, pluginId); for (BuildFeature containingFeature : buildPlugin .getContainingFeatures()) { containingFeature @@ -598,7 +606,7 @@ public class Main { .getContainingFeatures()) { dependencyFeature.addDependentFeatures( buildPlugin.getContainingFeatures(), - pluginId); + importedPackage, pluginId); for (BuildFeature containingFeature : buildPlugin .getContainingFeatures()) { containingFeature @@ -616,12 +624,30 @@ public class Main { * the staging directory. */ private List findFeatures() { + /* + * Determine if there are any features that should be excluded ... + */ + final List excludedFeaturesList; + if (this.excludeFeatures != null + && this.excludeFeatures.isEmpty() == false) { + excludedFeaturesList = new ArrayList<>(); + for (String excludedFeature : this.excludeFeatures + .split(CSV_SEPARATOR)) { + excludedFeaturesList.add(excludedFeature); + } + } else { + excludedFeaturesList = Collections.emptyList(); + } + final List stagedFeatures = new ArrayList<>(); this.stagingPath.toFile().list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { if ((name.contains(FEATURE) && name.contains(VIZ)) || COMMON_BASE_FEATURE.equals(name)) { + if (excludedFeaturesList.contains(name)) { + return false; + } final Path featurePath = stagingPath.resolve(name).resolve( BuildFeature.FILENAME); /* @@ -892,4 +918,4 @@ public class Main { return resourcePaths; } -} \ No newline at end of file +} diff --git a/rpms/awips2.cave/deploy.builder/build.sh b/rpms/awips2.cave/deploy.builder/build.sh index 78f06d808d..b61f25eb6c 100644 --- a/rpms/awips2.cave/deploy.builder/build.sh +++ b/rpms/awips2.cave/deploy.builder/build.sh @@ -10,6 +10,7 @@ VAR_AWIPSII_VERSION="" VAR_AWIPSII_RELEASE="" VAR_UFRAME_ECLIPSE="/opt/uframe-eclipse" VAR_AWIPSCM_SHARE="/awipscm" +VAR_REPO_DEST="/tmp/repo" # ----------------------------------------------------------------------------- if [ "${AWIPSII_TOP_DIR}" = "" ] && @@ -56,6 +57,10 @@ function prepareBuildEnvironment() if [ "${AWIPSCM_SHARE}" = "" ]; then export AWIPSCM_SHARE="${VAR_AWIPSCM_SHARE}" fi + + if [ "${REPO_DEST}" = "" ]; then + export REPO_DEST="${VAR_REPO_DEST}" + fi } function setTargetArchitecture() @@ -86,26 +91,113 @@ setTargetArchitecture if [ ! -d ${WORKSPACE}/rpms/awips2.cave/setup/dist ]; then mkdir -p ${WORKSPACE}/rpms/awips2.cave/setup/dist if [ $? -ne 0 ]; then - exit 1 - fi -fi -if [ ! -d ${WORKSPACE}/rpms/awips2.cave/Installer.cave-feature/feature.setup ]; then - mkdir -p ${WORKSPACE}/rpms/awips2.cave/Installer.cave-feature/feature.setup - if [ $? -ne 0 ]; then - exit 1 + exit 0 fi fi -if [ ! -f ${WORKSPACE}/rpms/awips2.cave/setup/scripts/prepare_dist.sh ]; then - echo "ERROR: Unable to find the setup script." - exit 1 +# prepare to complete the RCP builds. +build_project_dir=${WORKSPACE}/build +pde_base_dir=${build_project_dir}/cave +pde_build_dir=${pde_base_dir}/tmp +prepare_dir=${pde_base_dir}/prepare +awips_product=com.raytheon.viz.product.awips/awips.product + +if [ ${prepare_dir} ]; then + rm -rf ${prepare_dir} fi -/bin/bash ${WORKSPACE}/rpms/awips2.cave/setup/scripts/prepare_dist.sh -RC=$? -if [ ${RC} -ne 0 ]; then - echo "ERROR: setup failed." - exit 1 +mkdir ${prepare_dir} + +# First, we need to build the dependency utility. +pushd . > /dev/null 2>&1 +cd ${WORKSPACE}/awips.dependency.evaluator +if [ ! -d bin ]; then + mkdir bin fi +/awips2/ant/bin/ant -f build.xml -Dbaseline.dir=${WORKSPACE} \ + -Declipse.dir=${UFRAME_ECLIPSE} -Ddest.dir=${prepare_dir} +if [ $? -ne 0 ]; then + exit 1 +fi + +cd ${prepare_dir} +# Next, stage the plugins and determine what needs to be built. +# In another scenario that jar utility could be ran again with only the subset of features +# that need to be built prior to the repository build. +/awips2/java/bin/java -jar -DbaseLocation=${UFRAME_ECLIPSE} \ + -DbuildDirectory=${pde_build_dir} -DstagingDirectory=${WORKSPACE} -DbuildFeatures=* \ + -DexcludeFeatures=com.raytheon.viz.feature.awips.developer,com.raytheon.uf.viz.feature.alertviz \ + -DbuildProduct=${awips_product} AwipsDependencyEvaluator.jar +if [ $? -ne 0 ]; then + exit 1 +fi + +_pde_launcher_jar=${UFRAME_ECLIPSE}/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar +_pde_product_xml=${UFRAME_ECLIPSE}/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/productBuild/productBuild.xml + +# Complete the CAVE RCP build. +/awips2/java/bin/java -jar ${_pde_launcher_jar} -application org.eclipse.ant.core.antRunner \ + -buildfile ${_pde_product_xml} -DbaseLocation=${UFRAME_ECLIPSE} \ + -Dbuilder=${pde_base_dir} -DbuildDirectory=${pde_build_dir} \ + -Dbase=${pde_base_dir} -Dproduct=${WORKSPACE}/${awips_product} +if [ $? -ne 0 ]; then + exit 1 +fi +# Copy the CAVE binary to the location expected by the RPM build +cp ${pde_build_dir}/I.CAVE/CAVE-linux.gtk.x86_64.zip ${WORKSPACE}/rpms/awips2.cave/setup/dist/ + +# Prepare for the CAVE repository build. Need to create more resuse for a single build +# properties file so that it can be used for both product and feature builds. +pde_build_dir=${pde_base_dir}/p2 +pde_base_dir=${pde_base_dir}/p2 +/awips2/java/bin/java -jar -DbaseLocation=${UFRAME_ECLIPSE} \ + -DbuildDirectory=${pde_build_dir} -DstagingDirectory=${WORKSPACE} -DbuildFeatures=* \ + -DexcludeFeatures=com.raytheon.viz.feature.awips.developer,com.raytheon.uf.viz.feature.alertviz \ + -DoutputFile=${prepare_dir}/repositoriesToBuild.txt \ + AwipsDependencyEvaluator.jar +if [ $? -ne 0 ]; then + exit 1 +fi + +_pde_build_xml=${UFRAME_ECLIPSE}/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/build.xml +repo_dist_dir=${pde_build_dir}/dist + +mkdir -p ${pde_base_dir} +repo_dist_dir=${pde_build_dir}/dist +p2_repo_dir=${pde_build_dir}/repository +if [ -d ${REPO_DEST} ]; then + rm -rf ${REPO_DEST} +fi +mkdir -p ${REPO_DEST} + +cp -v ${build_project_dir}/build.properties.p2 ${pde_base_dir}/build.properties +for feature in `cat ${prepare_dir}/repositoriesToBuild.txt`; do +/awips2/java/bin/java -jar ${_pde_launcher_jar} -application org.eclipse.ant.core.antRunner \ + -buildfile ${_pde_build_xml} -DbaseLocation=${UFRAME_ECLIPSE} \ + -Dbuilder=${pde_base_dir} -DbuildDirectory=${pde_build_dir} \ + -DtopLevelElementType=feature \ + -Dbase=${pde_base_dir} -DtopLevelElementId=${feature} \ + -Dconfigs=linux,gtk,x86_64 + if [ $? -ne 0 ]; then + exit 1 + fi + + pushd . > /dev/null 2>&1 + # zip the built repository. + cd ${p2_repo_dir} + zip -r ${REPO_DEST}/${feature}.zip * + if [ $? -ne 0 ]; then + exit 1 + fi + popd > /dev/null 2>&1 + + # cleanup the repository contents + rm -rf ${p2_repo_dir}/* + if [ $? -ne 0 ]; then + exit 1 + fi +done + +popd > /dev/null 2>&1 # Arguments # ${1} == The Directory With The Specs File And Possibly Other Custom @@ -134,108 +226,9 @@ function buildRPM() fi } -function buildFeatureRPMs() -{ - local CONST_COMPONENT_SPECS="Installer.cave-feature/component.spec" - local CONST_SETUP_DIR="Installer.cave-feature/feature.setup" - local CONST_SETUP_DIR_FULL="${WORKSPACE}/rpms/awips2.cave/${CONST_SETUP_DIR}" - local CONST_FEATURE_DIR="${WORKSPACE}/build/cave/p2/features" - local CONST_FEATURES_TXT="${WORKSPACE}/build/cave/p2/dist/features.txt" - - if [ ! -f ${CONST_FEATURES_TXT} ]; then - echo "ERROR: Unable to find the list of features - ${CONST_FEATURES_TXT}." - exit 1 - fi - - local PROCESS_FEATURE_JAR="${WORKSPACE}/build/tools/ProcessFeature.jar" - - for feature in `cat ${CONST_FEATURES_TXT}`; - do - if [ "${feature}" = "com.raytheon.uf.common.base.feature" ]; then - continue - fi - - echo "feature = ${feature}" - if [ "${feature}" = "com.raytheon.uf.viz.cots.feature" ] || - [ "${feature}" = "com.raytheon.uf.viz.base.feature" ] || - [ "${feature}" = "com.raytheon.uf.viz.localization.perspective.feature" ] || - [ "${feature}" = "com.raytheon.uf.viz.archive.feature" ] || - [ "${feature}" = "com.raytheon.viz.satellite.feature" ] || - [ "${feature}" = "com.raytheon.uf.viz.nwsauth.feature" ]; then - - _component_name="" - _downstream_requires="awips2-common-base" - if [ "${feature}" = "com.raytheon.uf.viz.cots.feature" ]; then - _component_name="awips2-cave-viz-cots" - fi - if [ "${feature}" = "com.raytheon.uf.viz.base.feature" ]; then - _component_name="awips2-cave-viz-base" - fi - if [ "${feature}" = "com.raytheon.uf.viz.localization.perspective.feature" ]; then - _component_name="awips2-cave-viz-localization-perspective" - _downstream_requires="awips2-common-base awips2-cave-viz-base" - fi - if [ "${feature}" = "com.raytheon.uf.viz.archive.feature" ]; then - _component_name="awips2-cave-viz-archive" - _downstream_requires="awips2-common-base awips2-cave-viz-base" - fi - if [ "${feature}" = "com.raytheon.viz.satellite.feature" ]; then - _component_name="awips2-cave-viz-satellite" - _downstream_requires="awips2-common-base awips2-cave-viz-base awips2-cave-viz-core" - fi - if [ "${feature}" = "com.raytheon.uf.viz.nwsauth.feature" ]; then - _component_name="awips2-cave-viz-nwsauth" - _downstream_requires="awips2-common-base awips2-cave-viz-base" - fi - - echo 'export COMPONENT_NAME="${_component_name}"' > \ - ${CONST_SETUP_DIR}/feature.setup - echo 'export COMPONENT_FEATURE="${feature}"' >> \ - ${CONST_SETUP_DIR}/feature.setup - echo 'export COMPONENT_DESC="${_component_name}"' >> \ - ${CONST_SETUP_DIR}/feature.setup - echo 'export DOWNSTREAM_REQUIRES="${_downstream_requires}"' >> \ - ${CONST_SETUP_DIR}/feature.setup - else - java -jar ${PROCESS_FEATURE_JAR} \ - -p \ - ${CONST_FEATURE_DIR}/${feature} \ - ${CONST_SETUP_DIR_FULL} - if [ $? -ne 0 ]; then - echo "ERROR: ${PROCESS_FEATURE_JAR} Failed." - exit 1 - fi - fi - - if [ ! -f ${CONST_SETUP_DIR}/feature.setup ]; then - echo "ERROR: ${CONST_SETUP_DIR}/feature.setup Does Not Exist." - exit 1 - fi - source ${CONST_SETUP_DIR}/feature.setup - - echo "Building Feature ... ${feature}" - rpmbuild -ba --target=${TARGET_BUILD_ARCH} \ - --define '_topdir %(echo ${AWIPSII_TOP_DIR})' \ - --define '_component_name %(echo ${COMPONENT_NAME})' \ - --define '_component_feature %(echo ${COMPONENT_FEATURE})' \ - --define '_component_desc %(echo ${COMPONENT_DESC})' \ - --define '_downstream_requires %(echo ${DOWNSTREAM_REQUIRES})' \ - --define '_component_version %(echo ${AWIPSII_VERSION})' \ - --define '_component_release %(echo ${AWIPSII_RELEASE})' \ - --define '_baseline_workspace %(echo ${WORKSPACE})' \ - --define '_build_arch %(echo ${CAVE_BUILD_ARCH})' \ - --buildroot ${AWIPSII_BUILD_ROOT} ${CONST_COMPONENT_SPECS} - RC=$? - if [ ${RC} -ne 0 ]; then - exit 1 - fi - done -} - # Adjust Our Execution Position. cd ../ # Only Build The RPMs That May Have Changed - AWIPS II-Specific Components. buildRPM "Installer.cave" buildRPM "Installer.cave-wrapper" -buildFeatureRPMs diff --git a/rpms/awips2.cave/deploy.builder/build2.0.sh b/rpms/awips2.cave/deploy.builder/build2.0.sh deleted file mode 100644 index 8f43084985..0000000000 --- a/rpms/awips2.cave/deploy.builder/build2.0.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash - -# This is the initial version of the new script that will perform -# the CAVE PDE builds. This script will produce both the CAVE RCP -# applications for products in the baseline as well as the Eclipse -# p2 repositories for features in the baseline. -# -# Note: this script is not yet fully integrated. Another changeset is -# waiting in review that the full integration is dependent on. -VAR_WORKSPACE="workspace" -VAR_UFRAME_ECLIPSE="/opt/eclipse" - -# Initially, we will demonstrate building an RCP application for awips.product -# with all features found in the main baseline as well as p2 repositories for each -# feature. -if [ "${UFRAME_ECLIPSE}" = "" ]; then - export UFRAME_ECLIPSE="${VAR_UFRAME_ECLIPSE}" -fi - -if [ "${WORKSPACE}" = "" ]; then - export WORKSPACE="${VAR_WORKSPACE}" -fi - -build_project_dir=${WORKSPACE}/build -pde_base_dir=${build_project_dir}/cave -pde_build_dir=${pde_base_dir}/tmp -prepare_dir=${pde_base_dir}/prepare -awips_product=com.raytheon.viz.product.awips/awips.product - -if [ ! -d ${prepare_dir} ]; then - mkdir ${prepare_dir} -fi - -# First, we need to build the dependency utility. -pushd . > /dev/null 2>&1 -cd ${WORKSPACE}/awips.dependency.evaluator -/awips2/ant/bin/ant -f build.xml -Dbaseline.dir=${WORKSPACE} \ - -Declipse.dir=${UFRAME_ECLIPSE} -Ddest.dir=${prepare_dir} -if [ $? -ne 0 ]; then - exit 1 -fi - -cd ${prepare_dir} -# Next, stage the plugins and determine what needs to be built. -# In another scenario that jar utility could be ran again with only the subset of features -# that need to be built prior to the repository build. -/awips2/java/bin/java -jar -DbaseLocation=${UFRAME_ECLIPSE} \ - -DbuildDirectory=${pde_build_dir} -DstagingDirectory=${WORKSPACE} -DbuildFeatures=* \ - -DbuildProduct=${awips_product} AwipsDependencyEvaluator.jar -if [ $? -ne 0 ]; then - exit 1 -fi - -_pde_launcher_jar=${UFRAME_ECLIPSE}/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -_pde_product_xml=${UFRAME_ECLIPSE}/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/productBuild/productBuild.xml - -# Complete the CAVE RCP build. -/awips2/java/bin/java -jar ${_pde_launcher_jar} -application org.eclipse.ant.core.antRunner \ - -buildfile ${_pde_product_xml} -DbaseLocation=${UFRAME_ECLIPSE} \ - -Dbuilder=${pde_base_dir} -DbuildDirectory=${pde_build_dir} \ - -Dbase=${pde_base_dir} -DproductFile=awips.product -if [ $? -ne 0 ]; then - exit 1 -fi - -# Prepare for the CAVE repository build. Need to create more resuse for a single build -# properties file so that it can be used for both product and feature builds. -pde_build_dir=${pde_base_dir}/p2 -pde_base_dir=${pde_base_dir}/p2 -/awips2/java/bin/java -jar -DbaseLocation=${UFRAME_ECLIPSE} \ - -DbuildDirectory=${pde_build_dir} -DstagingDirectory=${WORKSPACE} -DbuildFeatures=* \ - -DoutputFile=${prepare_dir}/repositoriesToBuild.txt \ - AwipsDependencyEvaluator.jar -if [ $? -ne 0 ]; then - exit 1 -fi - -_pde_build_xml=${UFRAME_ECLIPSE}/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/build.xml - -mkdir -p ${pde_base_dir} -cp -v ${build_project_dir}/build.properties.p2 ${pde_base_dir}/build.properties -for feature in `cat ${prepare_dir}/repositoriesToBuild.txt`; do -/awips2/java/bin/java -jar ${_pde_launcher_jar} -application org.eclipse.ant.core.antRunner \ - -buildfile ${_pde_build_xml} -DbaseLocation=${UFRAME_ECLIPSE} \ - -Dbuilder=${pde_base_dir} -DbuildDirectory=${pde_build_dir} \ - -Dbase=${pde_base_dir} -DtopLevelElementId=${feature} \ - -Dconfigs=linux,gtk,x86_64 - if [ $? -ne 0 ]; then - exit 1 - fi - - # At this point, we will also store the repository that was produced in a zip archive - # for distribution. -done - -popd > /dev/null 2>&1 \ No newline at end of file diff --git a/rpms/build/x86_64/build.sh b/rpms/build/x86_64/build.sh index 33ac0d649a..367816af0f 100644 --- a/rpms/build/x86_64/build.sh +++ b/rpms/build/x86_64/build.sh @@ -443,7 +443,6 @@ fi if [ "${1}" = "-viz" ]; then buildRPM "awips2" - buildRPM "awips2-common-base" #buildRPM "awips2-python-numpy" #buildRPM "awips2-ant" #buildRPM "awips2-python-dynamicserialize" diff --git a/rpms/build/x86_64/buildEnvironment.sh b/rpms/build/x86_64/buildEnvironment.sh index f294d21205..33a3f44dd0 100644 --- a/rpms/build/x86_64/buildEnvironment.sh +++ b/rpms/build/x86_64/buildEnvironment.sh @@ -9,3 +9,4 @@ export WORKSPACE="/tmp/${USER}/baseline" export UFRAME_ECLIPSE="/opt/uframe-eclipse" export AWIPSCM_SHARE="/awipscm" export AWIPSII_BUILD_ROOT="/tmp/${USER}/awips-component" +export REPO_DEST="/tmp/${USER}/repo"