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 "!update-toolchains-only". If explcitly set "true", it will update settings.xml regardless of "update-toolchains-only"' required: false # DO NOT set a default here! The default will be propagated from input 'update-toolchains-only'! update-toolchains-only: description: 'Update toolchains.xml only. Default is "false". No update of settings.xml, no update of JAVA_HOME, no adding to PATH by default - unless "overwrite-settings", "update-env-javahome" or "add-to-env-path" are not explicitly set "true"' required: false default: false update-env-javahome: description: 'Update the JAVA_HOME environment variable. Default is "!update-toolchains-only"' required: false # DO NOT set a default here! The default will be propagated from input 'update-toolchains-only'! add-to-env-path: description: 'Add "/bin" to the PATH environment variable. Default is "!update-toolchains-only"' required: false # DO NOT set a default here! The default will be propagated from input 'update-toolchains-only'! 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'