From ab001d77c8bc06eb03ce7d9c8fc2313f75197113 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 24 Sep 2018 16:35:07 +0800 Subject: [PATCH] add ci for jdk 12 and update realated docs --- .travis.yml | 8 ++++++-- README-EN.md | 2 +- README.md | 4 ++-- scripts/integration-test.sh | 12 +++++++++++- scripts/travis-prepare.sh | 15 +++++++++++---- 5 files changed, 31 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index a94457e8..3e4efe11 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,7 +37,7 @@ install: script: # default oracle jdk 10, do build and test - switch_to_oracle_jdk10 - - ./mvnw -V clean install --batch-mode + - ./mvnw -V clean install - ./scripts/run-agent-test.sh # open jdk 6 - jdk_switcher use openjdk6 @@ -71,6 +71,10 @@ script: - switch_to_open_jdk11 - ./scripts/run-junit.sh skipClean - ./scripts/run-agent-test.sh skipClean + # open jdk 12 + - switch_to_open_jdk12 + - ./scripts/run-junit.sh skipClean + - ./scripts/run-agent-test.sh skipClean # codecov - jdk_switcher use oraclejdk8 - ./mvnw clean -V @@ -78,7 +82,7 @@ script: after_success: - codecov - - git status + - git status --ignored # Caching Dependencies and Directories # https://docs.travis-ci.com/user/caching/ diff --git a/README-EN.md b/README-EN.md index 8976c869..9a412b30 100644 --- a/README-EN.md +++ b/README-EN.md @@ -46,7 +46,7 @@ 👉 The missing std Java™ lib(simple & 0-dependency) for framework/middleware, transmitting ThreadLocal value between threads even using thread pooling components. -Support `Java` 11/10/9/8/7/6. +Support `Java` 12/11/10/9/8/7/6. Class [`InheritableThreadLocal`](https://docs.oracle.com/javase/10/docs/api/java/lang/InheritableThreadLocal.html) in `JDK` can transmit value to child thread from parent thread. diff --git a/README.md b/README.md index 981ba5a1..7020c7b6 100644 --- a/README.md +++ b/README.md @@ -48,13 +48,13 @@ # 🔧 功能 👉 在使用线程池等会池化复用线程的组件情况下,提供`ThreadLocal`值的传递功能,解决异步执行时上下文传递的问题。 -一个`Java`标准库本应为框架/中间件设施开发提供的标配能力,本库功能聚焦 & 0依赖,支持`Java` 11/10/9/8/7/6。 +一个`Java`标准库本应为框架/中间件设施开发提供的标配能力,本库功能聚焦 & 0依赖,支持`Java` 12/11/10/9/8/7/6。 `JDK`的[`InheritableThreadLocal`](https://docs.oracle.com/javase/10/docs/api/java/lang/InheritableThreadLocal.html)类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的`ThreadLocal`值传递已经没有意义,应用需要的实际上是把 **任务提交给线程池时**的`ThreadLocal`值传递到 **任务执行时**。 本库提供的[`TransmittableThreadLocal`](src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java)类继承并加强[`InheritableThreadLocal`](https://docs.oracle.com/javase/10/docs/api/java/lang/InheritableThreadLocal.html)类,解决上述的问题,使用详见[User Guide](#-user-guide)。 -整个库包含`TTL`核心功能、线程池修饰及`Agent`支持(`ExecutorService`/`ForkJoinPool`),只有不到 **_800 `SLOC`代码行_**,非常精小。 +整个库包含`TTL`核心功能(核心用户`API`与框架/中间件的集成`API`)、线程池修饰(`ExecutorService`/`ForkJoinPool`/`TimerTask`)及其`Java Agent`支持,只有不到 **_1000 `SLOC`代码行_**,非常精小。 欢迎 👏 diff --git a/scripts/integration-test.sh b/scripts/integration-test.sh index 13392b42..714c4d29 100755 --- a/scripts/integration-test.sh +++ b/scripts/integration-test.sh @@ -21,7 +21,7 @@ else fi headInfo "test with Java 10" -runCmd "${MVN_CMD[@]}" clean install --batch-mode +runCmd "${MVN_CMD[@]}" clean install runCmd ./scripts/run-agent-test.sh # Java 6 @@ -73,3 +73,13 @@ if [ -n "$JAVA11_HOME" ]; then else headInfo "skip Java 11 test" fi + +# Java 12 +if [ -n "$JAVA12_HOME" ]; then + headInfo "test with Java 12" + export JAVA_HOME="${JAVA12_HOME}" + runCmd ./scripts/run-junit.sh skipClean + runCmd ./scripts/run-agent-test.sh skipClean +else + headInfo "skip Java 12 test" +fi diff --git a/scripts/travis-prepare.sh b/scripts/travis-prepare.sh index 7e87e992..7a3dc4f6 100644 --- a/scripts/travis-prepare.sh +++ b/scripts/travis-prepare.sh @@ -10,27 +10,34 @@ fi switch_to_open_jdk9() { export JAVA_HOME=$HOME/.jdk/openjdk9 if [ ! -d "$JAVA_HOME" ]; then - "$install_jdk_bin" --feature 9 --license GPL --target $JAVA_HOME + "$install_jdk_bin" --feature 9 --license GPL --target "$JAVA_HOME" fi } switch_to_oracle_jdk10() { export JAVA_HOME=$HOME/.jdk/oraclejdk10 if [ ! -d "$JAVA_HOME" ]; then - "$install_jdk_bin" --feature 10 --license BCL --target $JAVA_HOME + "$install_jdk_bin" --feature 10 --license BCL --target "$JAVA_HOME" fi } switch_to_open_jdk10() { export JAVA_HOME=$HOME/.jdk/openjdk10 if [ ! -d "$JAVA_HOME" ]; then - "$install_jdk_bin" --feature 10 --license GPL --target $JAVA_HOME + "$install_jdk_bin" --feature 10 --license GPL --target "$JAVA_HOME" fi } switch_to_open_jdk11() { export JAVA_HOME=$HOME/.jdk/openjdk11 if [ ! -d "$JAVA_HOME" ]; then - "$install_jdk_bin" --feature 11 --license GPL --target $JAVA_HOME + "$install_jdk_bin" --feature 11 --license GPL --target "$JAVA_HOME" + fi +} + +switch_to_open_jdk12() { + export JAVA_HOME=$HOME/.jdk/openjdk12 + if [ ! -d "$JAVA_HOME" ]; then + "$install_jdk_bin" --feature 12 --license GPL --target "$JAVA_HOME" fi } -- GitLab