summaryrefslogtreecommitdiffstats
path: root/bootstrap.sh
diff options
context:
space:
mode:
authorEirik Nygaard <eirik@yahoo-inc.com>2016-06-22 13:23:05 +0200
committerEirik Nygaard <eirik@yahoo-inc.com>2016-06-22 13:24:09 +0200
commitf7b80b4fce046213638319fba40537bde171269e (patch)
tree2935c016b199a98640160c81e70c8b42378a52d7 /bootstrap.sh
parent6e89d1bd63edc795fe9d3283e90beb8b676ff90f (diff)
Optimize bootstrap process and add full mode
Full mode will build all java modules required to run all C++ tests VESPA-3805
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-xbootstrap.sh27
1 files changed, 21 insertions, 6 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 60145b39077..66b399fac13 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,6 +1,16 @@
#!/bin/bash -e
# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+FULL=false
+
+if [ "$1" = "full" ]; then
+ FULL=true
+fi
+
+mvn_install() {
+ mvn install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true $@
+}
+
# Generate vtag map
top=$(dirname $0)
$top/dist/getversion.pl -M $top > $top/dist/vtag.map
@@ -9,15 +19,20 @@ $top/dist/getversion.pl -M $top > $top/dist/vtag.map
# Vespa java dependency graph.
MODULES="
parent
- configgen
annotations
scalalib
bundle-plugin
- config-class-plugin
- yolean
- vespajlib
- filedistributionmanager"
+ "
for module in $MODULES; do
- (cd $module && mvn install -DskipTests -Dmaven.javadoc.skip=true)
+ (cd $module && mvn_install)
done
+
+mvn_install -am -pl config-class-plugin -rf configgen
+if $FULL; then
+ # Build all java modules required by C++ testing
+ mvn_install -am -pl filedistributionmanager,jrt,linguistics,messagebus -rf yolean
+else
+ # Build minimal set of java modules required to run cmake
+ mvn_install -am -pl filedistributionmanager -rf yolean
+fi