Skip to content
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.

Commit

Permalink
Migrate to AdoptOpenJDK API v3 (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
joschi authored Mar 10, 2020
1 parent 5921645 commit 57c3f14
Show file tree
Hide file tree
Showing 182 changed files with 16,958 additions and 16,894 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
operating-system: [ubuntu-latest, macOS-latest, windows-latest]
jdk-version: [openjdk8, openjdk11, openjdk13]
jdk-version: [8, 11, 13]
steps:
- name: Checkout
uses: actions/checkout@v2
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ on:
pull_request:
branches:
- 'master'
- 'releases/*'
push:
branches:
- 'master'
- 'releases/*'
jobs:
run:
name: Run
Expand Down Expand Up @@ -35,5 +33,5 @@ jobs:
- name: Smoke Test
uses: ./
with:
java-version: openjdk11
java-version: 11
- run: java -version
38 changes: 31 additions & 7 deletions lib/installer.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,44 @@ function getOsString(platform) {
return 'linux';
}
}
async function getJava(release_type, version, openjdk_impl, arch, heap_size, release) {
return downloadJavaBinary(release_type, version, openjdk_impl, os, arch, heap_size, release);
function getFeatureVersion(version) {
return version.replace('openjdk', '');
}
function getReleaseType(release_type) {
switch (release_type) {
case 'releases':
return 'ga';
case 'nightly':
return 'ea';
default:
return release_type;
}
}
function getAdoptOpenJdkUrl(release_type, version, jvm_impl, os, arch, heap_size, release) {
const feature_version = getFeatureVersion(version);
const release_type_parsed = getReleaseType(release_type);
if (release == 'latest') {
return `https://api.adoptopenjdk.net/v3/binary/latest/${feature_version}/${release_type_parsed}/${os}/${arch}/jdk/${jvm_impl}/${heap_size}/adoptopenjdk`;
}
else {
const release_name = encodeURIComponent(release);
return `https://api.adoptopenjdk.net/v3/binary/version/${release_name}/${os}/${arch}/jdk/${jvm_impl}/${heap_size}/adoptopenjdk`;
}
}
async function getJava(release_type, version, jvm_impl, arch, heap_size, release) {
return downloadJavaBinary(release_type, version, jvm_impl, os, arch, heap_size, release);
}
exports.getJava = getJava;
async function downloadJavaBinary(release_type, version, openjdk_impl, os, arch, heap_size, release) {
const versionSpec = getCacheVersionSpec(release_type, version, openjdk_impl, os, heap_size, release);
async function downloadJavaBinary(release_type, version, jvm_impl, os, arch, heap_size, release) {
const versionSpec = getCacheVersionSpec(release_type, version, jvm_impl, os, heap_size, release);
let toolPath = tc.find(toolName, versionSpec, arch);
if (toolPath) {
core.debug(`Tool found in cache ${toolPath}`);
}
else {
core.debug('Downloading JDK from AdoptOpenJDK');
const release_encoded = encodeURIComponent(release);
const url = `https://api.adoptopenjdk.net/v2/binary/${release_type}/${version}?type=jdk&openjdk_impl=${openjdk_impl}&os=${os}&arch=${arch}&release=${release_encoded}&heap_size=${heap_size}`;
const url = getAdoptOpenJdkUrl(release_type, version, jvm_impl, os, arch, heap_size, release);
const jdkFile = await tc.downloadTool(url);
const compressedFileExtension = IS_WINDOWS ? '.zip' : '.tar.gz';
const tempDir = path.join(tempDirectory, 'adoptopenjdk_' + Math.floor(Math.random() * 2000000000));
Expand All @@ -73,8 +97,8 @@ async function downloadJavaBinary(release_type, version, openjdk_impl, os, arch,
core.exportVariable(extendedJavaHome, toolPath);
core.addPath(path.join(toolPath, 'bin'));
}
function getCacheVersionSpec(release_type, version, openjdk_impl, os, heap_size, release) {
return `1.0.0-${release_type}-${version}-${openjdk_impl}-${heap_size}-${release}`;
function getCacheVersionSpec(release_type, version, jvm_impl, os, heap_size, release) {
return `1.0.0-${release_type}-${version}-${jvm_impl}-${heap_size}-${release}`;
}
async function extractFiles(file, fileEnding, destinationFolder) {
const stats = fs.statSync(file);
Expand Down
8 changes: 4 additions & 4 deletions lib/setup-jdk.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ const installer = __importStar(require("./installer"));
const path = __importStar(require("path"));
async function run() {
try {
// Type of release, i. e. "releases" for stable builds or "nightly" for the most recent build.
const release_type = core.getInput('release_type') || 'releases';
// OpenJDK version, example: "openjdk8", "openjdk11", "openjdk13".
// Type of release. Either a release version, known as General Availability ("ga") or an Early Access ("ea")
const release_type = core.getInput('release_type') || 'ga';
// OpenJDK feature release version, example: "8", "11", "13".
const javaVersion = core.getInput('java-version', { required: true });
// OpenJDK implementation, example: "hotspot", "openj9".
const openjdk_impl = core.getInput('openjdk_impl') || 'hotspot';
// Architecture of the JDK, example: "x64", "x32", "ppc64", "s390x", "ppc64le", "aarch64".
// Architecture of the JDK, example: "x64", "x32", "arm", "ppc64", "s390x", "ppc64le", "aarch64", "sparcv9".
const arch = core.getInput('architecture', { required: false }) || 'x64';
// Heap size for OpenJ9, example: "normal", "large" (for heaps >=57 GiB).
const heap_size = core.getInput('heap_size', { required: false }) || 'normal';
Expand Down
192 changes: 96 additions & 96 deletions node_modules/@actions/core/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 16 additions & 16 deletions node_modules/@actions/core/lib/command.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 57c3f14

Please sign in to comment.