name: 'Setup Java JDK'
description: 'Set up a specific version of the Java JDK and add the
   command-line tools to the PATH'
author: 'GitHub'
inputs:
  java-version:
    description: 'The Java version to set up. Takes a whole or semver Java version. See examples of supported syntax in README file'
  java-version-file:
    description: 'The path to the `.java-version` file. See examples of supported syntax in README file'
  distribution:
    description: 'Java distribution. See the list of supported distributions in README file'
    required: true
  java-package:
    description: 'The package type (jdk, jre, jdk+fx, jre+fx)'
    required: false
    default: 'jdk'
  architecture:
    description: "The architecture of the package (defaults to the action runner's architecture)"
    required: false
  jdkFile:
    description: 'Path to where the compressed JDK is located'
    required: false
  check-latest:
    description: 'Set this option if you want the action to check for the latest available version that satisfies the version spec'
    required: false
    default: false
  server-id:
    description: 'ID of the distributionManagement repository in the pom.xml
       file. Default is `github`'
    required: false
    default: 'github'
  server-username:
    description: 'Environment variable name for the username for authentication
       to the Apache Maven repository. Default is $GITHUB_ACTOR'
    required: false
    default: 'GITHUB_ACTOR'
  server-password:
    description: 'Environment variable name for password or token for
       authentication to the Apache Maven repository. Default is $GITHUB_TOKEN'
    required: false
    default: 'GITHUB_TOKEN'
  settings-path:
    description: 'Path to where the settings.xml file will be written. Default is ~/.m2.'
    required: false
  overwrite-settings:
    description: 'Overwrite the settings.xml file if it exists. Default is "true".'
    required: false
    default: true
  gpg-private-key:
    description: 'GPG private key to import. Default is empty string.'
    required: false
  gpg-passphrase:
    description: 'Environment variable name for the GPG private key passphrase. Default is
       $GPG_PASSPHRASE.'
    required: false
  cache:
    description: 'Name of the build platform to cache dependencies. It can be "maven", "gradle" or "sbt".'
    required: false
  cache-dependency-path:
    description: 'The path to a dependency file: pom.xml, build.gradle, build.sbt, etc. This option can be used with the `cache` option. If this option is omitted, the action searches for the dependency file in the entire repository. This option supports wildcards and a list of file names for caching multiple dependencies.'
    required: false
  job-status:
    description: 'Workaround to pass job status to post job step. This variable is not intended for manual setting'
    default: ${{ job.status }}
  token:
    description: The token used to authenticate when fetching version manifests hosted on github.com, such as for the Microsoft Build of OpenJDK. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting.
    default: ${{ github.server_url == 'https://github.com' && github.token || '' }}
  mvn-toolchain-id:
    description: 'Name of Maven Toolchain ID if the default name of "${distribution}_${java-version}" is not wanted. See examples of supported syntax in Advanced Usage file'
    required: false
  mvn-toolchain-vendor:
    description: 'Name of Maven Toolchain Vendor if the default name of "${distribution}" is not wanted. See examples of supported syntax in Advanced Usage file'
    required: false
outputs:
  distribution:
    description: 'Distribution of Java that has been installed'
  version:
    description: 'Actual version of the java environment that has been installed'
  path:
    description: 'Path to where the java environment has been installed (same as $JAVA_HOME)'
  cache-hit:
    description: 'A boolean value to indicate an exact match was found for the primary key'
runs:
  using: 'node20'
  main: 'dist/setup/index.js'
  post: 'dist/cleanup/index.js'
