diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eb13a791345..858923b63a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,9 +11,7 @@ on: - r[0-9]+.* types: [opened, reopened, synchronize, labeled, unlabeled] env: - STAGING_PROFILE_ID: 46f80d0729c92d - DEPLOY_SNAPSHOT: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/staging') }} - DEPLOY_RELEASE: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/heads/r') }} + DEPLOY: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/r')) }} jobs: check-format: if: github.event_name == 'pull_request' @@ -36,37 +34,8 @@ jobs: - name: Run format checks run: | mvn spotless:check -Pjdk17 -B -U -e - prepare: - runs-on: ubuntu-22.04 - outputs: - repositoryUrl: ${{ steps.repository.outputs.repositoryUrl }} - steps: - - name: Create staging repository - if: env.DEPLOY_RELEASE == 'true' - id: staging - run: | - echo "Creating staging repository with profile $STAGING_PROFILE_ID" - echo "Releasing TF Java - created by CI build" > request.xml - curl -X POST -d @request.xml -s -o response.xml -u ${{ secrets.CI_DEPLOY_USERNAME }}:${{ secrets.CI_DEPLOY_PASSWORD }} -H "Content-Type:application/xml" \ - https://ossrh-staging-api.central.sonatype.com/service/local/staging/profiles/$STAGING_PROFILE_ID/start - export STAGING_REPOSITORY_ID=`awk -F'[<>]' '/stagedRepositoryId/{print $3}' response.xml` - echo "Staging repository created: $STAGING_REPOSITORY_ID" - echo "::set-output name=stagingRepositoryId::$STAGING_REPOSITORY_ID" - - name: Checkout repository - uses: actions/checkout@v6 - - name: Extract distribution repository URL - id: repository - run: | - if [[ "${{ env.DEPLOY_RELEASE }}" = "true" ]]; then - export REPOSITORY_URL=`mvn exec:exec -q -N -Dexec.executable='echo' -Dexec.args="\\${project.distributionManagement.repository.url}" -DstagingRepositoryId=${{ steps.staging.outputs.stagingRepositoryId }}` - else - export REPOSITORY_URL=`mvn exec:exec -q -N -Dexec.executable='echo' -Dexec.args="\\${project.distributionManagement.snapshotRepository.url}"` - fi - echo "Repository URL: $REPOSITORY_URL" - echo "::set-output name=repositoryUrl::$REPOSITORY_URL" linux-arm64: runs-on: ubuntu-2204-arm64-2c - needs: prepare strategy: matrix: ext: [""] @@ -87,14 +56,19 @@ jobs: run: | gcc --version mvn -version - echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} - - name: Deploy native artifact - if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true' - run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }} + - name: Build native artifact + run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml package -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} + - name: Upload native artifact + if: env.DEPLOY == 'true' + uses: actions/upload-artifact@v7 + with: + name: native-artifact-${{ github.job }}${{ matrix.ext }} + path: tensorflow-core/tensorflow-core-native/target/tensorflow-core-native-*-${{ github.job }}*.jar + if-no-files-found: error + retention-days: 1 linux-x86_64: runs-on: ubuntu-22.04 - needs: prepare strategy: matrix: ext: ["", -gpu] @@ -110,14 +84,19 @@ jobs: run: | gcc --version mvn -version - echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} - - name: Deploy native artifact - if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true' - run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }} + - name: Build native artifact + run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml package -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} + - name: Upload native artifact + if: env.DEPLOY == 'true' + uses: actions/upload-artifact@v7 + with: + name: native-artifact-${{ github.job }}${{ matrix.ext }} + path: tensorflow-core/tensorflow-core-native/target/tensorflow-core-native-*-${{ github.job }}*.jar + if-no-files-found: error + retention-days: 1 macosx-arm64: runs-on: macos-14 - needs: prepare strategy: matrix: ext: [""] @@ -134,13 +113,19 @@ jobs: run: | clang --version mvn -version - echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} - - name: Deploy native artifact - if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true' - run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }} + - name: Build native artifact + run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml package -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} + - name: Upload native artifact + if: env.DEPLOY == 'true' + uses: actions/upload-artifact@v7 + with: + name: native-artifact-${{ github.job }}${{ matrix.ext }} + path: tensorflow-core/tensorflow-core-native/target/tensorflow-core-native-*-${{ github.job }}*.jar + if-no-files-found: error + retention-days: 1 deploy: - if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/staging') }} # DEPLOY_SNAPSHOT (releases should be signed and deployed manually from local machine) + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} needs: [linux-x86_64, macosx-arm64, linux-arm64] runs-on: ubuntu-22.04 steps: @@ -149,14 +134,60 @@ jobs: with: distribution: 'adopt' java-version: '11' + server-id: central + server-username: MAVEN_USERNAME # env variable for username in deploy + server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE # Handled as an env variable name reference - name: Checkout repository uses: actions/checkout@v6 - - name: Build project + - name: Download native artifacts + uses: actions/download-artifact@v8 + with: + pattern: native-artifact-* + path: tensorflow-core/tensorflow-core-native/target + merge-multiple: true + - name: Build and Deploy snapshot artifacts + env: + MAVEN_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} + MAVEN_CENTRAL_TOKEN: ${{ secrets.CI_DEPLOY_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + MAVEN_GPG_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} run: | java -version mvn -version - mvn clean install -B -U -e -Pdeploying - - name: Deploy snapshot artifacts + mvn deploy -Pdeploying -B -e + release: + if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/heads/r') }} + needs: [linux-x86_64, macosx-arm64, linux-arm64] + runs-on: ubuntu-22.04 + steps: + - name: Configure Java + uses: actions/setup-java@v5 + with: + distribution: 'adopt' + java-version: '11' + server-id: central + server-username: MAVEN_USERNAME # env variable for username in deploy + server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE # Handled as an env variable name reference + - name: Checkout repository + uses: actions/checkout@v6 + - name: Download native artifacts + uses: actions/download-artifact@v8 + with: + pattern: native-artifact-* + path: tensorflow-core/tensorflow-core-native/target + merge-multiple: true + - name: Build and Deploy release artifacts + env: + MAVEN_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} + MAVEN_CENTRAL_TOKEN: ${{ secrets.CI_DEPLOY_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + MAVEN_GPG_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} run: | - echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml - mvn deploy -Pdeploying -B -e -Dmaven.test.skip=true + java -version + mvn -version + mvn deploy -Pdeploying -Preleasing -B -e + diff --git a/MIGRATING.md b/MIGRATING.md index ac7276eba99..61148063487 100644 --- a/MIGRATING.md +++ b/MIGRATING.md @@ -1,9 +1,10 @@ # Migrating Between TensorFlow Java Releases -TensorFlow Java is still in an alpha stage, therefore is subject to contain breaking changes between the different releases. This guide explain in detail -how to migrate your code from a previous version to a new one that includes some changes that are not backward compatible. +This guide explains in detail how to migrate your code from a pre-1.0 release to a 1.0 or newer release. Post 1.0 +releases have API stability as much as possible, though upstream TensorFlow does remove ops from time to time and +consequently those ops will be removed from TensorFlow-Java -## Migrating to 1.0.0 +## Migrating to 1.0.0 or newer TensorFlow-Java 1.0.0 requires Java 11 or later. diff --git a/README.md b/README.md index 536ce3f27ba..cef72116bbe 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,8 @@ The following describes the layout of the repository and its different artifacts * Intended audience: neural network developers * For more information: [tensorflow-framework/README.md](tensorflow-framework/README.md) -*Note: The NdArray Library module has now its own [repository](https://github.com/tensorflow/java-ndarray) and has been moved out of TensorFlow Java.* +* `tensorflow-ndarray` + * API for creating and manipulating n-dimensional arrays, can be used independently from TensorFlow. ## Communication @@ -60,10 +61,11 @@ only binaries for the following are being **supported and distributed** by this - `linux-x86_64-gpu`: Linux platforms on Intel/AMD chips with Cuda GPU support - `linux-arm64`: Linux platforms on Arm chips - `macosx-arm64`: MacOS X platforms on Apple Silicon chips -- `windows-x86_64`: Windows platforms on Intel/AMD chips (v1.1.0 and earlier) Binaries for `macosx-x86_64` are available for TF-Java 1.0 series releases and earlier, they were dropped from -TF-Java 1.1 and newer as they are no longer supported or released by Google. +TF-Java 1.1 and newer as they are no longer supported or released by Google. Binaries for `windows-x86_64` are available +for TF-Java 1.1 and earlier, they were dropped for the 1.2 release and newer as the native binaries are no longer supported or +released by Google. For example, for building a JAR that uses TensorFlow and is targeted to be deployed only on Linux systems with no GPU support, you should add the following dependencies: @@ -71,18 +73,18 @@ systems with no GPU support, you should add the following dependencies: org.tensorflow tensorflow-core-api - 1.1.0 + 1.2.0 org.tensorflow tensorflow-core-native - 1.1.0 + 1.2.0 linux-x86_64 ``` Or Gradle: ```groovy -def tfVersion = '1.1.0' +def tfVersion = '1.2.0' implementation "org.tensorflow:tensorflow-core-api:$tfVersion" implementation "org.tensorflow:tensorflow-core-native:$tfVersion:linux-x86_64" ``` @@ -93,34 +95,33 @@ native dependencies as follows: org.tensorflow tensorflow-core-api - 1.1.0 + 1.2.0 org.tensorflow tensorflow-core-native - 1.1.0 - linux-x86_64-gpu + 1.2.0 + linux-arm64 org.tensorflow tensorflow-core-native - 1.1.0 - macosx-arm64 + 1.2.0 + linux-x86_64-gpu org.tensorflow tensorflow-core-native - 1.1.0 - windows-x86_64 + 1.2.0 + macosx-arm64 ``` Or Gradle: ```groovy -def tfVersion = '1.1.0' +def tfVersion = '1.2.0' implementation "org.tensorflow:tensorflow-core-api:$tfVersion" implementation "org.tensorflow:tensorflow-core-native:$tfVersion:linux-x86_64-gpu" implementation "org.tensorflow:tensorflow-core-native:$tfVersion:macosx-arm64" -implementation "org.tensorflow:tensorflow-core-native:$tfVersion:windows-x86_64" ``` Only one dependency can be added per platform, meaning that you cannot add native dependencies to both `linux-x86_64` and @@ -135,7 +136,7 @@ For Ubuntu 24.04, you can install them with the following command: In some cases, it might be preferable to add a single dependency that includes transitively all the artifacts required to run TensorFlow Java on any [supported platforms](README.md#individual-dependencies) -- `tensorflow-core-platform`: Includes `tensorflow-core-api`, plus native artifacts for `linux-x86_64`, `linux-x86_64-arm64`, `macosx-arm64` and `windows-x86_64` +- `tensorflow-core-platform`: Includes `tensorflow-core-api`, plus native artifacts for `linux-x86_64`, `linux-arm64`, and `macosx-arm64` For example, to run TensorFlow Java on any CPU platform for which a binary is being distributed by this project, you can simply add this dependency to your application: @@ -143,12 +144,12 @@ simply add this dependency to your application: org.tensorflow tensorflow-core-platform - 1.1.0 + 1.2.0 ``` Or Gradle: ```groovy -implementation "org.tensorflow:tensorflow-core-platform:1.1.0" +implementation "org.tensorflow:tensorflow-core-platform:1.2.0" ``` Be aware though that the builds of TensorFlow are quite voluminous and including too many native dependencies may @@ -177,7 +178,7 @@ to add Sonatype OSS repository in your `pom.xml`, like the following org.tensorflow tensorflow-core-platform - 1.2.0-SNAPSHOT + 1.3.0-SNAPSHOT ``` @@ -192,10 +193,24 @@ repositories { dependencies { // Example of dependency, see section above for more options - implementation "org.tensorflow:tensorflow-core-platform:1.2.0-SNAPSHOT" + implementation "org.tensorflow:tensorflow-core-platform:1.3.0-SNAPSHOT" } ``` +## TensorFlow native libraries + +TensorFlow-Java is built on top of the native TensorFlow library, and uses [JavaCPP](https://github.com/bytedeco/javacpp) +to call that library which in turn uses the Java Native Interface (JNI). In [Java 24 and newer](https://openjdk.org/jeps/472) +uses of JNI trigger a warning of the form: +``` +WARNING: A restricted method in java.lang.System has been called +WARNING: java.lang.System::loadLibrary has been called by org.bytedeco.javacpp.Loader in an unnamed module (file:/.../.m2/repository/org/bytedeco/javacpp/1.5.12/javacpp-1.5.12.jar) +WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module +WARNING: Restricted methods will be blocked in a future release unless native access is enabled +``` +This is expected, and adding the `--enable-native-access=ALL-UNNAMED` flag to enable JNI will suppress it. In a future +Java version this warning may be turned into an error and the flag will be required to use TensorFlow-Java. + ## TensorFlow/Java Version Support This table shows the mapping between TensorFlow, TensorFlow Java and minimum supported Java versions. @@ -215,7 +230,8 @@ This table shows the mapping between TensorFlow, TensorFlow Java and minimum sup | 1.0.0-rc.2 | 2.16.2 | 11 | | 1.0.0 | 2.16.2 | 11 | | 1.1.0 | 2.18.0 | 11 | -| 1.2.0-SNAPSHOT | 2.21.0 | 11 | +| 1.2.0 | 2.21.0 | 11 | +| 1.3.0-SNAPSHOT | 2.21.0 | 11 | ## How to Contribute? diff --git a/RELEASE.md b/RELEASE.md index 66bd9dfaa9e..fcf1001439c 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -191,7 +191,7 @@ Some things of note: ``` 2. In your local copy, checkout the master branch and increase the next snapshot version. ``` - mvn versions:set -DnewVersion=1.1.0-SNAPSHOT + mvn versions:set -DnewVersion=1.3.0-SNAPSHOT ``` 3. Update the TensorFlow Java version to reflect the new snapshot at the following locations: - https://github.com/tensorflow/java/blob/master/docs/install.md?plain=1#L104 diff --git a/docs/docs/index.md b/docs/docs/index.md index c9fcbf53e7e..8db1ff0e089 100755 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -26,7 +26,7 @@ The following describes the layout of the repository and its different artifacts * **Intended audience**: neural network developers. * Primary API for building and training neural networks with TensorFlow. -### [ndarray](https://github.com/tensorflow/java-ndarray) +### [tensorflow-ndarray](https://github.com/tensorflow/java/tree/master/tensorflow-ndarray) * **Intended audience**: any developer who needs a Java n-dimensional array implementation, whether or not they use it with TensorFlow. * Generic utility library for n-dimensional data I/O operations. * Used by TensorFlow but does not depend on TensorFlow. diff --git a/docs/docs/install.md b/docs/docs/install.md index 2fe676e956a..564414316dd 100755 --- a/docs/docs/install.md +++ b/docs/docs/install.md @@ -21,9 +21,12 @@ following platforms: * Ubuntu 20.04 or higher; 64-bit, x86 * Ubuntu 22.04 or higher; 64-bit, arm * macOS 14 or higher; 64-bit, arm + +Tensorflow Java 1.1 and earlier has binaries for: + * Windows 10 or higher; 64-bit, x86 -TensorFlow Java 1.0 series and earlier releases also have binaries for: +TensorFlow Java 1.0 series and earlier has binaries for: * macOS 12 or higher; 64-bit, x86 @@ -63,7 +66,7 @@ For example, org.tensorflow tensorflow-core-platform - 1.1.0 + 1.2.0 ``` @@ -106,7 +109,7 @@ snapshots repository in your `pom.xml`. org.tensorflow tensorflow-core-platform - 1.2.0-SNAPSHOT + 1.3.0-SNAPSHOT ``` @@ -123,7 +126,7 @@ repositories { } dependencies { - compile group: 'org.tensorflow', name: 'tensorflow-core-platform', version: '1.0.0' + compile group: 'org.tensorflow', name: 'tensorflow-core-platform', version: '1.2.0' } ``` @@ -169,7 +172,7 @@ add the TensorFlow dependency to the project's `pom.xml` file: org.tensorflow tensorflow-core-platform - 1.1.0 + 1.2.0 diff --git a/pom.xml b/pom.xml index 6fcc6e1a872..9e4f628efc4 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ org.tensorflow tensorflow-java - 1.2.0-SNAPSHOT + 1.2.0 pom TensorFlow Java Parent @@ -155,12 +155,54 @@ false - + + + + maven-javadoc-plugin + 3.12.0 + + ./docs/overview.md + + Copyright 2015, 2026 The TensorFlow Authors. All Rights Reserved. + + -Xmaxerrs + 65536 + -Xmaxwarns + 65536 + + none + false + 256m + 2048m + + https://protobuf.dev/reference/java/api-docs + https://bytedeco.org/javacpp/apidocs + + true + + + + javadoc-site + + javadoc + + + + attach-javadocs + + jar + + + + + + + @@ -508,7 +550,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.1.0 + 3.2.8 sign-artifacts @@ -519,10 +561,7 @@ - - --pinentry-mode - loopback - + bc @@ -543,7 +582,7 @@ ./docs/overview.md - Copyright 2015, 2025 The TensorFlow Authors. All Rights Reserved. TensorFlow-Java Main Documentation]]> + Copyright 2015, 2026 The TensorFlow Authors. All Rights Reserved. -Xmaxerrs 65536 @@ -554,7 +593,6 @@ 256m 2048m - https://tensorflow.github.io/java/javadoc-ndarray/v1.0.0/ https://protobuf.dev/reference/java/api-docs https://bytedeco.org/javacpp/apidocs @@ -599,17 +637,10 @@ - + @@ -630,6 +661,15 @@ false + + org.sonatype.central + central-publishing-maven-plugin + 0.11.0 + true + + central + + diff --git a/tensorflow-core/pom.xml b/tensorflow-core/pom.xml index cc87f6a76bc..f659865a2bf 100644 --- a/tensorflow-core/pom.xml +++ b/tensorflow-core/pom.xml @@ -22,7 +22,7 @@ org.tensorflow tensorflow-java - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-core pom diff --git a/tensorflow-core/tensorflow-core-api/pom.xml b/tensorflow-core/tensorflow-core-api/pom.xml index a4cd84dcf20..a0bcbb52b87 100644 --- a/tensorflow-core/tensorflow-core-api/pom.xml +++ b/tensorflow-core/tensorflow-core-api/pom.xml @@ -6,7 +6,7 @@ org.tensorflow tensorflow-core - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-core-api jar diff --git a/tensorflow-core/tensorflow-core-generator/pom.xml b/tensorflow-core/tensorflow-core-generator/pom.xml index bb532f5deab..91bf6541945 100644 --- a/tensorflow-core/tensorflow-core-generator/pom.xml +++ b/tensorflow-core/tensorflow-core-generator/pom.xml @@ -5,7 +5,7 @@ org.tensorflow tensorflow-core - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-core-generator jar diff --git a/tensorflow-core/tensorflow-core-native/pom.xml b/tensorflow-core/tensorflow-core-native/pom.xml index 2e9102b450b..43fc45df5d1 100644 --- a/tensorflow-core/tensorflow-core-native/pom.xml +++ b/tensorflow-core/tensorflow-core-native/pom.xml @@ -6,7 +6,7 @@ org.tensorflow tensorflow-core - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-core-native jar @@ -85,51 +85,6 @@ - - maven-dependency-plugin - 3.6.1 - - - copy-native-artifacts - validate - - copy - - - ${project.build.directory} - true - true - true - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${javacpp.platform.linux-x86_64} - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${javacpp.platform.linux-x86_64}-gpu - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${javacpp.platform.macosx-arm64} - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${javacpp.platform.linux-arm64} - - - - - - org.codehaus.mojo build-helper-maven-plugin @@ -565,34 +520,6 @@ - - maven-deploy-plugin - 3.1.1 - - - - native-only - - deploy-file - - - - ${project.build.directory}/${project.artifactId}-${project.version}-${native.classifier}.jar - central - ${project.groupId} - ${project.artifactId} - ${native.classifier} - pom.xml - false - - - - - maven-surefire-plugin diff --git a/tensorflow-core/tensorflow-core-platform/pom.xml b/tensorflow-core/tensorflow-core-platform/pom.xml index ca6a014f0ae..9cabb7f5d2a 100644 --- a/tensorflow-core/tensorflow-core-platform/pom.xml +++ b/tensorflow-core/tensorflow-core-platform/pom.xml @@ -22,7 +22,7 @@ org.tensorflow tensorflow-core - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-core-platform TensorFlow API Platform diff --git a/tensorflow-framework/pom.xml b/tensorflow-framework/pom.xml index 03745bfea9a..be65cd8f6a3 100644 --- a/tensorflow-framework/pom.xml +++ b/tensorflow-framework/pom.xml @@ -22,7 +22,7 @@ org.tensorflow tensorflow-java - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-framework jar diff --git a/tensorflow-ndarray/pom.xml b/tensorflow-ndarray/pom.xml index 8f1df831143..20f3651315d 100644 --- a/tensorflow-ndarray/pom.xml +++ b/tensorflow-ndarray/pom.xml @@ -22,7 +22,7 @@ org.tensorflow tensorflow-java - 1.2.0-SNAPSHOT + 1.2.0 tensorflow-ndarray jar