name: 'Setup Gradle'
description: 'Checks out the repository and sets up Java and Gradle'
inputs:
  token:
    description: 'token input for actions/checkout'
    required: false
    default: ${{ github.token }}
  fetch-depth:
    description: 'fetch-depth input for actions/checkout'
    required: false
    default: 1
  cache-read-only:
    description: 'cache-read-only input for gradle/actions/setup-gradle'
    required: false
    default: ${{ github.event.repository != null && github.ref_name != github.event.repository.default_branch }}
  dependency-graph:
    description: 'dependency-graph input for gradle/actions/setup-gradle'
    required: false
    default: 'disabled'
runs:
  using: "composite"
  steps:
    - name: Checkout repository
      uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
      with:
        fetch-depth: ${{ inputs.fetch-depth }}
        token: ${{ inputs.token }}

    - name: Set up JDK
      uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
      with:
        distribution: temurin
        java-version: 18

    - name: Setup Gradle
      uses: gradle/actions/setup-gradle@6cec5d49d4d6d4bb982fbed7047db31ea6d38f11 # v3
      with:
        gradle-home-cache-cleanup: true
        cache-read-only: ${{ inputs.cache-read-only }}
        add-job-summary: always
        dependency-graph: ${{ inputs.dependency-graph }}
        validate-wrappers: true
