diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0fd044979af..4eeaf85de8a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,53 +20,61 @@ jobs: runs-on: ubuntu-latest container: centos:7 steps: - - name: Checkout repository - uses: actions/checkout@v1 - name: Install environment run: | yum -y update yum -y install centos-release-scl-rh epel-release - yum -y install java-11-openjdk-devel devtoolset-9 + yum -y install devtoolset-9 echo Downloading Maven curl -L https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -o $HOME/apache-maven-3.6.3-bin.tar.gz tar xzf $HOME/apache-maven-3.6.3-bin.tar.gz -C /opt/ ln -sf /opt/apache-maven-3.6.3/bin/mvn /usr/bin/mvn + - name: Configure Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '17' + - name: Checkout repository + uses: actions/checkout@v1 - name: Build project run: | source scl_source enable devtoolset-9 || true - export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac))))) echo $JAVA_HOME mvn -version - mvn clean install -Pdev,jdk11 -B -U -e -Dlint.skip=true + mvn clean install -Pdev,jdk17 -B -U -e -Dlint.skip=true - name: Run lint checks run: | - mvn compiler:compile -Pdev,jdk11 -B -U -e + mvn compiler:compile -Pdev,jdk17 -B -U -e check-format: if: github.event_name == 'pull_request' runs-on: ubuntu-latest container: centos:7 steps: - - name: Checkout repository - uses: actions/checkout@v1 - name: Install environment run: | yum -y update yum -y install centos-release-scl-rh epel-release - yum -y install java-11-openjdk-devel devtoolset-9 + yum -y install devtoolset-9 echo Downloading Maven curl -L https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -o $HOME/apache-maven-3.6.3-bin.tar.gz tar xzf $HOME/apache-maven-3.6.3-bin.tar.gz -C /opt/ ln -sf /opt/apache-maven-3.6.3/bin/mvn /usr/bin/mvn + - name: Configure Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '17' + - name: Checkout repository + uses: actions/checkout@v1 - name: Build project run: | source scl_source enable devtoolset-9 || true - export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac))))) echo $JAVA_HOME mvn -version - mvn clean install -Pdev,jdk11 -B -U -e -Dlint.skip=true -Dmaven.test.skip=true + mvn clean install -Pdev,jdk17 -B -U -e -Dlint.skip=true -Dmaven.test.skip=true - name: Run format checks run: | - mvn spotless:check -Pdev,jdk11 -B -U -e + mvn spotless:check -Pdev,jdk17 -B -U -e prepare: runs-on: ubuntu-latest outputs: @@ -99,7 +107,7 @@ jobs: yum --disablerepo updates -y install $GLIBC yum -x "$GLIBC" -y update yum -x "$GLIBC" -y install centos-release-scl-rh epel-release - yum -x "$GLIBC" -y install java-1.8.0-openjdk-devel devtoolset-9 rh-git218 patch perl-Data-Dumper python36-devel python36-numpy python36-pip python36-six + yum -x "$GLIBC" -y install devtoolset-9 rh-git218 patch perl-Data-Dumper python36-devel python36-numpy python36-pip python36-six echo Downloading Maven curl -L https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -o $HOME/apache-maven-3.6.3-bin.tar.gz tar xzf $HOME/apache-maven-3.6.3-bin.tar.gz -C /opt/ @@ -124,6 +132,11 @@ jobs: rm -f $(find /usr/local/cuda/ -name '*.a' -and -not -name libcudart_static.a -and -not -name libcudadevrt.a) rm -rf /usr/local/cuda/doc* /usr/local/cuda/libnvvp* /usr/local/cuda/nsight* /usr/local/cuda/samples* fi + - name: Configure Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' - name: Checkout repository uses: actions/checkout@v1 - name: Build project @@ -163,6 +176,11 @@ jobs: curl -L https://github.com/bazelbuild/bazel/releases/download/3.7.2/bazel-3.7.2-installer-darwin-x86_64.sh -o bazel.sh --retry 10 bash bazel.sh brew install libomp perl + - name: Configure Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' - name: Checkout repository uses: actions/checkout@v1 - name: Build project @@ -186,7 +204,7 @@ jobs: df -h windows-x86_64: if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'CI build') - runs-on: windows-latest + runs-on: windows-2019 needs: prepare strategy: matrix: @@ -223,6 +241,11 @@ jobs: cp.exe -a cuda/include cuda/lib cuda/bin "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2/" ) echo %JAVA_HOME% + - name: Configure Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' - name: Checkout repository uses: actions/checkout@v1 - name: Build project diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 00000000000..8488a4fce61 --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,10 @@ +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \ No newline at end of file diff --git a/README.md b/README.md index 305fb1e759a..33aed938816 100644 --- a/README.md +++ b/README.md @@ -137,19 +137,19 @@ to add Sonatype OSS repository in your pom.xml, like the following ``` -## TensorFlow Version Support - -This table shows the mapping between different version of TensorFlow for Java and the core runtime libraries. - -| TensorFlow Java Version | TensorFlow Version | -| ------------- | ------------- | -| 0.2.0 | 2.3.1 | -| 0.3.0 | 2.4.1 | -| 0.3.1 | 2.4.1 | -| 0.3.2 | 2.4.1 | -| 0.3.3 | 2.4.1 | -| 0.4.0 | 2.7.0 | -| 0.5.0-SNAPSHOT | 2.7.0 | +## TensorFlow/Java Version Support + +This table shows the mapping between TensorFlow, TensorFlow Java and minimum supported Java versions. + +| TensorFlow Java Version | TensorFlow Version | Minimum Java Version | +| ------------- | ------------- | --------------- | +| 0.2.0 | 2.3.1 | 8 | +| 0.3.0 | 2.4.1 | 8 | +| 0.3.1 | 2.4.1 | 8 | +| 0.3.2 | 2.4.1 | 8 | +| 0.3.3 | 2.4.1 | 8 | +| 0.4.0 | 2.7.0 | 8 | +| 0.5.0-SNAPSHOT | 2.7.0 | 11 | ## How to Contribute? diff --git a/pom.xml b/pom.xml index 66687aade72..d87daefcb7b 100644 --- a/pom.xml +++ b/pom.xml @@ -37,8 +37,9 @@ UTF8 - 1.8 - 1.8 + 11 + 11 + 11 5.6.2 1.21 2.7 @@ -174,11 +175,11 @@ - jdk11 + jdk17 - 11 - 11 - 11 + 17 + 17 + 17 @@ -189,11 +190,9 @@ lint - - (1.9,) - !lint.skip + lint.skip !true @@ -205,13 +204,15 @@ 3.8.0 true - true -Xlint:all -XDcompilePolicy=simple -Xplugin:ErrorProne - + -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED + + -J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED -J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED -J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED @@ -220,8 +221,6 @@ -J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED -J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED -J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED @@ -303,6 +302,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + true + + org.apache.maven.plugins @@ -366,15 +373,12 @@ spotless-maven-plugin ${spotless.version} - origin/master - 1.14.0 - @@ -387,6 +391,17 @@ maven-jar-plugin 3.2.0 + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M5 + + + **/*Test.java + + false + + diff --git a/tensorflow-core/tensorflow-core-api/pom.xml b/tensorflow-core/tensorflow-core-api/pom.xml index 142aac1065f..4acb14dfecd 100644 --- a/tensorflow-core/tensorflow-core-api/pom.xml +++ b/tensorflow-core/tensorflow-core-api/pom.xml @@ -203,6 +203,9 @@ org/tensorflow/internal/c_api/presets/*.java + + 8 + @@ -433,7 +436,6 @@ maven-surefire-plugin - 3.0.0-M5