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

shell cleanup: auto set JDKx_HOME var

上级 f0eb61cc
......@@ -7,29 +7,14 @@ export TTL_CI_TEST_MODE=true
source ./prepare-jdk.sh
source ./common_build.sh "${1:-}"
# default jdk 11, do build and test
switch_to_jdk 11
headInfo "test with Java 11: $JAVA_HOME"
# run junit test in run-agent-test.sh
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
# shellcheck disable=SC2154
for jhm_var_name in "${java_home_var_names[@]}"; do
export JAVA_HOME="${!jhm_var_name}"
......
......@@ -34,33 +34,40 @@ jdks_install_by_sdkman=(
14.0.1-zulu
15.ea.20-open
)
java_home_var_names=()
export JDK6_HOME="${JDK6_HOME:-/usr/lib/jvm/java-6-openjdk-amd64}"
export JDK7_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[0]}"
export JDK8_HOME="$SDKMAN_CANDIDATES_DIR/java/${jdks_install_by_sdkman[1]}"
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]}"
exportJdkVarAndInstall() {
JDK6_HOME="${JDK6_HOME:-/usr/lib/jvm/java-6-openjdk-amd64}"
java_home_var_names=(JDK6_HOME)
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() {
local javaHome="JDK${1}_HOME"
export JAVA_HOME=${!javaHome}
# export JDK7_HOME ~ JDK1x_HOME
local jdkHomeVarName="JDK${jdkVersion}_HOME"
eval "$jdkHomeVarName='${jdkHomePath}'"
java_home_var_names=("${java_home_var_names[@]}" "$jdkHomeVarName")
[ -n "$JAVA_HOME" ] || die "jdk $1 env not found: $javaHome"
[ -e "$JAVA_HOME" ] || die "jdk $1 not existed: $JAVA_HOME"
[ -d "$JAVA_HOME" ] || die "jdk $1 is not directory: $JAVA_HOME"
# install jdk by sdkman
if [ ! -d "$jdkHomePath" ]; then
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
if [ ! -d "$SDKMAN_CANDIDATES_DIR/java/$_jdk__" ]; then
runCmd sdk install java "$_jdk__" || die "fail to install jdk $_jdk__"
fi
done
switch_to_jdk() {
local javaHomeVarName="JDK${1}_HOME"
export JAVA_HOME="${!javaHomeVarName}"
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
# do heavy operation first, descrease mvn operation count.
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)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT" \
-Drun-ttl-test-under-agent=true \
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)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT,ttl.agent.disable.inheritable.for.thread.pool:true" \
-Drun-ttl-test-under-agent=true \
......@@ -26,7 +26,7 @@ runCmd "${JAVA_CMD[@]}" -cp "$(getClasspathWithoutTtlJar)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT" \
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)" \
"-javaagent:$(getTtlJarPath)=ttl.agent.logger:STDOUT,ttl.agent.enable.timer.task:true" \
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.
先完成此消息的编辑!
想要评论请 注册