From 4d98a026341493e06a2118afc4ec6091a676e7dd Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Tue, 16 May 2017 15:43:41 +0200 Subject: track changes to pom files --- bootstrap.sh | 40 +++++++++++----------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index 18e5e617632..f2c6c02d3e4 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -12,7 +12,7 @@ elif [ "$1" = "full" ]; then # Build all java modules required by C++ testing MODE=full elif [ "$1" = "java" ]; then - # Build minial set of java modules, then run mvn install with arguments $2, + # Build minmial set of java modules, then run mvn install with arguments $2, # $3, etc. MODE=java elif [ "$1" = "default" ]; then @@ -42,48 +42,30 @@ $top/dist/getversion.pl -M $top > $top/dist/vtag.map # It appears mvn is unable to resolve references to a plugin, if the same mvn # program builds the plugin, e.g. getting missing class errors. # -# Therefore, we need to manually build all plugins first, then ensure we build -# the rest of module without rebuilding the plugins (mvn's -rf). To be more -# exact, mvn displays the order of modules it will build in the Reactor summary -# - we need to build all modules up to and including all plugins in that list: -# . (i.e. parent), annotations, scalalib, bundle-plugin, yolean, vespajlib, -# configgen, and config-class-plugin. By using mvn -rf we can combine the -# building of several of these into fewer commands to save time. +# Therefore, we need to manually build all plugins first. # -# After bootstrapping, the following mvn command must use -rf to avoid building -# the plugins again: The 'java' mode runs mvn install with the correct -rf. So +# The 'java' mode runs mvn install passing any arguments. So # to bootstrap the building of the orchestrator modules and all of its # dependencies, do: 'bootstrap.sh java -pl orchestrator'. To build everything # do 'bootstrap.sh java'. -# Note: Why not just 'mvn_install -am -pl bundle-plugin'? Because on -# Screwdriver (not locally), mvn fails to resolve bundle-plugin while parsing -# pom files recursivelly. Therefore, shut off recursiveness -N until -# bundle-plugin is built. -MODULES=" - . - annotations - scalalib - bundle-plugin - " +# must install parent pom first: +mvn_install -N -for module in $MODULES; do - (cd $module && mvn_install -N) -done +# and build plugins first: +(cd maven-plugins && mvn_install) -mvn_install -am -rf configgen -pl config-class-plugin +# now everything else should just work with normal maven dependency resolution: case "$MODE" in java) - mvn_install -am -rf yolean -pl vespajlib shift - mvn_install -rf config-lib -am "$@" + mvn_install -am "$@" ;; full) - mvn_install -am -rf yolean -pl vespajlib - mvn_install -am -pl filedistributionmanager,jrt,linguistics,messagebus -rf config-lib + mvn_install -am -pl filedistributionmanager,jrt,linguistics,messagebus ;; default) - mvn_install -am -pl filedistributionmanager -rf yolean + mvn_install -am -pl filedistributionmanager ;; esac -- cgit v1.2.3