|
1 |
| -name: 'Prepare Gradle Build' |
| 1 | +name: Prepare Gradle Build |
2 | 2 | description: 'Prepares a Gradle build. Sets up Java and Gradle and configures Gradle properties'
|
3 | 3 | inputs:
|
4 |
| - java-version: |
| 4 | + cache-read-only: |
| 5 | + description: 'Whether Gradle''s cache should be read only' |
| 6 | + required: false |
| 7 | + default: 'true' |
| 8 | + develocity-access-key: |
| 9 | + description: 'Access key for authentication with ge.spring.io' |
5 | 10 | required: false
|
6 |
| - default: '17' |
7 |
| - description: 'The Java version to use for the build' |
8 | 11 | java-distribution:
|
| 12 | + description: 'Java distribution to use' |
9 | 13 | required: false
|
10 | 14 | default: 'liberica'
|
11 |
| - description: 'The Java distribution to use for the build' |
12 |
| - java-toolchain: |
| 15 | + java-early-access: |
| 16 | + description: 'Whether the Java version is in early access. When true, forces java-distribution to temurin' |
13 | 17 | required: false
|
14 | 18 | default: 'false'
|
| 19 | + java-toolchain: |
15 | 20 | description: 'Whether a Java toolchain should be used'
|
16 |
| - develocity-access-key: |
17 | 21 | required: false
|
18 |
| - description: 'The access key for authentication with ge.spring.io' |
| 22 | + default: 'false' |
| 23 | + java-version: |
| 24 | + description: 'Java version to use for the build' |
| 25 | + required: false |
| 26 | + default: '17' |
19 | 27 | runs:
|
20 | 28 | using: composite
|
21 | 29 | steps:
|
| 30 | + - name: Free Disk Space |
| 31 | + if: ${{ runner.os == 'Linux' }} |
| 32 | + uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 |
| 33 | + with: |
| 34 | + tool-cache: true |
| 35 | + docker-images: false |
22 | 36 | - name: Set Up Java
|
23 | 37 | uses: actions/setup-java@v4
|
24 | 38 | with:
|
25 |
| - distribution: ${{ inputs.java-distribution }} |
| 39 | + distribution: ${{ inputs.java-early-access == 'true' && 'temurin' || (inputs.java-distribution || 'liberica') }} |
26 | 40 | java-version: |
|
27 |
| - ${{ inputs.java-version }} |
| 41 | + ${{ inputs.java-early-access == 'true' && format('{0}-ea', inputs.java-version) || inputs.java-version }} |
28 | 42 | ${{ inputs.java-toolchain == 'true' && '17' || '' }}
|
29 |
| - - name: Set Up Gradle |
30 |
| - uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2 |
| 43 | + - name: Set Up Gradle With Read/Write Cache |
| 44 | + if: ${{ inputs.cache-read-only == 'false' }} |
| 45 | + uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1 |
31 | 46 | with:
|
32 | 47 | cache-read-only: false
|
33 | 48 | develocity-access-key: ${{ inputs.develocity-access-key }}
|
| 49 | + - name: Set Up Gradle |
| 50 | + uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1 |
| 51 | + with: |
| 52 | + develocity-access-key: ${{ inputs.develocity-access-key }} |
| 53 | + develocity-token-expiry: 4 |
34 | 54 | - name: Configure Gradle Properties
|
35 | 55 | shell: bash
|
36 | 56 | run: |
|
37 | 57 | mkdir -p $HOME/.gradle
|
38 | 58 | echo 'systemProp.user.name=spring-builds+github' >> $HOME/.gradle/gradle.properties
|
39 | 59 | echo 'systemProp.org.gradle.internal.launcher.welcomeMessageEnabled=false' >> $HOME/.gradle/gradle.properties
|
40 | 60 | echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties
|
41 |
| - echo 'org.gradle.daemon=4' >> $HOME/.gradle/gradle.properties |
42 | 61 | - name: Configure Toolchain Properties
|
43 | 62 | if: ${{ inputs.java-toolchain == 'true' }}
|
44 | 63 | shell: bash
|
|
0 commit comments