@@ -19,27 +19,46 @@ readonly ROOT_PROJECT_DIR="$(readlink -f "$ROOT_SCRIPTS_DIR/..")"
1919readonly ROOT_PROJECT_VERSION=$( grep ' <version>.*</version>' " $ROOT_PROJECT_DIR /pom.xml" | awk -F' </?version>' ' NR==1{print $2}' )
2020readonly ROOT_PROJECT_AID=$( grep ' <artifactId>.*</artifactId>' " $ROOT_PROJECT_DIR /pom.xml" | awk -F' </?artifactId>' ' NR==1{print $2}' )
2121
22+ # ################################################################################
23+ # java operation functions
24+ # ################################################################################
25+
26+ __getJavaVersion () {
27+ " $JAVA_HOME /bin/java" -version 2>&1 | awk -F\" ' / version "/{print $2}'
28+ }
29+
2230# set env variable ENABLE_JAVA_RUN_DEBUG to enable java debug mode
23- readonly -a JAVA_CMD=(
24- " $JAVA_HOME /bin/java" -Xmx128m -Xms128m -server -ea -Duser.language=en -Duser.country=US
25- ${ENABLE_JAVA_RUN_VERBOSE_CLASS+ -verbose: class }
26- ${ENABLE_JAVA_RUN_DEBUG+ -Xdebug -Xrunjdwp: transport=dt_socket,server=y,suspend=y,address=5005 }
27- )
2831
29- readonly -a MVN_CMD=(
30- " $ROOT_PROJECT_DIR /mvnw" -V --no-transfer-progress
31- )
32+ JAVA_CMD () {
33+ local additionalOptionsForJava11Plus
34+ versionGreatEqThan $( __getJavaVersion) 12 && additionalOptionsForJava11Plus=(
35+ --add-opens java.base/java.net=ALL-UNNAMED
36+ --add-opens java.base/sun.net=ALL-UNNAMED
37+ --add-opens java.base/sun.net.util=ALL-UNNAMED
38+ )
39+
40+ logAndRun " $JAVA_HOME /bin/java" -Xmx128m -Xms128m -server -ea -Duser.language=en -Duser.country=US \
41+ ${ENABLE_JAVA_RUN_VERBOSE_CLASS+ -verbose: class} \
42+ ${ENABLE_JAVA_RUN_DEBUG+ -Xdebug -Xrunjdwp: transport=dt_socket,server=y,suspend=y,address=5005} \
43+ ${additionalOptionsForJava11Plus[@]: +" ${additionalOptionsForJava11Plus[@]} " } \
44+ " $@ "
45+ }
3246
3347# ################################################################################
3448# maven operation functions
3549# ################################################################################
3650
51+
52+ MVN_CMD () {
53+ logAndRun " $ROOT_PROJECT_DIR /mvnw" -V --no-transfer-progress " $@ "
54+ }
55+
3756mvnClean () {
3857 checkNecessityForCallerFunction || return 0
3958
4059 (
4160 cd " $ROOT_PROJECT_DIR "
42- runCmd " ${ MVN_CMD[@]} " clean || die " fail to mvn clean!"
61+ MVN_CMD clean || die " fail to mvn clean!"
4362 )
4463}
4564
@@ -54,9 +73,9 @@ mvnBuildJar() {
5473 #
5574 # De-activate a maven profile from command line
5675 # https://stackoverflow.com/questions/25201430
57- runCmd " ${ MVN_CMD[@]} " install -DperformRelease -P ' !gen-sign' || die " fail to build jar!"
76+ MVN_CMD install -DperformRelease -P ' !gen-sign' || die " fail to build jar!"
5877 else
59- runCmd " ${ MVN_CMD[@]} " install -Dmaven.test.skip=true || die " fail to build jar!"
78+ MVN_CMD install -Dmaven.test.skip=true || die " fail to build jar!"
6079 fi
6180 )
6281}
@@ -66,7 +85,7 @@ mvnCompileTest() {
6685
6786 (
6887 cd " $ROOT_PROJECT_DIR "
69- runCmd " ${ MVN_CMD[@]} " test-compile || die " fail to compile test!"
88+ MVN_CMD test-compile || die " fail to compile test!"
7089 )
7190}
7291
@@ -76,6 +95,6 @@ mvnCopyDependencies() {
7695 (
7796 cd " $ROOT_PROJECT_DIR "
7897 # https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html
79- runCmd " ${ MVN_CMD[@]} " dependency:copy-dependencies -DincludeScope=test -DexcludeArtifactIds=jsr305,spotbugs-annotations || die " fail to mvn copy-dependencies!"
98+ MVN_CMD dependency:copy-dependencies -DincludeScope=test -DexcludeArtifactIds=jsr305,spotbugs-annotations || die " fail to mvn copy-dependencies!"
8099 )
81100}
0 commit comments