11#! /bin/bash
22
3+ # Auto-detect isolated .m2 in worktree
4+ SCRIPT_DIR=" $( dirname " $( readlink -f " $0 " ) " ) "
5+ if [ -d " $SCRIPT_DIR /.m2/repository" ]; then
6+ MVN_LOCAL=" -Dmaven.repo.local=$SCRIPT_DIR /.m2/repository"
7+ echo " [runMavenProfile] Using isolated .m2: $SCRIPT_DIR /.m2/repository"
8+ else
9+ MVN_LOCAL=" "
10+ fi
11+
312usage () {
413 echo " Command line tool of zstack project
514
@@ -65,7 +74,7 @@ Options:
6574"
6675}
6776
68- MVNTest=" mvn test -Djacoco.skip=true"
77+ MVNTest=" mvn test -Djacoco.skip=true $MVN_LOCAL "
6978
7079py () {
7180 if [ -d premium/test-premium ]; then
@@ -111,7 +120,7 @@ openapi() {
111120 fi
112121
113122 cd tool/doclet
114- mvn -Dmaven.test.skip=true package
123+ mvn -Dmaven.test.skip=true package $MVN_LOCAL
115124 cd -
116125
117126 javadoc -private -doclet org.zstack.tool.doclet.JsonDocLet -docletpath tool/doclet/target/doclet-* -jar-with-dependencies.jar $( find -name * .java)
@@ -172,7 +181,7 @@ mdpremium() {
172181
173182errorcode () {
174183 cd test
175- mvn test -Dtest=TestGenerateErrorCodeDoc
184+ mvn test -Dtest=TestGenerateErrorCodeDoc $MVN_LOCAL
176185 cd - > /dev/null
177186}
178187
@@ -205,7 +214,7 @@ triggerexpression() {
205214 fi
206215
207216 cd premium/mevoco
208- mvn -P trigger-expression generate-sources
217+ mvn -P trigger-expression generate-sources $MVN_LOCAL
209218 mkdir -p src/main/java/org/zstack/monitoring/trigger/expression/antlr4
210219 yes | cp target/generated-sources/antlr4/TriggerExpression* src/main/java/org/zstack/monitoring/trigger/expression/antlr4
211220 rm -f target/generated-sources/antlr4/TriggerExpression*
@@ -214,14 +223,14 @@ triggerexpression() {
214223
215224zql () {
216225 cd search
217- mvn -P zql generate-sources
226+ mvn -P zql generate-sources $MVN_LOCAL
218227 if [ $? -ne 0 ]; then
219228 exit 1
220229 fi
221230 mkdir -p src/main/java/org/zstack/zql/antlr4/
222231 yes | cp target/generated-sources/antlr4/* src/main/java/org/zstack/zql/antlr4/
223232 rm -f target/generated-sources/antlr4/*
224- mvn -Dmaven.test.skip=true clean install
233+ mvn -Dmaven.test.skip=true clean install $MVN_LOCAL
225234 cd - > /dev/null
226235}
227236
@@ -232,7 +241,7 @@ cloudwatchfunction() {
232241 fi
233242
234243 cd premium/zwatch
235- mvn -P function generate-sources
244+ mvn -P function generate-sources $MVN_LOCAL
236245 mkdir -p src/main/java/org/zstack/zwatch/api/antlr4/
237246 yes | cp target/generated-sources/antlr4/MetricFunction* src/main/java/org/zstack/zwatch/api/antlr4/
238247 rm -f target/generated-sources/antlr4/MetricFunction*
@@ -246,7 +255,7 @@ zwatchzql() {
246255 fi
247256
248257 cd premium/zwatch
249- mvn -P function generate-sources
258+ mvn -P function generate-sources $MVN_LOCAL
250259 mkdir -p src/main/java/org/zstack/zwatch/returnwith/antlr4/
251260 yes | cp target/generated-sources/antlr4/ReturnWith* src/main/java/org/zstack/zwatch/returnwith/antlr4/
252261 rm -f target/generated-sources/antlr4/ReturnWith*
@@ -499,7 +508,7 @@ clear_git_config() {
499508
500509run_profile () {
501510 if test x$1 = x' premium' ; then
502- mvn -Dmaven.test.skip=true -P premium clean install
511+ mvn -Dmaven.test.skip=true -P premium clean install $MVN_LOCAL
503512 elif test x$1 = x' md' ; then
504513 md
505514 elif test x$1 = x' sdk' ; then
@@ -549,7 +558,7 @@ run_profile() {
549558 elif test x$1 = x' gosdk' ; then
550559 gosdk
551560 else
552- mvn -pl build -P $1 exec:exec -D$1
561+ mvn -pl build -P $1 exec:exec -D$1 $MVN_LOCAL
553562 fi
554563}
555564
0 commit comments