50 lines
2.1 KiB
YAML
50 lines
2.1 KiB
YAML
name: 'Prepare Gradle Build'
|
|
description: 'Prepares a Gradle build. Sets up Java and Gradle and configures Gradle properties'
|
|
inputs:
|
|
java-version:
|
|
required: false
|
|
default: '17'
|
|
description: 'The Java version to use for the build'
|
|
java-early-access:
|
|
required: false
|
|
default: 'false'
|
|
description: 'Whether the Java version is in early access'
|
|
java-toolchain:
|
|
required: false
|
|
default: 'false'
|
|
description: 'Whether a Java toolchain should be used'
|
|
develocity-access-key:
|
|
required: false
|
|
description: 'The access key for authentication with ge.spring.io'
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Set Up Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: ${{ inputs.java-early-access == 'true' && 'temurin' || 'liberica' }}
|
|
java-version: |
|
|
${{ inputs.java-version }}
|
|
${{ inputs.java-toolchain == 'true' && '17' || '' }}
|
|
- name: Set Up Gradle
|
|
uses: gradle/actions/setup-gradle@d9c87d481d55275bb5441eef3fe0e46805f9ef70 # v3.5.0
|
|
with:
|
|
cache-read-only: false
|
|
develocity-access-key: ${{ inputs.develocity-access-key }}
|
|
- name: Configure Gradle Properties
|
|
shell: bash
|
|
run: |
|
|
mkdir -p $HOME/.gradle
|
|
echo 'systemProp.user.name=spring-builds+github' >> $HOME/.gradle/gradle.properties
|
|
echo 'systemProp.org.gradle.internal.launcher.welcomeMessageEnabled=false' >> $HOME/.gradle/gradle.properties
|
|
echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties
|
|
echo 'org.gradle.daemon=4' >> $HOME/.gradle/gradle.properties
|
|
- name: Configure Toolchain Properties
|
|
if: ${{ inputs.java-toolchain == 'true' }}
|
|
shell: bash
|
|
run: |
|
|
echo toolchainVersion=${{ inputs.java-version }} >> $HOME/.gradle/gradle.properties
|
|
echo systemProp.org.gradle.java.installations.auto-detect=false >> $HOME/.gradle/gradle.properties
|
|
echo systemProp.org.gradle.java.installations.auto-download=false >> $HOME/.gradle/gradle.properties
|
|
echo systemProp.org.gradle.java.installations.paths=${{ format('$JAVA_HOME_{0}_X64', inputs.java-version) }} >> $HOME/.gradle/gradle.properties
|