Use java-package input instead of version

This commit is contained in:
peterz
2024-03-06 15:40:00 +03:00
committed by Fabio Niephaus
parent 6670574f7f
commit 30261a858e
9 changed files with 47 additions and 35 deletions

View File

@@ -3,6 +3,7 @@ import * as otypes from '@octokit/types'
export const INPUT_VERSION = 'version'
export const INPUT_GDS_TOKEN = 'gds-token'
export const INPUT_JAVA_VERSION = 'java-version'
export const INPUT_JAVA_PACKAGE = 'java-package'
export const INPUT_DISTRIBUTION = 'distribution'
export const INPUT_COMPONENTS = 'components'
export const INPUT_GITHUB_TOKEN = 'github-token'

View File

@@ -15,11 +15,11 @@ const LIBERICA_VM_PREFIX = 'bellsoft-liberica-vm-'
export async function setUpLiberica(
javaVersion: string,
version: string
javaPackage: string
): Promise<string> {
const resolvedJavaVersion = await findLatestLibericaJavaVersion(javaVersion)
const downloadUrl = await findLibericaURL(resolvedJavaVersion, version)
const toolName = determineToolName(javaVersion, version)
const downloadUrl = await findLibericaURL(resolvedJavaVersion, javaPackage)
const toolName = determineToolName(javaVersion, javaPackage)
return downloadExtractAndCacheJDK(
async () => downloadTool(downloadUrl),
toolName,
@@ -61,7 +61,7 @@ export async function findLatestLibericaJavaVersion(
export async function findLibericaURL(
javaVersion: string,
version: string
javaPackage: string
): Promise<string> {
const release = await getTaggedRelease(
LIBERICA_GH_USER,
@@ -69,8 +69,8 @@ export async function findLibericaURL(
LIBERICA_JDK_TAG_PREFIX + javaVersion
)
const platform = determinePlatformPart()
const assetPrefix = `${LIBERICA_VM_PREFIX}${determineToolVersionPart(
version
const assetPrefix = `${LIBERICA_VM_PREFIX}${determineVariantPart(
javaPackage
)}openjdk${javaVersion}`
const assetSuffix = `-${platform}${c.GRAALVM_FILE_EXTENSION}`
for (const asset of release.assets) {
@@ -82,18 +82,18 @@ export async function findLibericaURL(
}
}
throw new Error(
`Unable to find asset for java-version: ${javaVersion}, version: ${version}, platform: ${platform}`
`Unable to find asset for java-version: ${javaVersion}, java-package: ${javaPackage}, platform: ${platform}`
)
}
function determineToolVersionPart(version: string) {
return version === 'std' || version === '' ? '' : `${version}-`
function determineToolName(javaVersion: string, javaPackage: string) {
const variant = determineVariantPart(javaPackage)
const platform = determinePlatformPart()
return `${LIBERICA_VM_PREFIX}${variant}openjdk${javaVersion}-${platform}`
}
function determineToolName(javaVersion: string, version: string) {
return `${LIBERICA_VM_PREFIX}${determineToolVersionPart(
version
)}openjdk${javaVersion}-${determinePlatformPart()}`
function determineVariantPart(javaPackage: string) {
return javaPackage !== null && javaPackage.includes('+fx') ? 'full-' : ''
}
function determinePlatformPart() {

View File

@@ -18,6 +18,7 @@ import {exec} from '@actions/exec'
async function run(): Promise<void> {
try {
const javaVersion = core.getInput(c.INPUT_JAVA_VERSION, {required: true})
const javaPackage = core.getInput(c.INPUT_JAVA_PACKAGE)
const distribution = core.getInput(c.INPUT_DISTRIBUTION)
const graalVMVersion = core.getInput(c.INPUT_VERSION)
const gdsToken = core.getInput(c.INPUT_GDS_TOKEN)
@@ -67,7 +68,7 @@ async function run(): Promise<void> {
graalVMHome = await setUpMandrel(graalVMVersion, javaVersion)
break
case c.DISTRIBUTION_LIBERICA:
graalVMHome = await setUpLiberica(javaVersion, graalVMVersion)
graalVMHome = await setUpLiberica(javaVersion, javaPackage)
break
case '':
if (javaVersion === c.VERSION_DEV) {