From 04ea98724572b1523a09a5d8cc731376beb25465 Mon Sep 17 00:00:00 2001
From: Maxim Lobanov <maxim-lobanov@github.com>
Date: Fri, 20 Aug 2021 11:07:24 +0000
Subject: [PATCH] Update readme and test matrix

---
 .github/workflows/e2e-versions.yml | 56 ++++--------------------------
 README.md                          | 51 +++++++++++++++------------
 docs/advanced-usage.md             | 26 ++++++++++----
 3 files changed, 56 insertions(+), 77 deletions(-)

diff --git a/.github/workflows/e2e-versions.yml b/.github/workflows/e2e-versions.yml
index 91135b6..1f23fba 100644
--- a/.github/workflows/e2e-versions.yml
+++ b/.github/workflows/e2e-versions.yml
@@ -20,7 +20,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [macos-latest, windows-latest, ubuntu-latest]
-        distribution: ['adopt', 'adopt-openj9', 'temurin', 'zulu'] # internally 'adopt-hotspot' is the same as 'adopt'
+        distribution: ['temurin', 'adopt', 'adopt-openj9', 'zulu'] # internally 'adopt-hotspot' is the same as 'adopt'
         version: ['8', '11', '16']
     steps:
       - name: Checkout
@@ -43,30 +43,11 @@ jobs:
       fail-fast: false
       matrix:
         os: [macos-latest, windows-latest, ubuntu-latest]
-        distribution: ['adopt', 'zulu']
+        distribution: ['temurin', 'zulu']
         version:
         - '11.0'
-        - '8.0.282'
-        - '11.0.2+7'
-        include:
-          - distribution: 'adopt'
-            version: '12.0.2+10.1'
-            os: macos-latest
-          - distribution: 'adopt'
-            version: '12.0.2+10.1'
-            os: windows-latest
-          - distribution: 'adopt'
-            version: '12.0.2+10.1'
-            os: ubuntu-latest
-          - distribution: 'temurin'
-            version: '16.0.2+7'
-            os: macos-latest
-          - distribution: 'temurin'
-            version: '16.0.2+7'
-            os: windows-latest
-          - distribution: 'temurin'
-            version: '16.0.2+7'
-            os: ubuntu-latest
+        - '8.0.302'
+        - '16.0.2+7'
     steps:
       - name: Checkout
         uses: actions/checkout@v2
@@ -88,7 +69,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [macos-latest, windows-latest, ubuntu-latest]
-        distribution: ['adopt', 'temurin', 'zulu']
+        distribution: ['temurin', 'zulu']
     steps:
       - name: Checkout
         uses: actions/checkout@v2
@@ -125,28 +106,6 @@ jobs:
         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
         shell: bash
 
-  setup-java-ea-versions-adopt:
-    name: adopt ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
-    needs: setup-java-major-minor-versions
-    runs-on: ${{ matrix.os }}
-    strategy:
-      fail-fast: false
-      matrix:
-        os: [macos-latest, windows-latest, ubuntu-latest]
-        version: ['17-ea', '15.0.0-ea.14.1.202003160455']
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-      - name: setup-java
-        uses: ./
-        id: setup-java
-        with:
-          java-version: ${{ matrix.version }}
-          distribution: adopt
-      - name: Verify Java
-        run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
-        shell: bash
-
   setup-java-ea-versions-temurin:
     name: temurin ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
     needs: setup-java-major-minor-versions
@@ -177,10 +136,9 @@ jobs:
       fail-fast: false
       matrix:
         os: [macos-latest, windows-latest, ubuntu-latest]
-        distribution: ['adopt', 'temurin', 'zulu']
+        distribution: ['temurin', 'zulu']
         java-package: ['jre']
-        version:
-        - '16.0'
+        version: ['16.0']
         include:
           - distribution: 'zulu'
             java-package: jre+fx
