mirror of
https://github.com/graalvm/setup-graalvm.git
synced 2025-01-19 03:43:02 +08:00
Added Liberica distribution
This commit is contained in:
parent
3d7ab58c1d
commit
df4b80eebe
42
.github/workflows/test.yml
vendored
42
.github/workflows/test.yml
vendored
@ -243,6 +243,48 @@ jobs:
|
|||||||
java --version
|
java --version
|
||||||
native-image --version
|
native-image --version
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
|
test-liberica:
|
||||||
|
needs: test
|
||||||
|
name: ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
java-version: ['17', '21.0.2']
|
||||||
|
version: ['core', 'full', 'std', '']
|
||||||
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Run setup-graalvm action
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
distribution: liberica
|
||||||
|
java-version: ${{ matrix.java-version }}
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Check environment
|
||||||
|
run: |
|
||||||
|
echo "GRAALVM_HOME: $GRAALVM_HOME"
|
||||||
|
[[ "$GRAALVM_HOME" == *"$RUNNER_TOOL_CACHE"* ]] || exit 12
|
||||||
|
echo "JAVA_HOME: $JAVA_HOME"
|
||||||
|
java --version
|
||||||
|
java --version | fgrep -qw ${{ matrix.java-version }} || exit 23
|
||||||
|
native-image --version
|
||||||
|
native-image --version | fgrep -qw ${{ matrix.java-version }} || exit 24
|
||||||
|
if: runner.os != 'Windows'
|
||||||
|
- name: Check Windows environment
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
echo "GRAALVM_HOME: $env:GRAALVM_HOME"
|
||||||
|
echo "JAVA_HOME: $env:JAVA_HOME"
|
||||||
|
java --version
|
||||||
|
if (!(java --version | findstr \<${{ matrix.java-version }}\>)) {
|
||||||
|
exit 23
|
||||||
|
}
|
||||||
|
native-image --version
|
||||||
|
if (!(native-image --version | findstr \<${{ matrix.java-version }}\>)) {
|
||||||
|
exit 24
|
||||||
|
}
|
||||||
|
if: runner.os == 'Windows'
|
||||||
test-native-image-windows:
|
test-native-image-windows:
|
||||||
name: native-image on windows-latest
|
name: native-image on windows-latest
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
@ -7,7 +7,7 @@ import {
|
|||||||
findHighestJavaVersion,
|
findHighestJavaVersion,
|
||||||
findLatestEABuildDownloadUrl
|
findLatestEABuildDownloadUrl
|
||||||
} from '../src/graalvm'
|
} from '../src/graalvm'
|
||||||
import {GRAALVM_RELEASES_REPO} from '../src/constants'
|
import {GRAALVM_GH_USER, GRAALVM_RELEASES_REPO} from '../src/constants'
|
||||||
|
|
||||||
process.env['RUNNER_TOOL_CACHE'] = path.join(__dirname, 'TOOL_CACHE')
|
process.env['RUNNER_TOOL_CACHE'] = path.join(__dirname, 'TOOL_CACHE')
|
||||||
process.env['RUNNER_TEMP'] = path.join(__dirname, 'TEMP')
|
process.env['RUNNER_TEMP'] = path.join(__dirname, 'TEMP')
|
||||||
@ -53,6 +53,7 @@ test('find version/javaVersion', async () => {
|
|||||||
expect(error.message).toContain('Unable to find the latest Java version for')
|
expect(error.message).toContain('Unable to find the latest Java version for')
|
||||||
|
|
||||||
const latestRelease = await getTaggedRelease(
|
const latestRelease = await getTaggedRelease(
|
||||||
|
GRAALVM_GH_USER,
|
||||||
GRAALVM_RELEASES_REPO,
|
GRAALVM_RELEASES_REPO,
|
||||||
'vm-22.3.1'
|
'vm-22.3.1'
|
||||||
)
|
)
|
||||||
|
138
__tests__/liberica.test.ts
Normal file
138
__tests__/liberica.test.ts
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
import * as liberica from '../src/liberica'
|
||||||
|
import * as path from 'path'
|
||||||
|
import * as semver from 'semver'
|
||||||
|
import {expect, test} from '@jest/globals'
|
||||||
|
|
||||||
|
process.env['RUNNER_TOOL_CACHE'] = path.join(__dirname, 'TOOL_CACHE')
|
||||||
|
process.env['RUNNER_TEMP'] = path.join(__dirname, 'TEMP')
|
||||||
|
|
||||||
|
test('find latest JDK version', async () => {
|
||||||
|
// Make sure the action can find the latest Java version for known major versions
|
||||||
|
await expectLatestToBe('11', atLeast('11.0.22+12'))
|
||||||
|
await expectLatestToBe('11.0.22', upToBuild('11.0.22+12'))
|
||||||
|
await expectLatestToBe('11.0.22+12', exactly('11.0.22+12'))
|
||||||
|
|
||||||
|
await expectLatestToBe('17', atLeast('17.0.10+13'))
|
||||||
|
await expectLatestToBe('17.0.10', upToBuild('17.0.10+13'))
|
||||||
|
await expectLatestToBe('17.0.10+13', exactly('17.0.10+13'))
|
||||||
|
|
||||||
|
await expectLatestToBe('21', atLeast('21.0.2+14'))
|
||||||
|
await expectLatestToBe('21.0.2', upToBuild('21.0.2+14'))
|
||||||
|
await expectLatestToBe('21.0.2+14', exactly('21.0.2+14'))
|
||||||
|
|
||||||
|
// Outdated major version
|
||||||
|
await expectLatestToFail('20')
|
||||||
|
|
||||||
|
// Outdated CPU versions
|
||||||
|
await expectLatestToFail('11.0.2') // should not resolve to 11.0.22
|
||||||
|
await expectLatestToFail('17.0.1') // should not resolve to 17.0.10
|
||||||
|
await expectLatestToFail('17.0.7+11')
|
||||||
|
await expectLatestToFail('21.0.0+8')
|
||||||
|
await expectLatestToFail('21.0.1')
|
||||||
|
|
||||||
|
// Incorrect build number
|
||||||
|
await expectLatestToFail('17.0.10+10')
|
||||||
|
}, 30000)
|
||||||
|
|
||||||
|
test('find asset URL', async () => {
|
||||||
|
await expectURL(
|
||||||
|
'17.0.10+13',
|
||||||
|
'core',
|
||||||
|
'bellsoft-liberica-vm-core-openjdk17.0.10'
|
||||||
|
)
|
||||||
|
await expectURL('17.0.10+13', 'std', 'bellsoft-liberica-vm-openjdk17.0.10')
|
||||||
|
await expectURL(
|
||||||
|
'21.0.2+14',
|
||||||
|
'full',
|
||||||
|
'bellsoft-liberica-vm-full-openjdk21.0.2'
|
||||||
|
)
|
||||||
|
await expectURL('21.0.2+14', '', 'bellsoft-liberica-vm-openjdk21.0.2')
|
||||||
|
}, 10000)
|
||||||
|
|
||||||
|
type verifier = (
|
||||||
|
version: string,
|
||||||
|
major: number,
|
||||||
|
minor: number,
|
||||||
|
patch: number
|
||||||
|
) => void
|
||||||
|
|
||||||
|
function atLeast(expectedMinVersion: string): verifier {
|
||||||
|
const expectedMajor = semver.major(expectedMinVersion)
|
||||||
|
return function (
|
||||||
|
version: string,
|
||||||
|
major: number,
|
||||||
|
minor: number,
|
||||||
|
patch: number
|
||||||
|
) {
|
||||||
|
expect(major).toBe(expectedMajor)
|
||||||
|
if (semver.compareBuild(version, expectedMinVersion) < 0) {
|
||||||
|
throw new Error(`Version ${version} is older than ${expectedMinVersion}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function upToBuild(expectedMinVersion: string): verifier {
|
||||||
|
const expectedMinor = semver.minor(expectedMinVersion)
|
||||||
|
const expectedPatch = semver.patch(expectedMinVersion)
|
||||||
|
const atLeastVerifier = atLeast(expectedMinVersion)
|
||||||
|
return function (
|
||||||
|
version: string,
|
||||||
|
major: number,
|
||||||
|
minor: number,
|
||||||
|
patch: number
|
||||||
|
) {
|
||||||
|
atLeastVerifier(version, major, minor, patch)
|
||||||
|
expect(minor).toBe(expectedMinor)
|
||||||
|
expect(patch).toBe(expectedPatch)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function exactly(expectedVersion: string): verifier {
|
||||||
|
return function (
|
||||||
|
version: string,
|
||||||
|
major: number,
|
||||||
|
minor: number,
|
||||||
|
patch: number
|
||||||
|
) {
|
||||||
|
if (semver.compareBuild(version, expectedVersion) != 0) {
|
||||||
|
throw new Error(`Expected version ${expectedVersion} but got ${version}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function expectLatestToBe(pattern: string, verify: verifier) {
|
||||||
|
const result = await liberica.findLatestLibericaJavaVersion(pattern)
|
||||||
|
expect(semver.valid(result)).toBeDefined()
|
||||||
|
const major = semver.major(result)
|
||||||
|
const minor = semver.minor(result)
|
||||||
|
const patch = semver.patch(result)
|
||||||
|
verify(result, major, minor, patch)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function expectLatestToFail(pattern: string) {
|
||||||
|
try {
|
||||||
|
const result = await liberica.findLatestLibericaJavaVersion(pattern)
|
||||||
|
throw new Error(
|
||||||
|
`findLatest(${pattern}) should have failed but returned ${result}`
|
||||||
|
)
|
||||||
|
} catch (err) {
|
||||||
|
if (!(err instanceof Error)) {
|
||||||
|
throw new Error(`Unexpected non-Error: ${err}`)
|
||||||
|
}
|
||||||
|
expect(err.message).toContain(
|
||||||
|
`Unable to find the latest version for JDK${pattern}`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function expectURL(
|
||||||
|
javaVersion: string,
|
||||||
|
version: string,
|
||||||
|
expectedPrefix: string
|
||||||
|
) {
|
||||||
|
const url = await liberica.findLibericaURL(javaVersion, version)
|
||||||
|
expect(url).toBeDefined()
|
||||||
|
const parts = url.split('/')
|
||||||
|
const file = parts[parts.length - 1]
|
||||||
|
expect(file.startsWith(expectedPrefix)).toBe(true)
|
||||||
|
}
|
107
dist/cleanup/index.js
generated
vendored
107
dist/cleanup/index.js
generated
vendored
@ -77845,8 +77845,20 @@ function isURLPotentiallyTrustworthy (url) {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// If scheme is data, return true
|
// If scheme is data, return true
|
||||||
if (url.protocol === 'data:') return true
|
if (url.protocol === 'data:') return true
|
||||||
|
=======
|
||||||
|
// First, split on ||
|
||||||
|
this.set = this.raw
|
||||||
|
.split('||')
|
||||||
|
// map the range to a 2d array of comparators
|
||||||
|
.map(r => this.parseRange(r))
|
||||||
|
// throw out any comparator lists that are empty
|
||||||
|
// this generally means that it was not a valid range, which is allowed
|
||||||
|
// in loose mode, but will still throw if the WHOLE range is invalid.
|
||||||
|
.filter(c => c.length)
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
// If file, return true
|
// If file, return true
|
||||||
if (url.protocol === 'file:') return true
|
if (url.protocol === 'file:') return true
|
||||||
@ -77903,6 +77915,7 @@ function bytesMatch (bytes, metadataList) {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// 4. Let metadata be the result of getting the strongest
|
// 4. Let metadata be the result of getting the strongest
|
||||||
// metadata from parsedMetadata.
|
// metadata from parsedMetadata.
|
||||||
const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo))
|
const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo))
|
||||||
@ -77921,6 +77934,22 @@ function bytesMatch (bytes, metadataList) {
|
|||||||
|
|
||||||
// See https://github.com/web-platform-tests/wpt/commit/e4c5cc7a5e48093220528dfdd1c4012dc3837a0e
|
// See https://github.com/web-platform-tests/wpt/commit/e4c5cc7a5e48093220528dfdd1c4012dc3837a0e
|
||||||
// "be liberal with padding". This is annoying, and it's not even in the spec.
|
// "be liberal with padding". This is annoying, and it's not even in the spec.
|
||||||
|
=======
|
||||||
|
const loose = this.options.loose
|
||||||
|
// `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
||||||
|
const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
|
||||||
|
range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
|
||||||
|
debug('hyphen replace', range)
|
||||||
|
// `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
||||||
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
|
||||||
|
debug('comparator trim', range)
|
||||||
|
|
||||||
|
// `~ 1.2.3` => `~1.2.3`
|
||||||
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
|
||||||
|
|
||||||
|
// `^ 1.2.3` => `^1.2.3`
|
||||||
|
range = range.replace(re[t.CARETTRIM], caretTrimReplace)
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
if (expectedValue.endsWith('==')) {
|
if (expectedValue.endsWith('==')) {
|
||||||
expectedValue = expectedValue.slice(0, -2)
|
expectedValue = expectedValue.slice(0, -2)
|
||||||
@ -80421,6 +80450,7 @@ class RedirectHandler {
|
|||||||
this.history.push(new URL(this.opts.path, this.opts.origin))
|
this.history.push(new URL(this.opts.path, this.opts.origin))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
if (!this.location) {
|
if (!this.location) {
|
||||||
return this.handler.onHeaders(statusCode, headers, resume, statusText)
|
return this.handler.onHeaders(statusCode, headers, resume, statusText)
|
||||||
}
|
}
|
||||||
@ -80436,6 +80466,27 @@ class RedirectHandler {
|
|||||||
this.opts.origin = origin
|
this.opts.origin = origin
|
||||||
this.opts.maxRedirections = 0
|
this.opts.maxRedirections = 0
|
||||||
this.opts.query = null
|
this.opts.query = null
|
||||||
|
=======
|
||||||
|
const RELEASE_TYPES = [
|
||||||
|
'major',
|
||||||
|
'premajor',
|
||||||
|
'minor',
|
||||||
|
'preminor',
|
||||||
|
'patch',
|
||||||
|
'prepatch',
|
||||||
|
'prerelease',
|
||||||
|
]
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
MAX_LENGTH,
|
||||||
|
MAX_SAFE_COMPONENT_LENGTH,
|
||||||
|
MAX_SAFE_INTEGER,
|
||||||
|
RELEASE_TYPES,
|
||||||
|
SEMVER_SPEC_VERSION,
|
||||||
|
FLAG_INCLUDE_PRERELEASE: 0b001,
|
||||||
|
FLAG_LOOSE: 0b010,
|
||||||
|
}
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
// https://tools.ietf.org/html/rfc7231#section-6.4.4
|
// https://tools.ietf.org/html/rfc7231#section-6.4.4
|
||||||
// In case of HTTP 303, always replace method to be either HEAD or GET
|
// In case of HTTP 303, always replace method to be either HEAD or GET
|
||||||
@ -80661,8 +80712,14 @@ class RetryHandler {
|
|||||||
} = retryOptions
|
} = retryOptions
|
||||||
let { counter, currentTimeout } = state
|
let { counter, currentTimeout } = state
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
currentTimeout =
|
currentTimeout =
|
||||||
currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout
|
currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout
|
||||||
|
=======
|
||||||
|
const { MAX_SAFE_COMPONENT_LENGTH } = __nccwpck_require__(2293)
|
||||||
|
const debug = __nccwpck_require__(427)
|
||||||
|
exports = module.exports = {}
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
// Any code that is not a Undici's originated and allowed to retry
|
// Any code that is not a Undici's originated and allowed to retry
|
||||||
if (
|
if (
|
||||||
@ -80675,6 +80732,7 @@ class RetryHandler {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// If a set of method are provided and the current method is not in the list
|
// If a set of method are provided and the current method is not in the list
|
||||||
if (Array.isArray(methods) && !methods.includes(method)) {
|
if (Array.isArray(methods) && !methods.includes(method)) {
|
||||||
cb(err)
|
cb(err)
|
||||||
@ -80717,6 +80775,25 @@ class RetryHandler {
|
|||||||
|
|
||||||
onHeaders (statusCode, rawHeaders, resume, statusMessage) {
|
onHeaders (statusCode, rawHeaders, resume, statusMessage) {
|
||||||
const headers = parseHeaders(rawHeaders)
|
const headers = parseHeaders(rawHeaders)
|
||||||
|
=======
|
||||||
|
const createToken = (name, value, isGlobal) => {
|
||||||
|
// Replace all greedy whitespace to prevent regex dos issues. These regex are
|
||||||
|
// used internally via the safeRe object since all inputs in this library get
|
||||||
|
// normalized first to trim and collapse all extra whitespace. The original
|
||||||
|
// regexes are exported for userland consumption and lower level usage. A
|
||||||
|
// future breaking change could export the safer regex only with a note that
|
||||||
|
// all input should have extra whitespace removed.
|
||||||
|
const safe = value
|
||||||
|
.split('\\s*').join('\\s{0,1}')
|
||||||
|
.split('\\s+').join('\\s')
|
||||||
|
const index = R++
|
||||||
|
debug(name, index, value)
|
||||||
|
t[name] = index
|
||||||
|
src[index] = value
|
||||||
|
re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
|
||||||
|
safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
|
||||||
|
}
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
this.retryCount += 1
|
this.retryCount += 1
|
||||||
|
|
||||||
@ -80730,14 +80807,20 @@ class RetryHandler {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// Checkpoint for resume from where we left it
|
// Checkpoint for resume from where we left it
|
||||||
if (this.resume != null) {
|
if (this.resume != null) {
|
||||||
this.resume = null
|
this.resume = null
|
||||||
|
=======
|
||||||
|
createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
|
||||||
|
createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
if (statusCode !== 206) {
|
if (statusCode !== 206) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
const contentRange = parseRangeHeader(headers['content-range'])
|
const contentRange = parseRangeHeader(headers['content-range'])
|
||||||
// If no content range
|
// If no content range
|
||||||
if (!contentRange) {
|
if (!contentRange) {
|
||||||
@ -80749,6 +80832,9 @@ class RetryHandler {
|
|||||||
)
|
)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
// Let's start with a weak etag check
|
// Let's start with a weak etag check
|
||||||
if (this.etag != null && this.etag !== headers.etag) {
|
if (this.etag != null && this.etag !== headers.etag) {
|
||||||
@ -80806,11 +80892,15 @@ class RetryHandler {
|
|||||||
this.end = contentLength != null ? Number(contentLength) : null
|
this.end = contentLength != null ? Number(contentLength) : null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
assert(Number.isFinite(this.start))
|
assert(Number.isFinite(this.start))
|
||||||
assert(
|
assert(
|
||||||
this.end == null || Number.isFinite(this.end),
|
this.end == null || Number.isFinite(this.end),
|
||||||
'invalid content-length'
|
'invalid content-length'
|
||||||
)
|
)
|
||||||
|
=======
|
||||||
|
createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
this.resume = resume
|
this.resume = resume
|
||||||
this.etag = headers.etag != null ? headers.etag : null
|
this.etag = headers.etag != null ? headers.etag : null
|
||||||
@ -92172,7 +92262,11 @@ else {
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
|
<<<<<<< HEAD
|
||||||
exports.ERROR_HINT = exports.ERROR_REQUEST = exports.EVENT_NAME_PULL_REQUEST = exports.ENV_GITHUB_EVENT_NAME = exports.GDS_GRAALVM_PRODUCT_ID = exports.GDS_BASE = exports.MANDREL_NAMESPACE = exports.GRAALVM_RELEASES_REPO = exports.GRAALVM_PLATFORM = exports.GRAALVM_GH_USER = exports.GRAALVM_FILE_EXTENSION = exports.GRAALVM_ARCH = exports.JDK_HOME_SUFFIX = exports.JDK_PLATFORM = exports.JDK_ARCH = exports.VERSION_LATEST = exports.VERSION_DEV = exports.DISTRIBUTION_MANDREL = exports.DISTRIBUTION_GRAALVM_COMMUNITY = exports.DISTRIBUTION_GRAALVM = exports.EXECUTABLE_SUFFIX = exports.IS_WINDOWS = exports.IS_MACOS = exports.IS_LINUX = exports.INPUT_NI_MUSL = exports.INPUT_CHECK_FOR_UPDATES = exports.INPUT_CACHE = exports.INPUT_SET_JAVA_HOME = exports.INPUT_GITHUB_TOKEN = exports.INPUT_COMPONENTS = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_VERSION = exports.INPUT_GDS_TOKEN = exports.INPUT_VERSION = void 0;
|
exports.ERROR_HINT = exports.ERROR_REQUEST = exports.EVENT_NAME_PULL_REQUEST = exports.ENV_GITHUB_EVENT_NAME = exports.GDS_GRAALVM_PRODUCT_ID = exports.GDS_BASE = exports.MANDREL_NAMESPACE = exports.GRAALVM_RELEASES_REPO = exports.GRAALVM_PLATFORM = exports.GRAALVM_GH_USER = exports.GRAALVM_FILE_EXTENSION = exports.GRAALVM_ARCH = exports.JDK_HOME_SUFFIX = exports.JDK_PLATFORM = exports.JDK_ARCH = exports.VERSION_LATEST = exports.VERSION_DEV = exports.DISTRIBUTION_MANDREL = exports.DISTRIBUTION_GRAALVM_COMMUNITY = exports.DISTRIBUTION_GRAALVM = exports.EXECUTABLE_SUFFIX = exports.IS_WINDOWS = exports.IS_MACOS = exports.IS_LINUX = exports.INPUT_NI_MUSL = exports.INPUT_CHECK_FOR_UPDATES = exports.INPUT_CACHE = exports.INPUT_SET_JAVA_HOME = exports.INPUT_GITHUB_TOKEN = exports.INPUT_COMPONENTS = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_VERSION = exports.INPUT_GDS_TOKEN = exports.INPUT_VERSION = void 0;
|
||||||
|
=======
|
||||||
|
exports.ERROR_HINT = exports.EVENT_NAME_PULL_REQUEST = exports.ENV_GITHUB_EVENT_NAME = exports.GDS_GRAALVM_PRODUCT_ID = exports.GDS_BASE = exports.MANDREL_NAMESPACE = exports.GRAALVM_RELEASES_REPO = exports.GRAALVM_PLATFORM = exports.GRAALVM_GH_USER = exports.GRAALVM_FILE_EXTENSION = exports.GRAALVM_ARCH = exports.JDK_HOME_SUFFIX = exports.JDK_PLATFORM = exports.JDK_ARCH = exports.VERSION_LATEST = exports.VERSION_DEV = exports.DISTRIBUTION_LIBERICA = exports.DISTRIBUTION_MANDREL = exports.DISTRIBUTION_GRAALVM_COMMUNITY = exports.DISTRIBUTION_GRAALVM = exports.IS_WINDOWS = exports.IS_MACOS = exports.IS_LINUX = exports.INPUT_NI_MUSL = exports.INPUT_CHECK_FOR_UPDATES = exports.INPUT_CACHE = exports.INPUT_SET_JAVA_HOME = exports.INPUT_GITHUB_TOKEN = exports.INPUT_COMPONENTS = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_VERSION = exports.INPUT_GDS_TOKEN = exports.INPUT_VERSION = void 0;
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
exports.INPUT_VERSION = 'version';
|
exports.INPUT_VERSION = 'version';
|
||||||
exports.INPUT_GDS_TOKEN = 'gds-token';
|
exports.INPUT_GDS_TOKEN = 'gds-token';
|
||||||
exports.INPUT_JAVA_VERSION = 'java-version';
|
exports.INPUT_JAVA_VERSION = 'java-version';
|
||||||
@ -92190,6 +92284,7 @@ exports.EXECUTABLE_SUFFIX = exports.IS_WINDOWS ? '.exe' : '';
|
|||||||
exports.DISTRIBUTION_GRAALVM = 'graalvm';
|
exports.DISTRIBUTION_GRAALVM = 'graalvm';
|
||||||
exports.DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community';
|
exports.DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community';
|
||||||
exports.DISTRIBUTION_MANDREL = 'mandrel';
|
exports.DISTRIBUTION_MANDREL = 'mandrel';
|
||||||
|
exports.DISTRIBUTION_LIBERICA = 'liberica';
|
||||||
exports.VERSION_DEV = 'dev';
|
exports.VERSION_DEV = 'dev';
|
||||||
exports.VERSION_LATEST = 'latest';
|
exports.VERSION_LATEST = 'latest';
|
||||||
exports.JDK_ARCH = determineJDKArchitecture();
|
exports.JDK_ARCH = determineJDKArchitecture();
|
||||||
@ -92909,6 +93004,7 @@ function getLatestRelease(repo) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.getLatestRelease = getLatestRelease;
|
exports.getLatestRelease = getLatestRelease;
|
||||||
|
<<<<<<< HEAD
|
||||||
function getContents(repo, path) {
|
function getContents(repo, path) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const githubToken = getGitHubToken();
|
const githubToken = getGitHubToken();
|
||||||
@ -92923,26 +93019,29 @@ function getContents(repo, path) {
|
|||||||
}
|
}
|
||||||
exports.getContents = getContents;
|
exports.getContents = getContents;
|
||||||
function getTaggedRelease(repo, tag) {
|
function getTaggedRelease(repo, tag) {
|
||||||
|
=======
|
||||||
|
function getTaggedRelease(owner, repo, tag) {
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const githubToken = getGitHubToken();
|
const githubToken = getGitHubToken();
|
||||||
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
||||||
const octokit = new GitHubDotCom(options);
|
const octokit = new GitHubDotCom(options);
|
||||||
return (yield octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
return (yield octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
||||||
owner: c.GRAALVM_GH_USER,
|
owner,
|
||||||
repo,
|
repo,
|
||||||
tag
|
tag
|
||||||
})).data;
|
})).data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.getTaggedRelease = getTaggedRelease;
|
exports.getTaggedRelease = getTaggedRelease;
|
||||||
function getMatchingTags(tagPrefix) {
|
function getMatchingTags(owner, repo, tagPrefix) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const githubToken = getGitHubToken();
|
const githubToken = getGitHubToken();
|
||||||
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
||||||
const octokit = new GitHubDotCom(options);
|
const octokit = new GitHubDotCom(options);
|
||||||
return (yield octokit.request('GET /repos/{owner}/{repo}/git/matching-refs/tags/{tagPrefix}', {
|
return (yield octokit.request('GET /repos/{owner}/{repo}/git/matching-refs/tags/{tagPrefix}', {
|
||||||
owner: c.GRAALVM_GH_USER,
|
owner,
|
||||||
repo: c.GRAALVM_RELEASES_REPO,
|
repo,
|
||||||
tagPrefix
|
tagPrefix
|
||||||
})).data;
|
})).data;
|
||||||
});
|
});
|
||||||
|
237
dist/main/index.js
generated
vendored
237
dist/main/index.js
generated
vendored
@ -79751,7 +79751,19 @@ class ProgressEvent extends Event {
|
|||||||
type = webidl.converters.DOMString(type)
|
type = webidl.converters.DOMString(type)
|
||||||
eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {})
|
eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {})
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
super(type, eventInitDict)
|
super(type, eventInitDict)
|
||||||
|
=======
|
||||||
|
// First, split on ||
|
||||||
|
this.set = this.raw
|
||||||
|
.split('||')
|
||||||
|
// map the range to a 2d array of comparators
|
||||||
|
.map(r => this.parseRange(r))
|
||||||
|
// throw out any comparator lists that are empty
|
||||||
|
// this generally means that it was not a valid range, which is allowed
|
||||||
|
// in loose mode, but will still throw if the WHOLE range is invalid.
|
||||||
|
.filter(c => c.length)
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
this[kState] = {
|
this[kState] = {
|
||||||
lengthComputable: eventInitDict.lengthComputable,
|
lengthComputable: eventInitDict.lengthComputable,
|
||||||
@ -79812,6 +79824,7 @@ webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
module.exports = {
|
module.exports = {
|
||||||
ProgressEvent
|
ProgressEvent
|
||||||
}
|
}
|
||||||
@ -79821,6 +79834,22 @@ module.exports = {
|
|||||||
|
|
||||||
/***/ 9054:
|
/***/ 9054:
|
||||||
/***/ ((module) => {
|
/***/ ((module) => {
|
||||||
|
=======
|
||||||
|
const loose = this.options.loose
|
||||||
|
// `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
||||||
|
const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
|
||||||
|
range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
|
||||||
|
debug('hyphen replace', range)
|
||||||
|
// `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
||||||
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
|
||||||
|
debug('comparator trim', range)
|
||||||
|
|
||||||
|
// `~ 1.2.3` => `~1.2.3`
|
||||||
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
|
||||||
|
|
||||||
|
// `^ 1.2.3` => `^1.2.3`
|
||||||
|
range = range.replace(re[t.CARETTRIM], caretTrimReplace)
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
@ -81794,6 +81823,7 @@ module.exports = MockPool
|
|||||||
/***/ 4347:
|
/***/ 4347:
|
||||||
/***/ ((module) => {
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
||||||
@ -81817,6 +81847,37 @@ module.exports = {
|
|||||||
kNetConnect: Symbol('net connect'),
|
kNetConnect: Symbol('net connect'),
|
||||||
kGetNetConnect: Symbol('get net connect'),
|
kGetNetConnect: Symbol('get net connect'),
|
||||||
kConnected: Symbol('connected')
|
kConnected: Symbol('connected')
|
||||||
|
=======
|
||||||
|
// Note: this is the semver.org version of the spec that it implements
|
||||||
|
// Not necessarily the package version of this code.
|
||||||
|
const SEMVER_SPEC_VERSION = '2.0.0'
|
||||||
|
|
||||||
|
const MAX_LENGTH = 256
|
||||||
|
const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
|
||||||
|
/* istanbul ignore next */ 9007199254740991
|
||||||
|
|
||||||
|
// Max safe segment length for coercion.
|
||||||
|
const MAX_SAFE_COMPONENT_LENGTH = 16
|
||||||
|
|
||||||
|
const RELEASE_TYPES = [
|
||||||
|
'major',
|
||||||
|
'premajor',
|
||||||
|
'minor',
|
||||||
|
'preminor',
|
||||||
|
'patch',
|
||||||
|
'prepatch',
|
||||||
|
'prerelease',
|
||||||
|
]
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
MAX_LENGTH,
|
||||||
|
MAX_SAFE_COMPONENT_LENGTH,
|
||||||
|
MAX_SAFE_INTEGER,
|
||||||
|
RELEASE_TYPES,
|
||||||
|
SEMVER_SPEC_VERSION,
|
||||||
|
FLAG_INCLUDE_PRERELEASE: 0b001,
|
||||||
|
FLAG_LOOSE: 0b010,
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -81953,9 +82014,15 @@ function getResponseData (data) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
function getMockDispatch (mockDispatches, key) {
|
function getMockDispatch (mockDispatches, key) {
|
||||||
const basePath = key.query ? buildURL(key.path, key.query) : key.path
|
const basePath = key.query ? buildURL(key.path, key.query) : key.path
|
||||||
const resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath
|
const resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath
|
||||||
|
=======
|
||||||
|
const { MAX_SAFE_COMPONENT_LENGTH } = __nccwpck_require__(2293)
|
||||||
|
const debug = __nccwpck_require__(427)
|
||||||
|
exports = module.exports = {}
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
// Match path
|
// Match path
|
||||||
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath))
|
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath))
|
||||||
@ -81963,6 +82030,7 @@ function getMockDispatch (mockDispatches, key) {
|
|||||||
throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)
|
throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// Match method
|
// Match method
|
||||||
matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method))
|
matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method))
|
||||||
if (matchedMockDispatches.length === 0) {
|
if (matchedMockDispatches.length === 0) {
|
||||||
@ -81982,6 +82050,24 @@ function getMockDispatch (mockDispatches, key) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return matchedMockDispatches[0]
|
return matchedMockDispatches[0]
|
||||||
|
=======
|
||||||
|
const createToken = (name, value, isGlobal) => {
|
||||||
|
// Replace all greedy whitespace to prevent regex dos issues. These regex are
|
||||||
|
// used internally via the safeRe object since all inputs in this library get
|
||||||
|
// normalized first to trim and collapse all extra whitespace. The original
|
||||||
|
// regexes are exported for userland consumption and lower level usage. A
|
||||||
|
// future breaking change could export the safer regex only with a note that
|
||||||
|
// all input should have extra whitespace removed.
|
||||||
|
const safe = value
|
||||||
|
.split('\\s*').join('\\s{0,1}')
|
||||||
|
.split('\\s+').join('\\s')
|
||||||
|
const index = R++
|
||||||
|
debug(name, index, value)
|
||||||
|
t[name] = index
|
||||||
|
src[index] = value
|
||||||
|
re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
|
||||||
|
safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
}
|
}
|
||||||
|
|
||||||
function addMockDispatch (mockDispatches, key, data) {
|
function addMockDispatch (mockDispatches, key, data) {
|
||||||
@ -81992,6 +82078,7 @@ function addMockDispatch (mockDispatches, key, data) {
|
|||||||
return newMockDispatch
|
return newMockDispatch
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
function deleteMockDispatch (mockDispatches, key) {
|
function deleteMockDispatch (mockDispatches, key) {
|
||||||
const index = mockDispatches.findIndex(dispatch => {
|
const index = mockDispatches.findIndex(dispatch => {
|
||||||
if (!dispatch.consumed) {
|
if (!dispatch.consumed) {
|
||||||
@ -82003,6 +82090,10 @@ function deleteMockDispatch (mockDispatches, key) {
|
|||||||
mockDispatches.splice(index, 1)
|
mockDispatches.splice(index, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
|
||||||
|
createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
function buildKey (opts) {
|
function buildKey (opts) {
|
||||||
const { path, method, body, headers, query } = opts
|
const { path, method, body, headers, query } = opts
|
||||||
@ -82015,6 +82106,7 @@ function buildKey (opts) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
function generateKeyValues (data) {
|
function generateKeyValues (data) {
|
||||||
return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
|
return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
|
||||||
...keyValuePairs,
|
...keyValuePairs,
|
||||||
@ -82022,6 +82114,9 @@ function generateKeyValues (data) {
|
|||||||
Array.isArray(value) ? value.map(x => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
|
Array.isArray(value) ? value.map(x => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
|
||||||
], [])
|
], [])
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
|
||||||
@ -82102,12 +82197,16 @@ function mockDispatch (opts, handler) {
|
|||||||
const responseHeaders = generateKeyValues(headers)
|
const responseHeaders = generateKeyValues(headers)
|
||||||
const responseTrailers = generateKeyValues(trailers)
|
const responseTrailers = generateKeyValues(trailers)
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
handler.abort = nop
|
handler.abort = nop
|
||||||
handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode))
|
handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode))
|
||||||
handler.onData(Buffer.from(responseData))
|
handler.onData(Buffer.from(responseData))
|
||||||
handler.onComplete(responseTrailers)
|
handler.onComplete(responseTrailers)
|
||||||
deleteMockDispatch(mockDispatches, key)
|
deleteMockDispatch(mockDispatches, key)
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
|
|
||||||
function resume () {}
|
function resume () {}
|
||||||
|
|
||||||
@ -92738,7 +92837,11 @@ function wrappy (fn, cb) {
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
|
<<<<<<< HEAD
|
||||||
exports.ERROR_HINT = exports.ERROR_REQUEST = exports.EVENT_NAME_PULL_REQUEST = exports.ENV_GITHUB_EVENT_NAME = exports.GDS_GRAALVM_PRODUCT_ID = exports.GDS_BASE = exports.MANDREL_NAMESPACE = exports.GRAALVM_RELEASES_REPO = exports.GRAALVM_PLATFORM = exports.GRAALVM_GH_USER = exports.GRAALVM_FILE_EXTENSION = exports.GRAALVM_ARCH = exports.JDK_HOME_SUFFIX = exports.JDK_PLATFORM = exports.JDK_ARCH = exports.VERSION_LATEST = exports.VERSION_DEV = exports.DISTRIBUTION_MANDREL = exports.DISTRIBUTION_GRAALVM_COMMUNITY = exports.DISTRIBUTION_GRAALVM = exports.EXECUTABLE_SUFFIX = exports.IS_WINDOWS = exports.IS_MACOS = exports.IS_LINUX = exports.INPUT_NI_MUSL = exports.INPUT_CHECK_FOR_UPDATES = exports.INPUT_CACHE = exports.INPUT_SET_JAVA_HOME = exports.INPUT_GITHUB_TOKEN = exports.INPUT_COMPONENTS = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_VERSION = exports.INPUT_GDS_TOKEN = exports.INPUT_VERSION = void 0;
|
exports.ERROR_HINT = exports.ERROR_REQUEST = exports.EVENT_NAME_PULL_REQUEST = exports.ENV_GITHUB_EVENT_NAME = exports.GDS_GRAALVM_PRODUCT_ID = exports.GDS_BASE = exports.MANDREL_NAMESPACE = exports.GRAALVM_RELEASES_REPO = exports.GRAALVM_PLATFORM = exports.GRAALVM_GH_USER = exports.GRAALVM_FILE_EXTENSION = exports.GRAALVM_ARCH = exports.JDK_HOME_SUFFIX = exports.JDK_PLATFORM = exports.JDK_ARCH = exports.VERSION_LATEST = exports.VERSION_DEV = exports.DISTRIBUTION_MANDREL = exports.DISTRIBUTION_GRAALVM_COMMUNITY = exports.DISTRIBUTION_GRAALVM = exports.EXECUTABLE_SUFFIX = exports.IS_WINDOWS = exports.IS_MACOS = exports.IS_LINUX = exports.INPUT_NI_MUSL = exports.INPUT_CHECK_FOR_UPDATES = exports.INPUT_CACHE = exports.INPUT_SET_JAVA_HOME = exports.INPUT_GITHUB_TOKEN = exports.INPUT_COMPONENTS = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_VERSION = exports.INPUT_GDS_TOKEN = exports.INPUT_VERSION = void 0;
|
||||||
|
=======
|
||||||
|
exports.ERROR_HINT = exports.EVENT_NAME_PULL_REQUEST = exports.ENV_GITHUB_EVENT_NAME = exports.GDS_GRAALVM_PRODUCT_ID = exports.GDS_BASE = exports.MANDREL_NAMESPACE = exports.GRAALVM_RELEASES_REPO = exports.GRAALVM_PLATFORM = exports.GRAALVM_GH_USER = exports.GRAALVM_FILE_EXTENSION = exports.GRAALVM_ARCH = exports.JDK_HOME_SUFFIX = exports.JDK_PLATFORM = exports.JDK_ARCH = exports.VERSION_LATEST = exports.VERSION_DEV = exports.DISTRIBUTION_LIBERICA = exports.DISTRIBUTION_MANDREL = exports.DISTRIBUTION_GRAALVM_COMMUNITY = exports.DISTRIBUTION_GRAALVM = exports.IS_WINDOWS = exports.IS_MACOS = exports.IS_LINUX = exports.INPUT_NI_MUSL = exports.INPUT_CHECK_FOR_UPDATES = exports.INPUT_CACHE = exports.INPUT_SET_JAVA_HOME = exports.INPUT_GITHUB_TOKEN = exports.INPUT_COMPONENTS = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_VERSION = exports.INPUT_GDS_TOKEN = exports.INPUT_VERSION = void 0;
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
exports.INPUT_VERSION = 'version';
|
exports.INPUT_VERSION = 'version';
|
||||||
exports.INPUT_GDS_TOKEN = 'gds-token';
|
exports.INPUT_GDS_TOKEN = 'gds-token';
|
||||||
exports.INPUT_JAVA_VERSION = 'java-version';
|
exports.INPUT_JAVA_VERSION = 'java-version';
|
||||||
@ -92756,6 +92859,7 @@ exports.EXECUTABLE_SUFFIX = exports.IS_WINDOWS ? '.exe' : '';
|
|||||||
exports.DISTRIBUTION_GRAALVM = 'graalvm';
|
exports.DISTRIBUTION_GRAALVM = 'graalvm';
|
||||||
exports.DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community';
|
exports.DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community';
|
||||||
exports.DISTRIBUTION_MANDREL = 'mandrel';
|
exports.DISTRIBUTION_MANDREL = 'mandrel';
|
||||||
|
exports.DISTRIBUTION_LIBERICA = 'liberica';
|
||||||
exports.VERSION_DEV = 'dev';
|
exports.VERSION_DEV = 'dev';
|
||||||
exports.VERSION_LATEST = 'latest';
|
exports.VERSION_LATEST = 'latest';
|
||||||
exports.JDK_ARCH = determineJDKArchitecture();
|
exports.JDK_ARCH = determineJDKArchitecture();
|
||||||
@ -93955,7 +94059,7 @@ function setUpGraalVMJDKCE(javaVersionOrDev) {
|
|||||||
exports.setUpGraalVMJDKCE = setUpGraalVMJDKCE;
|
exports.setUpGraalVMJDKCE = setUpGraalVMJDKCE;
|
||||||
function findLatestGraalVMJDKCEJavaVersion(majorJavaVersion) {
|
function findLatestGraalVMJDKCEJavaVersion(majorJavaVersion) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const matchingRefs = yield (0, utils_1.getMatchingTags)(`${GRAALVM_JDK_TAG_PREFIX}${majorJavaVersion}`);
|
const matchingRefs = yield (0, utils_1.getMatchingTags)(c.GRAALVM_GH_USER, c.GRAALVM_RELEASES_REPO, `${GRAALVM_JDK_TAG_PREFIX}${majorJavaVersion}`);
|
||||||
const lowestNonExistingVersion = '0.0.1';
|
const lowestNonExistingVersion = '0.0.1';
|
||||||
let highestVersion = lowestNonExistingVersion;
|
let highestVersion = lowestNonExistingVersion;
|
||||||
const versionNumberStartIndex = `refs/tags/${GRAALVM_JDK_TAG_PREFIX}`.length;
|
const versionNumberStartIndex = `refs/tags/${GRAALVM_JDK_TAG_PREFIX}`.length;
|
||||||
@ -94028,7 +94132,7 @@ function setUpGraalVMLatest_22_X(gdsToken, javaVersion) {
|
|||||||
if (gdsToken.length > 0) {
|
if (gdsToken.length > 0) {
|
||||||
return setUpGraalVMRelease(gdsToken, lockedVersion, javaVersion);
|
return setUpGraalVMRelease(gdsToken, lockedVersion, javaVersion);
|
||||||
}
|
}
|
||||||
const latestRelease = yield (0, utils_1.getTaggedRelease)(c.GRAALVM_RELEASES_REPO, GRAALVM_TAG_PREFIX + lockedVersion);
|
const latestRelease = yield (0, utils_1.getTaggedRelease)(c.GRAALVM_GH_USER, c.GRAALVM_RELEASES_REPO, GRAALVM_TAG_PREFIX + lockedVersion);
|
||||||
const version = findGraalVMVersion(latestRelease);
|
const version = findGraalVMVersion(latestRelease);
|
||||||
return setUpGraalVMRelease(gdsToken, version, javaVersion);
|
return setUpGraalVMRelease(gdsToken, version, javaVersion);
|
||||||
});
|
});
|
||||||
@ -94200,6 +94304,119 @@ function installGUComponents(gdsToken, graalVMHome, components) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9684:
|
||||||
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||||
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||||
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||||
|
}
|
||||||
|
Object.defineProperty(o, k2, desc);
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
|
exports.findLibericaURL = exports.findLatestLibericaJavaVersion = exports.setUpLiberica = void 0;
|
||||||
|
const c = __importStar(__nccwpck_require__(9042));
|
||||||
|
const semver = __importStar(__nccwpck_require__(1383));
|
||||||
|
const utils_1 = __nccwpck_require__(1314);
|
||||||
|
const tool_cache_1 = __nccwpck_require__(7784);
|
||||||
|
const LIBERICA_GH_USER = 'bell-sw';
|
||||||
|
const LIBERICA_RELEASES_REPO = 'LibericaNIK';
|
||||||
|
const LIBERICA_JDK_TAG_PREFIX = 'jdk-';
|
||||||
|
const LIBERICA_VM_PREFIX = 'bellsoft-liberica-vm-';
|
||||||
|
function setUpLiberica(javaVersion, version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const resolvedJavaVersion = yield findLatestLibericaJavaVersion(javaVersion);
|
||||||
|
const downloadUrl = yield findLibericaURL(resolvedJavaVersion, version);
|
||||||
|
const toolName = determineToolName(javaVersion, version);
|
||||||
|
return (0, utils_1.downloadExtractAndCacheJDK)(() => __awaiter(this, void 0, void 0, function* () { return (0, tool_cache_1.downloadTool)(downloadUrl); }), toolName, javaVersion);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.setUpLiberica = setUpLiberica;
|
||||||
|
function findLatestLibericaJavaVersion(javaVersion) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const matchingRefs = yield (0, utils_1.getMatchingTags)(LIBERICA_GH_USER, LIBERICA_RELEASES_REPO, `${LIBERICA_JDK_TAG_PREFIX}${javaVersion}`);
|
||||||
|
const noMatch = '0.0.1';
|
||||||
|
let bestMatch = noMatch;
|
||||||
|
const prefixLength = `refs/tags/${LIBERICA_JDK_TAG_PREFIX}`.length;
|
||||||
|
const patternLength = javaVersion.length;
|
||||||
|
for (const matchingRef of matchingRefs) {
|
||||||
|
const version = matchingRef.ref.substring(prefixLength);
|
||||||
|
if (semver.valid(version) &&
|
||||||
|
// pattern '17.0.1' should match '17.0.1+12' but not '17.0.10'
|
||||||
|
(version.length <= patternLength ||
|
||||||
|
!isDigit(version.charAt(patternLength))) &&
|
||||||
|
semver.compareBuild(version, bestMatch) == 1) {
|
||||||
|
bestMatch = version;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bestMatch === noMatch) {
|
||||||
|
throw new Error(`Unable to find the latest version for JDK${javaVersion}. Please make sure the java-version is set correctly. ${c.ERROR_HINT}`);
|
||||||
|
}
|
||||||
|
return bestMatch;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.findLatestLibericaJavaVersion = findLatestLibericaJavaVersion;
|
||||||
|
function findLibericaURL(javaVersion, version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const release = yield (0, utils_1.getTaggedRelease)(LIBERICA_GH_USER, LIBERICA_RELEASES_REPO, LIBERICA_JDK_TAG_PREFIX + javaVersion);
|
||||||
|
const platform = determinePlatformPart();
|
||||||
|
const assetPrefix = `${LIBERICA_VM_PREFIX}${determineToolVersionPart(version)}openjdk${javaVersion}`;
|
||||||
|
const assetSuffix = `-${platform}${c.GRAALVM_FILE_EXTENSION}`;
|
||||||
|
for (const asset of release.assets) {
|
||||||
|
if (asset.name.startsWith(assetPrefix) &&
|
||||||
|
asset.name.endsWith(assetSuffix)) {
|
||||||
|
return asset.browser_download_url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new Error(`Unable to find asset for java-version: ${javaVersion}, version: ${version}, platform: ${platform}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.findLibericaURL = findLibericaURL;
|
||||||
|
function determineToolVersionPart(version) {
|
||||||
|
return version === 'std' || version === '' ? '' : `${version}-`;
|
||||||
|
}
|
||||||
|
function determineToolName(javaVersion, version) {
|
||||||
|
return `${LIBERICA_VM_PREFIX}${determineToolVersionPart(version)}openjdk${javaVersion}-${determinePlatformPart()}`;
|
||||||
|
}
|
||||||
|
function determinePlatformPart() {
|
||||||
|
// for linux-musl, return `linux-${c.JDK_ARCH}-musl`
|
||||||
|
return `${c.JDK_PLATFORM}-${c.GRAALVM_ARCH}`;
|
||||||
|
}
|
||||||
|
function isDigit(c) {
|
||||||
|
return c.charAt(0) >= '0' && c.charAt(0) <= '9';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 399:
|
/***/ 399:
|
||||||
@ -94250,6 +94467,7 @@ const cache_2 = __nccwpck_require__(9179);
|
|||||||
const dependencies_1 = __nccwpck_require__(7760);
|
const dependencies_1 = __nccwpck_require__(7760);
|
||||||
const gu_1 = __nccwpck_require__(5609);
|
const gu_1 = __nccwpck_require__(5609);
|
||||||
const mandrel_1 = __nccwpck_require__(8766);
|
const mandrel_1 = __nccwpck_require__(8766);
|
||||||
|
const liberica_1 = __nccwpck_require__(9684);
|
||||||
const check_for_updates_1 = __nccwpck_require__(6780);
|
const check_for_updates_1 = __nccwpck_require__(6780);
|
||||||
const musl_1 = __nccwpck_require__(316);
|
const musl_1 = __nccwpck_require__(316);
|
||||||
const msvc_1 = __nccwpck_require__(1165);
|
const msvc_1 = __nccwpck_require__(1165);
|
||||||
@ -94296,6 +94514,9 @@ function run() {
|
|||||||
case c.DISTRIBUTION_MANDREL:
|
case c.DISTRIBUTION_MANDREL:
|
||||||
graalVMHome = yield (0, mandrel_1.setUpMandrel)(graalVMVersion, javaVersion);
|
graalVMHome = yield (0, mandrel_1.setUpMandrel)(graalVMVersion, javaVersion);
|
||||||
break;
|
break;
|
||||||
|
case c.DISTRIBUTION_LIBERICA:
|
||||||
|
graalVMHome = yield (0, liberica_1.setUpLiberica)(javaVersion, graalVMVersion);
|
||||||
|
break;
|
||||||
case '':
|
case '':
|
||||||
if (javaVersion === c.VERSION_DEV) {
|
if (javaVersion === c.VERSION_DEV) {
|
||||||
core.info(`This build is using GraalVM Community Edition. To select a specific distribution, use the 'distribution' option (see https://github.com/graalvm/setup-graalvm/tree/main#options).`);
|
core.info(`This build is using GraalVM Community Edition. To select a specific distribution, use the 'distribution' option (see https://github.com/graalvm/setup-graalvm/tree/main#options).`);
|
||||||
@ -94727,6 +94948,7 @@ function getLatestRelease(repo) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.getLatestRelease = getLatestRelease;
|
exports.getLatestRelease = getLatestRelease;
|
||||||
|
<<<<<<< HEAD
|
||||||
function getContents(repo, path) {
|
function getContents(repo, path) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const githubToken = getGitHubToken();
|
const githubToken = getGitHubToken();
|
||||||
@ -94741,26 +94963,29 @@ function getContents(repo, path) {
|
|||||||
}
|
}
|
||||||
exports.getContents = getContents;
|
exports.getContents = getContents;
|
||||||
function getTaggedRelease(repo, tag) {
|
function getTaggedRelease(repo, tag) {
|
||||||
|
=======
|
||||||
|
function getTaggedRelease(owner, repo, tag) {
|
||||||
|
>>>>>>> Added Liberica distribution
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const githubToken = getGitHubToken();
|
const githubToken = getGitHubToken();
|
||||||
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
||||||
const octokit = new GitHubDotCom(options);
|
const octokit = new GitHubDotCom(options);
|
||||||
return (yield octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
return (yield octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
||||||
owner: c.GRAALVM_GH_USER,
|
owner,
|
||||||
repo,
|
repo,
|
||||||
tag
|
tag
|
||||||
})).data;
|
})).data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.getTaggedRelease = getTaggedRelease;
|
exports.getTaggedRelease = getTaggedRelease;
|
||||||
function getMatchingTags(tagPrefix) {
|
function getMatchingTags(owner, repo, tagPrefix) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const githubToken = getGitHubToken();
|
const githubToken = getGitHubToken();
|
||||||
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
const options = githubToken.length > 0 ? { auth: githubToken } : {};
|
||||||
const octokit = new GitHubDotCom(options);
|
const octokit = new GitHubDotCom(options);
|
||||||
return (yield octokit.request('GET /repos/{owner}/{repo}/git/matching-refs/tags/{tagPrefix}', {
|
return (yield octokit.request('GET /repos/{owner}/{repo}/git/matching-refs/tags/{tagPrefix}', {
|
||||||
owner: c.GRAALVM_GH_USER,
|
owner,
|
||||||
repo: c.GRAALVM_RELEASES_REPO,
|
repo,
|
||||||
tagPrefix
|
tagPrefix
|
||||||
})).data;
|
})).data;
|
||||||
});
|
});
|
||||||
|
@ -20,6 +20,7 @@ export const EXECUTABLE_SUFFIX = IS_WINDOWS ? '.exe' : ''
|
|||||||
export const DISTRIBUTION_GRAALVM = 'graalvm'
|
export const DISTRIBUTION_GRAALVM = 'graalvm'
|
||||||
export const DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community'
|
export const DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community'
|
||||||
export const DISTRIBUTION_MANDREL = 'mandrel'
|
export const DISTRIBUTION_MANDREL = 'mandrel'
|
||||||
|
export const DISTRIBUTION_LIBERICA = 'liberica'
|
||||||
|
|
||||||
export const VERSION_DEV = 'dev'
|
export const VERSION_DEV = 'dev'
|
||||||
export const VERSION_LATEST = 'latest'
|
export const VERSION_LATEST = 'latest'
|
||||||
|
@ -138,6 +138,8 @@ export async function findLatestGraalVMJDKCEJavaVersion(
|
|||||||
majorJavaVersion: string
|
majorJavaVersion: string
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const matchingRefs = await getMatchingTags(
|
const matchingRefs = await getMatchingTags(
|
||||||
|
c.GRAALVM_GH_USER,
|
||||||
|
c.GRAALVM_RELEASES_REPO,
|
||||||
`${GRAALVM_JDK_TAG_PREFIX}${majorJavaVersion}`
|
`${GRAALVM_JDK_TAG_PREFIX}${majorJavaVersion}`
|
||||||
)
|
)
|
||||||
const lowestNonExistingVersion = '0.0.1'
|
const lowestNonExistingVersion = '0.0.1'
|
||||||
@ -244,6 +246,7 @@ export async function setUpGraalVMLatest_22_X(
|
|||||||
return setUpGraalVMRelease(gdsToken, lockedVersion, javaVersion)
|
return setUpGraalVMRelease(gdsToken, lockedVersion, javaVersion)
|
||||||
}
|
}
|
||||||
const latestRelease = await getTaggedRelease(
|
const latestRelease = await getTaggedRelease(
|
||||||
|
c.GRAALVM_GH_USER,
|
||||||
c.GRAALVM_RELEASES_REPO,
|
c.GRAALVM_RELEASES_REPO,
|
||||||
GRAALVM_TAG_PREFIX + lockedVersion
|
GRAALVM_TAG_PREFIX + lockedVersion
|
||||||
)
|
)
|
||||||
|
105
src/liberica.ts
Normal file
105
src/liberica.ts
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
import * as c from './constants'
|
||||||
|
import * as semver from 'semver'
|
||||||
|
import {
|
||||||
|
downloadExtractAndCacheJDK,
|
||||||
|
getTaggedRelease,
|
||||||
|
getMatchingTags
|
||||||
|
} from './utils'
|
||||||
|
import {downloadTool} from '@actions/tool-cache'
|
||||||
|
|
||||||
|
const LIBERICA_GH_USER = 'bell-sw'
|
||||||
|
const LIBERICA_RELEASES_REPO = 'LibericaNIK'
|
||||||
|
const LIBERICA_JDK_TAG_PREFIX = 'jdk-'
|
||||||
|
const LIBERICA_VM_PREFIX = 'bellsoft-liberica-vm-'
|
||||||
|
|
||||||
|
export async function setUpLiberica(
|
||||||
|
javaVersion: string,
|
||||||
|
version: string
|
||||||
|
): Promise<string> {
|
||||||
|
const resolvedJavaVersion = await findLatestLibericaJavaVersion(javaVersion)
|
||||||
|
const downloadUrl = await findLibericaURL(resolvedJavaVersion, version)
|
||||||
|
const toolName = determineToolName(javaVersion, version)
|
||||||
|
return downloadExtractAndCacheJDK(
|
||||||
|
async () => downloadTool(downloadUrl),
|
||||||
|
toolName,
|
||||||
|
javaVersion
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function findLatestLibericaJavaVersion(
|
||||||
|
javaVersion: string
|
||||||
|
): Promise<string> {
|
||||||
|
const matchingRefs = await getMatchingTags(
|
||||||
|
LIBERICA_GH_USER,
|
||||||
|
LIBERICA_RELEASES_REPO,
|
||||||
|
`${LIBERICA_JDK_TAG_PREFIX}${javaVersion}`
|
||||||
|
)
|
||||||
|
const noMatch = '0.0.1'
|
||||||
|
let bestMatch = noMatch
|
||||||
|
const prefixLength = `refs/tags/${LIBERICA_JDK_TAG_PREFIX}`.length
|
||||||
|
const patternLength = javaVersion.length
|
||||||
|
for (const matchingRef of matchingRefs) {
|
||||||
|
const version = matchingRef.ref.substring(prefixLength)
|
||||||
|
if (
|
||||||
|
semver.valid(version) &&
|
||||||
|
// pattern '17.0.1' should match '17.0.1+12' but not '17.0.10'
|
||||||
|
(version.length <= patternLength ||
|
||||||
|
!isDigit(version.charAt(patternLength))) &&
|
||||||
|
semver.compareBuild(version, bestMatch) == 1
|
||||||
|
) {
|
||||||
|
bestMatch = version
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bestMatch === noMatch) {
|
||||||
|
throw new Error(
|
||||||
|
`Unable to find the latest version for JDK${javaVersion}. Please make sure the java-version is set correctly. ${c.ERROR_HINT}`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return bestMatch
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function findLibericaURL(
|
||||||
|
javaVersion: string,
|
||||||
|
version: string
|
||||||
|
): Promise<string> {
|
||||||
|
const release = await getTaggedRelease(
|
||||||
|
LIBERICA_GH_USER,
|
||||||
|
LIBERICA_RELEASES_REPO,
|
||||||
|
LIBERICA_JDK_TAG_PREFIX + javaVersion
|
||||||
|
)
|
||||||
|
const platform = determinePlatformPart()
|
||||||
|
const assetPrefix = `${LIBERICA_VM_PREFIX}${determineToolVersionPart(
|
||||||
|
version
|
||||||
|
)}openjdk${javaVersion}`
|
||||||
|
const assetSuffix = `-${platform}${c.GRAALVM_FILE_EXTENSION}`
|
||||||
|
for (const asset of release.assets) {
|
||||||
|
if (
|
||||||
|
asset.name.startsWith(assetPrefix) &&
|
||||||
|
asset.name.endsWith(assetSuffix)
|
||||||
|
) {
|
||||||
|
return asset.browser_download_url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new Error(
|
||||||
|
`Unable to find asset for java-version: ${javaVersion}, version: ${version}, platform: ${platform}`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function determineToolVersionPart(version: string) {
|
||||||
|
return version === 'std' || version === '' ? '' : `${version}-`
|
||||||
|
}
|
||||||
|
|
||||||
|
function determineToolName(javaVersion: string, version: string) {
|
||||||
|
return `${LIBERICA_VM_PREFIX}${determineToolVersionPart(
|
||||||
|
version
|
||||||
|
)}openjdk${javaVersion}-${determinePlatformPart()}`
|
||||||
|
}
|
||||||
|
|
||||||
|
function determinePlatformPart() {
|
||||||
|
// for linux-musl, return `linux-${c.JDK_ARCH}-musl`
|
||||||
|
return `${c.JDK_PLATFORM}-${c.GRAALVM_ARCH}`
|
||||||
|
}
|
||||||
|
|
||||||
|
function isDigit(c: string) {
|
||||||
|
return c.charAt(0) >= '0' && c.charAt(0) <= '9'
|
||||||
|
}
|
@ -8,6 +8,7 @@ import {restore} from './features/cache'
|
|||||||
import {setUpDependencies} from './dependencies'
|
import {setUpDependencies} from './dependencies'
|
||||||
import {setUpGUComponents} from './gu'
|
import {setUpGUComponents} from './gu'
|
||||||
import {setUpMandrel} from './mandrel'
|
import {setUpMandrel} from './mandrel'
|
||||||
|
import {setUpLiberica} from './liberica'
|
||||||
import {checkForUpdates} from './features/check-for-updates'
|
import {checkForUpdates} from './features/check-for-updates'
|
||||||
import {setUpNativeImageMusl} from './features/musl'
|
import {setUpNativeImageMusl} from './features/musl'
|
||||||
import {setUpWindowsEnvironment} from './msvc'
|
import {setUpWindowsEnvironment} from './msvc'
|
||||||
@ -65,6 +66,9 @@ async function run(): Promise<void> {
|
|||||||
case c.DISTRIBUTION_MANDREL:
|
case c.DISTRIBUTION_MANDREL:
|
||||||
graalVMHome = await setUpMandrel(graalVMVersion, javaVersion)
|
graalVMHome = await setUpMandrel(graalVMVersion, javaVersion)
|
||||||
break
|
break
|
||||||
|
case c.DISTRIBUTION_LIBERICA:
|
||||||
|
graalVMHome = await setUpLiberica(javaVersion, graalVMVersion)
|
||||||
|
break
|
||||||
case '':
|
case '':
|
||||||
if (javaVersion === c.VERSION_DEV) {
|
if (javaVersion === c.VERSION_DEV) {
|
||||||
core.info(
|
core.info(
|
||||||
|
@ -65,6 +65,7 @@ export async function getContents(
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function getTaggedRelease(
|
export async function getTaggedRelease(
|
||||||
|
owner: string,
|
||||||
repo: string,
|
repo: string,
|
||||||
tag: string
|
tag: string
|
||||||
): Promise<c.LatestReleaseResponse['data']> {
|
): Promise<c.LatestReleaseResponse['data']> {
|
||||||
@ -73,7 +74,7 @@ export async function getTaggedRelease(
|
|||||||
const octokit = new GitHubDotCom(options)
|
const octokit = new GitHubDotCom(options)
|
||||||
return (
|
return (
|
||||||
await octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
await octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
||||||
owner: c.GRAALVM_GH_USER,
|
owner,
|
||||||
repo,
|
repo,
|
||||||
tag
|
tag
|
||||||
})
|
})
|
||||||
@ -81,6 +82,8 @@ export async function getTaggedRelease(
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function getMatchingTags(
|
export async function getMatchingTags(
|
||||||
|
owner: string,
|
||||||
|
repo: string,
|
||||||
tagPrefix: string
|
tagPrefix: string
|
||||||
): Promise<c.MatchingRefsResponse['data']> {
|
): Promise<c.MatchingRefsResponse['data']> {
|
||||||
const githubToken = getGitHubToken()
|
const githubToken = getGitHubToken()
|
||||||
@ -90,8 +93,8 @@ export async function getMatchingTags(
|
|||||||
await octokit.request(
|
await octokit.request(
|
||||||
'GET /repos/{owner}/{repo}/git/matching-refs/tags/{tagPrefix}',
|
'GET /repos/{owner}/{repo}/git/matching-refs/tags/{tagPrefix}',
|
||||||
{
|
{
|
||||||
owner: c.GRAALVM_GH_USER,
|
owner,
|
||||||
repo: c.GRAALVM_RELEASES_REPO,
|
repo,
|
||||||
tagPrefix
|
tagPrefix
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user