mirror of
https://github.com/graalvm/setup-graalvm.git
synced 2025-03-13 14:30:15 +08:00
124 lines
3.6 KiB
TypeScript
124 lines
3.6 KiB
TypeScript
import * as otypes from '@octokit/types'
|
|
|
|
export const ACTION_VERSION = '1.2.7'
|
|
|
|
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'
|
|
export const INPUT_SET_JAVA_HOME = 'set-java-home'
|
|
export const INPUT_CACHE = 'cache'
|
|
export const INPUT_CHECK_FOR_UPDATES = 'check-for-updates'
|
|
export const INPUT_NI_MUSL = 'native-image-musl'
|
|
|
|
export const IS_LINUX = process.platform === 'linux'
|
|
export const IS_MACOS = process.platform === 'darwin'
|
|
export const IS_WINDOWS = process.platform === 'win32'
|
|
|
|
export const EXECUTABLE_SUFFIX = IS_WINDOWS ? '.exe' : ''
|
|
|
|
export const DISTRIBUTION_GRAALVM = 'graalvm'
|
|
export const DISTRIBUTION_GRAALVM_COMMUNITY = 'graalvm-community'
|
|
export const DISTRIBUTION_MANDREL = 'mandrel'
|
|
export const DISTRIBUTION_LIBERICA = 'liberica'
|
|
|
|
export const VERSION_DEV = 'dev'
|
|
export const VERSION_LATEST = 'latest'
|
|
|
|
export const JDK_ARCH = determineJDKArchitecture()
|
|
export const JDK_PLATFORM = determineJDKPlatform()
|
|
export const JDK_HOME_SUFFIX = IS_MACOS ? '/Contents/Home' : ''
|
|
|
|
export const GRAALVM_ARCH = determineGraalVMArchitecture()
|
|
export const GRAALVM_FILE_EXTENSION = IS_WINDOWS ? '.zip' : '.tar.gz'
|
|
export const GRAALVM_GH_USER = 'graalvm'
|
|
export const GRAALVM_PLATFORM = IS_WINDOWS ? 'windows' : process.platform
|
|
export const GRAALVM_RELEASES_REPO = 'graalvm-ce-builds'
|
|
|
|
export const MANDREL_NAMESPACE = 'mandrel-'
|
|
|
|
export const GDS_BASE = 'https://gds.oracle.com/api/20220101'
|
|
export const GDS_GRAALVM_PRODUCT_ID = 'D53FAE8052773FFAE0530F15000AA6C6'
|
|
|
|
export const ENV_GITHUB_EVENT_NAME = 'GITHUB_EVENT_NAME'
|
|
export const EVENT_NAME_PULL_REQUEST = 'pull_request'
|
|
|
|
export const ERROR_REQUEST =
|
|
'Please file an issue at: https://github.com/graalvm/setup-graalvm/issues.'
|
|
|
|
export const ERROR_HINT =
|
|
'If you think this is a mistake, please file an issue at: https://github.com/graalvm/setup-graalvm/issues.'
|
|
|
|
export type LatestReleaseResponse =
|
|
otypes.Endpoints['GET /repos/{owner}/{repo}/releases/latest']['response']
|
|
|
|
export type MatchingRefsResponse =
|
|
otypes.Endpoints['GET /repos/{owner}/{repo}/git/matching-refs/{ref}']['response']
|
|
|
|
export type ReleasesResponse =
|
|
otypes.Endpoints['GET /repos/{owner}/{repo}/releases']['response']
|
|
|
|
export type ContentsResponse =
|
|
otypes.Endpoints['GET /repos/{owner}/{repo}/contents/{path}']['response']
|
|
|
|
export interface OracleGraalVMEAFile {
|
|
filename: string
|
|
arch: 'aarch64' | 'x64'
|
|
platform: 'darwin' | 'linux' | 'windows'
|
|
}
|
|
|
|
export interface OracleGraalVMEAVersion {
|
|
version: string
|
|
latest?: boolean
|
|
download_base_url: string
|
|
files: OracleGraalVMEAFile[]
|
|
}
|
|
|
|
function determineJDKArchitecture(): string {
|
|
switch (process.arch) {
|
|
case 'x64': {
|
|
return 'x64'
|
|
}
|
|
case 'arm64': {
|
|
return 'aarch64'
|
|
}
|
|
default: {
|
|
throw new Error(`Unsupported architecture: ${process.arch}`)
|
|
}
|
|
}
|
|
}
|
|
|
|
function determineJDKPlatform(): string {
|
|
switch (process.platform) {
|
|
case 'linux': {
|
|
return 'linux'
|
|
}
|
|
case 'darwin': {
|
|
return 'macos'
|
|
}
|
|
case 'win32': {
|
|
return 'windows'
|
|
}
|
|
default: {
|
|
throw new Error(`Unsupported platform: ${process.platform}`)
|
|
}
|
|
}
|
|
}
|
|
|
|
function determineGraalVMArchitecture(): string {
|
|
switch (process.arch) {
|
|
case 'x64': {
|
|
return 'amd64'
|
|
}
|
|
case 'arm64': {
|
|
return 'aarch64'
|
|
}
|
|
default: {
|
|
throw new Error(`Unsupported architecture: ${process.arch}`)
|
|
}
|
|
}
|
|
}
|