diff --git a/README.md b/README.md
index 153af34..17e023b 100644
--- a/README.md
+++ b/README.md
@@ -15,24 +15,13 @@ This action provides the following functionality for GitHub Actions runners:
 - Caching dependencies managed by Gradle
 
 ## V2 vs V1
-- V2 supports custom distributions and provides support for Zulu OpenJDK, Adopt OpenJDK and Eclipse Temurin out of the box. V1 supports only Zulu OpenJDK
+- V2 supports custom distributions and provides support for Zulu OpenJDK, Eclipse Temurin and Adopt OpenJDK  out of the box. V1 supports only Zulu OpenJDK
 - V2 requires you to specify distribution along with the version. V1 defaults to Zulu OpenJDK, only version input is required. Follow [the migration guide](docs/switching-to-v2.md) to switch from V1 to V2
 
 ## Usage
 Inputs `java-version` and `distribution` are mandatory. See [Supported distributions](#supported-distributions) section for a list of available options.
 
 ### Basic
-**Adopt OpenJDK**
-```yaml
-steps:
-- uses: actions/checkout@v2
-- uses: actions/setup-java@v2
-  with:
-    distribution: 'adopt' # See 'Supported distributions' for available options
-    java-version: '11'
-- run: java -cp java HelloWorldApp
-```
-
 **Eclipse Temurin**
 ```yaml
 steps:
@@ -40,7 +29,7 @@ steps:
 - uses: actions/setup-java@v2
   with:
     distribution: 'temurin' # See 'Supported distributions' for available options
-    java-version: '8'
+    java-version: '11'
 - run: java -cp java HelloWorldApp
 ```
 
@@ -57,34 +46,51 @@ steps:
 
 #### Supported version syntax
 The `java-version` input supports an exact version or a version range using [SemVer](https://semver.org/) notation:
-- major versions: `8`, `11`, `15`
+- major versions: `8`, `11`, `16`
 - more specific versions: `11.0`, `11.0.4`, `8.0.232`, `8.0.282+8`
 - early access (EA) versions: `15-ea`, `15.0.0-ea`, `15.0.0-ea.2`, `15.0.0+2-ea`
 
 #### Supported distributions
 Currently, the following distributions are supported:
-| Keyword | Distribution | Official site | License |
+| Keyword | Distribution | Official site | License
 |-|-|-|-|
-| `zulu` | Zulu OpenJDK | [Link](https://www.azul.com/downloads/zulu-community/?package=jdk) | [Link](https://www.azul.com/products/zulu-and-zulu-enterprise/zulu-terms-of-use/) |
-| `adopt` or `adopt-hotspot` | Adopt OpenJDK Hotspot | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html)
-| `adopt-openj9` | Adopt OpenJDK OpenJ9 | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html)
 | `temurin` | Eclipse Temurin | [Link](https://adoptium.net/) | [Link](https://adoptium.net/about.html)
+| `zulu` | Zulu OpenJDK | [Link](https://www.azul.com/downloads/zulu-community/?package=jdk) | [Link](https://www.azul.com/products/zulu-and-zulu-enterprise/zulu-terms-of-use/) |
+| `adopt` or `adopt-hotspot` | Adopt OpenJDK Hotspot | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html) |
+| `adopt-openj9` | Adopt OpenJDK OpenJ9 | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html)
 
 **NOTE:** The different distributors can provide discrepant list of available versions / supported configurations. Please refer to the official documentation to see the list of supported versions.
 
-#### Supported cache types
-Currently, `gradle` and `maven` are supported. You can set `cache` input like below:
+**NOTE:** Adopt OpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` to `temurin` to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
+
+### Caching packages dependencies
+The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle and maven. The cache input is optional, and caching is turned off by default.
+
+#### Caching gradle dependencies
 ```yaml
 steps:
 - uses: actions/checkout@v2
 - uses: actions/setup-java@v2
   with:
-    distribution: 'adopt'
+    distribution: 'temurin'
     java-version: '11'
-    cache: 'gradle' # will restore cache of dependencies and wrappers
+    cache: 'gradle'
 - run: ./gradlew build
 ```
 
+#### Caching maven dependencies
+```yaml
+steps:
+- uses: actions/checkout@v2
+- uses: actions/setup-java@v2
+  with:
+    distribution: 'temurin'
+    java-version: '11'
+    cache: 'maven'
+- name: Build with Maven
+  run: mvn -B package --file pom.xml
+```
+
 ### Check latest
 In the basic examples above, the `check-latest` flag defaults to `false`. When set to `false`, the action tries to first resolve a version of Java from the local tool cache on the runner. If unable to find a specific version in the cache, the action will download a version of Java. Use the default or set `check-latest` to `false` if you prefer a faster more consistent setup experience that prioritizes trying to use the cached versions at the expense of newer versions sometimes being available for download.
 
@@ -125,6 +131,7 @@ jobs:
 
 ### Advanced
 - [Selecting a Java distribution](docs/advanced-usage.md#Selecting-a-Java-distribution)
+  - [Eclipse Temurin](docs/advanced-usage.md#Eclipse-Temurin)
   - [Adopt](docs/advanced-usage.md#Adopt)
   - [Zulu](docs/advanced-usage.md#Zulu)
 - [Installing custom Java package type](docs/advanced-usage.md#Installing-custom-Java-package-type)
diff --git a/docs/advanced-usage.md b/docs/advanced-usage.md
index 6a2d1ab..f7edfe0 100644
--- a/docs/advanced-usage.md
+++ b/docs/advanced-usage.md
@@ -1,5 +1,6 @@
 # Usage
 - [Selecting a Java distribution](#Selecting-a-Java-distribution)
+  - [Eclipse Temurin](#Eclipse-Temurin)
   - [Adopt](#Adopt)
   - [Zulu](#Zulu)
 - [Installing custom Java package type](#Installing-custom-Java-package-type)
@@ -16,13 +17,26 @@ See [action.yml](../action.yml) for more details on task inputs.
 ## Selecting a Java distribution
 Inputs `java-version` and `distribution` are mandatory and needs to be provided. See [Supported distributions](../README.md#Supported-distributions) for a list of available options.
 
-### Adopt
+### Eclipse Temurin
 ```yaml
 steps:
 - uses: actions/checkout@v2
 - uses: actions/setup-java@v2
   with:
-    distribution: 'adopt-hotspot' # See 'Supported distributions' for available options @ README.md
+    distribution: 'temurin'
+    java-version: '11'
+- run: java -cp java HelloWorldApp
+```
+
+### Adopt
+**NOTE:** Adopt OpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` to `temurin` to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
+
+```yaml
+steps:
+- uses: actions/checkout@v2
+- uses: actions/setup-java@v2
+  with:
+    distribution: 'adopt-hotspot'
     java-version: '11'
 - run: java -cp java HelloWorldApp
 ```
@@ -91,8 +105,8 @@ jobs:
     runs-on: ubuntu-20.04
     strategy:
       matrix:
-        distribution: [ 'zulu', 'adopt' ]
-        java: [ '8', '11', '13', '15' ]
+        distribution: [ 'zulu', 'temurin' ]
+        java: [ '8', '11' ]
     name: Java ${{ matrix.Java }} (${{ matrix.distribution }}) sample
     steps:
       - uses: actions/checkout@v2
@@ -119,7 +133,7 @@ jobs:
       - name: Setup java
         uses: actions/setup-java@v2
         with:
-          distribution: 'adopt'
+          distribution: 'temurin'
           java-version: ${{ matrix.java }}
       - run: java -cp java HelloWorldApp
 ```
@@ -150,7 +164,7 @@ jobs:
     - name: Set up Apache Maven Central
       uses: actions/setup-java@v2
       with: # running setup-java again overwrites the settings.xml
-        distribution: 'adopt'
+        distribution: 'temurin'
         java-version: '11'
         server-id: maven # Value of the distributionManagement/repository/id field of the pom.xml
         server-username: MAVEN_USERNAME # env variable for username in deploy