setup-java/docs/switching-to-v2.md
Maxim Lobanov 7c88894700
actions/setup-java@v2 - Support different distributions (#132)
* Implement support for custom vendors in setup-java

* minor improvements

* minor refactoring

* Add unit tests and e2e tests

* Update documentation for setup-java@v2 release

* minor improvements

* regenerate dist

* fix comments

* resolve comments

* resolve comments

* fix tests

* Update README.md

Co-authored-by: George Adams <george.adams@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* fix minor nitpicks

* handle 4th digit

* pull latest main

* Update README.md

* rename adoptium to adopt

* rename adoptium to adopt

* rename adoptium to adopt

* Update README.md

* make java-version and distribution required for action

* update readme

* fix tests

* fix e2e tests

Co-authored-by: George Adams <george.adams@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2021-03-15 13:39:46 +03:00

1.5 KiB

Switching to V2

Java distribution

The major breaking change in V2 is the new mandatory distribution input. This field should be specified with one of supported distributions. See Supported distributions for a list of available options.
Use the zulu keyword if you would like to continue using the same distribution as in V1.

steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2-preview
  with:
    distribution: 'zulu'
    java-version: '11'
    java-package: jdk # optional (jdk or jre) - defaults to jdk
- run: java -cp java HelloWorldApp

General recommendation — configure CI with the same distribution that is used on your local dev machine.

Installing custom Java distribution from local file

Since the distribution input is required in V2, you should specify it using jdkFile to continue installing Java from a local file on the runner

steps:
- run: |
    download_url="https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz"
    wget -O $RUNNER_TEMP/java_package.tar.gz $download_url    
- uses: actions/setup-java@v2-preview
  with:
    distribution: 'jdkFile'
    jdkFile: ${{ runner.temp }}/java_package.tar.gz
    java-version: '11.0.0'
    architecture: x64

Dropping legacy Java version syntax 1.x

V1 supported legacy Java syntax such as 1.8 (same as 8) and 1.8.0.212 (same as 8.0.212). V2 dropped support for legacy syntax so workflows should be updated accordingly.