aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap.sh
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2017-05-18 11:06:10 +0200
committerArne H Juul <arnej@yahoo-inc.com>2017-05-18 11:06:10 +0200
commit8297bd5165ddc859c63dbf6952ae0be78408fd6a (patch)
treef4dbd8c5c46ab9efe587773c721a1f7af894bb77 /bootstrap.sh
parenta4e2d828ce9a57422b07c0df908457504bc85935 (diff)
even simpler "java" mode
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-xbootstrap.sh25
1 files changed, 9 insertions, 16 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 8e197665708..cc7c9d29327 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -12,12 +12,11 @@ elif [ "$1" = "full" ]; then
# Build all java modules required by C++ testing
MODE=full
elif [ "$1" = "java" ]; then
- # Build minimal set of java modules, then run mvn install with arguments $2,
- # $3, etc.
+ # Build only plugins
MODE=java
elif [ "$1" = "default" ]; then
MODE=default
-elif [ "$1" = "-h" -o "$1" = "--help" ]; then
+elif [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
usage
exit 0
else
@@ -36,31 +35,25 @@ $top/dist/getversion.pl -M $top > $top/dist/vtag.map
# NOTES ON BUILDING JAVA MODULES
#
-# When building a random module like orchestrator, mvn lists 2 plugins as
-# prerequisites in the Reactor summary: bundle-plugin and config-class-plugin.
-#
-# 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.
+# mvn is unable to resolve references to a plugin, if the same mvn
+# program builds the plugin in the same reactor build.
#
# Therefore, we need to manually build all plugins first.
#
-# 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'.
+# The 'java' mode only builds the plugins.
+# The 'default' mode also builds some modules needed by C++ code.
+# The 'full' mode also builds modules needed by C++ tests.
# must install parent pom first:
-mvn_install -N
+mvn_install -N || exit 1
# and build plugins first:
-mvn_install -f maven-plugins
+mvn_install -f maven-plugins || exit 1
# now everything else should just work with normal maven dependency resolution:
case "$MODE" in
java)
- shift
- mvn_install -am "$@"
;;
full)
mvn_install -am -pl filedistributionmanager,jrt,linguistics,messagebus