even simpler "java" mode
@@ -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
