提交 a71685bd 编写于 作者: oldratlee's avatar oldratlee 🔥

shell cleanup: auto set JDKx_HOME var

上级 f0eb61cc
...@@ -7,29 +7,14 @@ export TTL_CI_TEST_MODE=true ...@@ -7,29 +7,14 @@ export TTL_CI_TEST_MODE=true
source ./prepare-jdk.sh source ./prepare-jdk.sh
source ./common_build.sh "${1:-}" source ./common_build.sh "${1:-}"
# default jdk 11, do build and test # default jdk 11, do build and test
switch_to_jdk 11 switch_to_jdk 11
headInfo "test with Java 11: $JAVA_HOME" headInfo "test with Java 11: $JAVA_HOME"
# run junit test in run-agent-test.sh # run junit test in run-agent-test.sh
runCmd ./scripts/run-agent-test.sh "${1:-}" runCmd ./scripts/run-agent-test.sh "${1:-}"
java_home_var_names=(
JDK6_HOME
JDK7_HOME
JDK8_HOME
JDK9_HOME
JDK10_HOME
JDK12_HOME
JDK13_HOME
JDK14_HOME
JDK15_HOME
)
# test multi-version java home env # test multi-version java home env
# shellcheck disable=SC2154
for jhm_var_name in "${java_home_var_names[@]}"; do for jhm_var_name in "${java_home_var_names[@]}"; do
export JAVA_HOME="${!jhm_var_name}" export JAVA_HOME="${!jhm_var_name}"
......
...@@ -34,33 +34,40 @@ jdks_install_by_sdkman=( ...@@ -34,33 +34,40 @@ jdks_install_by_sdkman=(
14.0.1-zulu 14.0.1-zulu
15.ea.20-open 15.ea.20-open
) )
java_home_var_names=()
export JDK6_HOME="${JDK6_HOME:-/usr/lib/jvm/java-6-openjdk-amd64}" exportJdkVarAndInstall() {
export JDK7_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[0]}" JDK6_HOME="${JDK6_HOME:-/usr/lib/jvm/java-6-openjdk-amd64}"
export JDK8_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[1]}" java_home_var_names=(JDK6_HOME)
export JDK9_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[2]}"
export JDK10_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[3]}"
export JDK11_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[4]}"
export JDK12_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[5]}"
export JDK13_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[6]}"
export JDK14_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[7]}"
export JDK15_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[8]}"
local i
for (( i = 0; i < ${#jdks_install_by_sdkman[@]}; i++ )); do
local jdkVersion=$((i + 7))
local jdkNameOfSdkman="${jdks_install_by_sdkman[i]}"
local jdkHomePath="$SDKMAN_CANDIDATES_DIR/java/$jdkNameOfSdkman"
switch_to_jdk() { # export JDK7_HOME ~ JDK1x_HOME
local javaHome="JDK${1}_HOME" local jdkHomeVarName="JDK${jdkVersion}_HOME"
export JAVA_HOME=${!javaHome} eval "$jdkHomeVarName='${jdkHomePath}'"
java_home_var_names=("${java_home_var_names[@]}" "$jdkHomeVarName")
[ -n "$JAVA_HOME" ] || die "jdk $1 env not found: $javaHome" # install jdk by sdkman
[ -e "$JAVA_HOME" ] || die "jdk $1 not existed: $JAVA_HOME" if [ ! -d "$jdkHomePath" ]; then
[ -d "$JAVA_HOME" ] || die "jdk $1 is not directory: $JAVA_HOME" runCmd sdk install java "$jdkNameOfSdkman" || die "fail to install jdk $jdkNameOfSdkman by sdkman"
fi
done
echo "prepare jdks: ${java_home_var_names[*]}"
ls -la "$SDKMAN_CANDIDATES_DIR/java/"
} }
exportJdkVarAndInstall
for _jdk__ in "${jdks_install_by_sdkman[@]}"; do switch_to_jdk() {
if [ ! -d "$SDKMAN_CANDIDATES_DIR/java/$_jdk__" ]; then local javaHomeVarName="JDK${1}_HOME"
runCmd sdk install java "$_jdk__" || die "fail to install jdk $_jdk__" export JAVA_HOME="${!javaHomeVarName}"
fi
done
ls -la "$SDKMAN_CANDIDATES_DIR/java/" [ -n "$JAVA_HOME" ] || die "jdk $1 env not found: $javaHomeVarName"
[ -e "$JAVA_HOME" ] || die "jdk $1 not existed: $JAVA_HOME"
[ -d "$JAVA_HOME" ] || die "jdk $1 is not directory: $JAVA_HOME"
}
...@@ -8,13 +8,13 @@ source ./common_build.sh ...@@ -8,13 +8,13 @@ source ./common_build.sh
# do heavy operation first, descrease mvn operation count. # do heavy operation first, descrease mvn operation count.
runCmd mvnBuildJar runCmd mvnBuildJar
blueEcho "Run unit test under ttl agent, include check for ExecutorService, ForkJoinPool" blueEcho 'Run unit test under ttl agent, include check for ExecutorService, ForkJoinPool'
runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \ runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT" \ "-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT" \
-Drun-ttl-test-under-agent=true \ -Drun-ttl-test-under-agent=true \
org.junit.runner.JUnitCore $(getJUnitTestCases) org.junit.runner.JUnitCore $(getJUnitTestCases)
blueEcho "Run unit test under ttl agent, and turn on the disable inheritable for thread pool enhancement" blueEcho 'Run unit test under ttl agent, and turn on the disable inheritable for thread pool enhancement'
runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \ runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT,ttl.agent.disable.inheritable.for.thread.pool:true" \ "-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT,ttl.agent.disable.inheritable.for.thread.pool:true" \
-Drun-ttl-test-under-agent=true \ -Drun-ttl-test-under-agent=true \
...@@ -26,7 +26,7 @@ runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \ ...@@ -26,7 +26,7 @@ runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT" \ "-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT" \
com.alibaba.ttl.threadpool.agent.check.timer.TimerAgentCheck com.alibaba.ttl.threadpool.agent.check.timer.TimerAgentCheck
blueEcho "Run agent check for Timer/TimerTask, explicit "ttl.agent.enable.timer.task"" blueEcho 'Run agent check for Timer/TimerTask, explicit "ttl.agent.enable.timer.task"'
runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \ runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT,ttl.agent.enable.timer.task:true" \ "-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT,ttl.agent.enable.timer.task:true" \
com.alibaba.ttl.threadpool.agent.check.timer.TimerAgentCheck com.alibaba.ttl.threadpool.agent.check.timer.TimerAgentCheck
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册