name: Prepare Gradle Build description: 'Prepares a Gradle build. Sets up Java and Gradle and configures Gradle properties' inputs: develocity-access-key: description: 'Access key for authentication with ge.spring.io' required: false java-distribution: description: 'Java distribution to use' required: false default: 'liberica' java-early-access: description: 'Whether the Java version is in early access. When true, forces java-distribution to temurin' required: false default: 'false' java-toolchain: description: 'Whether a Java toolchain should be used' required: false default: 'false' java-version: description: 'Java version to use for the build' required: false default: '25' runs: using: composite steps: - name: Set Up Java uses: actions/setup-java@v4 with: distribution: ${{ inputs.java-early-access == 'true' && 'temurin' || (inputs.java-distribution || 'liberica') }} java-version: | ${{ inputs.java-early-access == 'true' && format('{0}-ea', inputs.java-version) || inputs.java-version }} ${{ inputs.java-toolchain == 'true' && '17' || '' }} 25 - name: Set Up Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 with: cache-read-only: false develocity-access-key: ${{ inputs.develocity-access-key }} develocity-token-expiry: 4 - 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