mirror of
https://github.com/actions/setup-java.git
synced 2024-11-09 02:03:42 -05:00
Add output parameters for the tool path and version
This allows calling the action multiple times in the same job and retrieving the path and/or version in other steps. Fixes #65
This commit is contained in:
parent
4003c04fbc
commit
457d7a4579
6 changed files with 56 additions and 6 deletions
11
.github/workflows/workflow.yml
vendored
11
.github/workflows/workflow.yml
vendored
|
@ -35,15 +35,16 @@ jobs:
|
|||
if: runner.os == 'windows'
|
||||
run: move "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"
|
||||
- name: Setup Java 13
|
||||
id: setup-java
|
||||
uses: ./
|
||||
with:
|
||||
java-version: 13.0.2
|
||||
- name: Verify Java 13
|
||||
if: runner.os != 'windows'
|
||||
run: __tests__/verify-java.sh 13.0.2
|
||||
run: __tests__/verify-java.sh 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
|
||||
- name: Verify Java 13 (Windows)
|
||||
if: runner.os == 'windows'
|
||||
run: __tests__/verify-java.ps1 13.0.2
|
||||
run: __tests__/verify-java.ps1 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
|
||||
|
||||
test-proxy:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -62,11 +63,12 @@ jobs:
|
|||
- name: Clear tool cache
|
||||
run: rm -rf $RUNNER_TOOL_CACHE/*
|
||||
- name: Setup Java 13
|
||||
id: setup-java
|
||||
uses: ./
|
||||
with:
|
||||
java-version: 13.0.2
|
||||
- name: Verify Java 13
|
||||
run: __tests__/verify-java.sh 13.0.2
|
||||
run: __tests__/verify-java.sh 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
|
||||
|
||||
test-bypass-proxy:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -78,8 +80,9 @@ jobs:
|
|||
- name: Clear tool cache
|
||||
run: rm -rf $RUNNER_TOOL_CACHE/*
|
||||
- name: Setup Java 13
|
||||
id: setup-java
|
||||
uses: ./
|
||||
with:
|
||||
java-version: 13.0.2
|
||||
- name: Verify Java 13
|
||||
run: __tests__/verify-java.sh 13.0.2
|
||||
run: __tests__/verify-java.sh 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
|
||||
|
|
|
@ -9,3 +9,23 @@ if (!$java_version.Contains($args[0]))
|
|||
{
|
||||
throw "Unexpected version"
|
||||
}
|
||||
|
||||
if ($args.Count -lt 2 -or !$args[1])
|
||||
{
|
||||
throw "Must supply java path argument"
|
||||
}
|
||||
|
||||
if ($args[1] -ne $Env:JAVA_HOME)
|
||||
{
|
||||
throw "Unexpected path"
|
||||
}
|
||||
|
||||
if ($args.Count -lt 3 -or !$args[2])
|
||||
{
|
||||
throw "Must supply java version argument"
|
||||
}
|
||||
|
||||
if ($args[0] -ne $args[2])
|
||||
{
|
||||
throw "Unexpected version"
|
||||
}
|
||||
|
|
|
@ -1,13 +1,33 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Must supply java version argument"
|
||||
echo "::error::Must supply java version argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
java_version="$(java -version 2>&1)"
|
||||
echo "Found java version: $java_version"
|
||||
if [ -z "$(echo $java_version | grep --fixed-strings $1)" ]; then
|
||||
echo "Unexpected version"
|
||||
echo "::error::Unexpected version"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$2" ]; then
|
||||
echo "::error::Must supply java path argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$2" != "$JAVA_HOME" ]; then
|
||||
echo "::error::Unexpected path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$3" ]; then
|
||||
echo "::error::Must supply java version argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" != "$3" ]; then
|
||||
echo "::error::Unexpected version"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -36,6 +36,11 @@ inputs:
|
|||
settings-path:
|
||||
description: 'Path to where the settings.xml file will be written. Default is ~/.m2.'
|
||||
required: false
|
||||
outputs:
|
||||
path:
|
||||
description: 'Path to where the java environment has been installed (same as $JAVA_HOME)'
|
||||
version:
|
||||
description: 'Actual version of the java environment that has been installed'
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'dist/index.js'
|
||||
|
|
BIN
dist/index.js
generated
vendored
BIN
dist/index.js
generated
vendored
Binary file not shown.
|
@ -90,6 +90,8 @@ export async function getJava(
|
|||
core.exportVariable('JAVA_HOME', toolPath);
|
||||
core.exportVariable(extendedJavaHome, toolPath);
|
||||
core.addPath(path.join(toolPath, 'bin'));
|
||||
core.setOutput('path', toolPath);
|
||||
core.setOutput('version', version);
|
||||
}
|
||||
|
||||
function getCacheVersionString(version: string) {
|
||||
|
|
Loading…
Reference in a new issue