From bf0ff03206e280c2764d24c63643e3c80b19bf7f Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Mon, 14 Dec 2020 20:25:18 +0800 Subject: [PATCH] add test ci/support jdk 12 --- .github/workflows/test.yaml | 43 +++++++++++++++++++ .../arthas/common/JavaVersionUtils.java | 4 ++ .../arthas/core/util/TypeRenderUtilsTest.java | 12 +++++- pom.xml | 22 +++++++++- 4 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test.yaml diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 000000000..02e54e52e --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,43 @@ +name: JavaCI + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + java: [7, 8, 9, 10, 11 ] + steps: + - uses: actions/checkout@v2 + - name: Setup java + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + - name: Build with Maven + run: mvn clean package -P full + + build_jdk_ge_12: + runs-on: ubuntu-latest + strategy: + matrix: + java: [12, 13, 14 ] + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 8 + - name: save java8 home + run: | + export JAVA8_HOME=$JAVA_HOME && echo $JAVA8_HOME + echo "export JAVA8_HOME=$JAVA_HOME" > ~/.testenv + + - name: Setup java + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + - name: Build with Maven + run: | + source ~/.testenv + mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=$JAVA8_HOME/bin/javac -DJAVA8_HOME=$JAVA8_HOME clean package -P full \ No newline at end of file diff --git a/common/src/main/java/com/taobao/arthas/common/JavaVersionUtils.java b/common/src/main/java/com/taobao/arthas/common/JavaVersionUtils.java index 6f25861de..603b18994 100644 --- a/common/src/main/java/com/taobao/arthas/common/JavaVersionUtils.java +++ b/common/src/main/java/com/taobao/arthas/common/JavaVersionUtils.java @@ -54,4 +54,8 @@ public class JavaVersionUtils { public static boolean isGreaterThanJava8() { return JAVA_VERSION > 1.8f; } + + public static boolean isGreaterThanJava11() { + return JAVA_VERSION > 11.0f; + } } diff --git a/core/src/test/java/com/taobao/arthas/core/util/TypeRenderUtilsTest.java b/core/src/test/java/com/taobao/arthas/core/util/TypeRenderUtilsTest.java index f90f93e6e..2baa2e295 100644 --- a/core/src/test/java/com/taobao/arthas/core/util/TypeRenderUtilsTest.java +++ b/core/src/test/java/com/taobao/arthas/core/util/TypeRenderUtilsTest.java @@ -1,7 +1,10 @@ package com.taobao.arthas.core.util; +import org.assertj.core.api.Assertions; import org.junit.Test; +import com.taobao.arthas.common.JavaVersionUtils; + import java.io.Serializable; import static org.hamcrest.CoreMatchers.equalTo; @@ -26,7 +29,14 @@ public class TypeRenderUtilsTest { @Test public void testDrawInterface() { - assertThat(TypeRenderUtils.drawInterface(String.class), is(equalTo("java.io.Serializable,java.lang.Comparable,java.lang.CharSequence"))); + if (JavaVersionUtils.isGreaterThanJava11()) { + Assertions.assertThat(TypeRenderUtils.drawInterface(String.class)).isEqualTo( + "java.io.Serializable,java.lang.Comparable,java.lang.CharSequence,java.lang.constant.Constable,java.lang.constant.ConstantDesc"); + } else { + Assertions.assertThat(TypeRenderUtils.drawInterface(String.class)) + .isEqualTo("java.io.Serializable,java.lang.Comparable,java.lang.CharSequence"); + } + assertThat(TypeRenderUtils.drawInterface(TestClass.class), is(equalTo("java.io.Serializable"))); assertThat(TypeRenderUtils.drawInterface(Serializable.class), is(equalTo(""))); } diff --git a/pom.xml b/pom.xml index bd0e4610c..cf4bb7d51 100644 --- a/pom.xml +++ b/pom.xml @@ -121,6 +121,26 @@ + + + jdk12 + + [12,) + + JAVA8_HOME + + + + + com.sun + tools + 1.6.0 + system + ${JAVA8_HOME}/lib/tools.jar + + + + full @@ -462,7 +482,7 @@ org.jacoco jacoco-maven-plugin - 0.8.2 + 0.8.5 jacoco-initialize