mirror of
https://github.com/actions/setup-java.git
synced 2025-06-30 21:04:16 +00:00
Rename distribution to Eclipse Temurin
This commit is contained in:
parent
4a8552d886
commit
0377a4bb06
7 changed files with 212 additions and 46 deletions
|
@ -3,14 +3,13 @@ import { JavaInstallerOptions } from './base-models';
|
|||
import { LocalDistribution } from './local/installer';
|
||||
import { ZuluDistribution } from './zulu/installer';
|
||||
import { AdoptDistribution, AdoptImplementation } from './adopt/installer';
|
||||
import { AdoptiumDistribution, AdoptiumImplementation } from './adoptium/installer';
|
||||
import { TemurinDistribution, TemurinImplementation } from './temurin/installer';
|
||||
|
||||
enum JavaDistribution {
|
||||
Adopt = 'adopt',
|
||||
AdoptHotspot = 'adopt-hotspot',
|
||||
AdoptOpenJ9 = 'adopt-openj9',
|
||||
Adoptium = 'adoptium',
|
||||
AdoptiumHotspot = 'adoptium-hotspot',
|
||||
Temurin = 'temurin',
|
||||
Zulu = 'zulu',
|
||||
JdkFile = 'jdkfile'
|
||||
}
|
||||
|
@ -28,9 +27,8 @@ export function getJavaDistribution(
|
|||
return new AdoptDistribution(installerOptions, AdoptImplementation.Hotspot);
|
||||
case JavaDistribution.AdoptOpenJ9:
|
||||
return new AdoptDistribution(installerOptions, AdoptImplementation.OpenJ9);
|
||||
case JavaDistribution.Adoptium:
|
||||
case JavaDistribution.AdoptiumHotspot:
|
||||
return new AdoptiumDistribution(installerOptions, AdoptiumImplementation.Hotspot);
|
||||
case JavaDistribution.Temurin:
|
||||
return new TemurinDistribution(installerOptions, TemurinImplementation.Hotspot);
|
||||
case JavaDistribution.Zulu:
|
||||
return new ZuluDistribution(installerOptions);
|
||||
default:
|
||||
|
|
|
@ -6,20 +6,20 @@ import path from 'path';
|
|||
import semver from 'semver';
|
||||
|
||||
import { JavaBase } from '../base-installer';
|
||||
import { IAdoptiumAvailableVersions } from './models';
|
||||
import { ITemurinAvailableVersions } from './models';
|
||||
import { JavaDownloadRelease, JavaInstallerOptions, JavaInstallerResults } from '../base-models';
|
||||
import { extractJdkFile, getDownloadArchiveExtension, isVersionSatisfies } from '../../util';
|
||||
|
||||
export enum AdoptiumImplementation {
|
||||
export enum TemurinImplementation {
|
||||
Hotspot = 'Hotspot'
|
||||
}
|
||||
|
||||
export class AdoptiumDistribution extends JavaBase {
|
||||
export class TemurinDistribution extends JavaBase {
|
||||
constructor(
|
||||
installerOptions: JavaInstallerOptions,
|
||||
private readonly jvmImpl: AdoptiumImplementation
|
||||
private readonly jvmImpl: TemurinImplementation
|
||||
) {
|
||||
super(`Adoptium-${jvmImpl}`, installerOptions);
|
||||
super(`Temurin-${jvmImpl}`, installerOptions);
|
||||
}
|
||||
|
||||
protected async findPackageForDownload(version: string): Promise<JavaDownloadRelease> {
|
||||
|
@ -80,14 +80,14 @@ export class AdoptiumDistribution extends JavaBase {
|
|||
return super.toolcacheFolderName;
|
||||
}
|
||||
|
||||
private async getAvailableVersions(): Promise<IAdoptiumAvailableVersions[]> {
|
||||
private async getAvailableVersions(): Promise<ITemurinAvailableVersions[]> {
|
||||
const platform = this.getPlatformOption();
|
||||
const arch = this.architecture;
|
||||
const imageType = this.packageType;
|
||||
const versionRange = encodeURI('[1.0,100.0]'); // retrieve all available versions
|
||||
const releaseType = this.stable ? 'ga' : 'ea';
|
||||
|
||||
console.time('adoptium-retrieve-available-versions');
|
||||
console.time('temurin-retrieve-available-versions');
|
||||
|
||||
const baseRequestArguments = [
|
||||
`project=jdk`,
|
||||
|
@ -105,7 +105,7 @@ export class AdoptiumDistribution extends JavaBase {
|
|||
// need to iterate through all pages to retrieve the list of all versions
|
||||
// Adoptium API doesn't provide way to retrieve the count of pages to iterate so infinity loop
|
||||
let page_index = 0;
|
||||
const availableVersions: IAdoptiumAvailableVersions[] = [];
|
||||
const availableVersions: ITemurinAvailableVersions[] = [];
|
||||
while (true) {
|
||||
const requestArguments = `${baseRequestArguments}&page_size=20&page=${page_index}`;
|
||||
const availableVersionsUrl = `https://api.adoptium.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
||||
|
@ -115,7 +115,7 @@ export class AdoptiumDistribution extends JavaBase {
|
|||
}
|
||||
|
||||
const paginationPage = (
|
||||
await this.http.getJson<IAdoptiumAvailableVersions[]>(availableVersionsUrl)
|
||||
await this.http.getJson<ITemurinAvailableVersions[]>(availableVersionsUrl)
|
||||
).result;
|
||||
if (paginationPage === null || paginationPage.length === 0) {
|
||||
// break infinity loop because we have reached end of pagination
|
||||
|
@ -128,7 +128,7 @@ export class AdoptiumDistribution extends JavaBase {
|
|||
|
||||
if (core.isDebug()) {
|
||||
core.startGroup('Print information about available versions');
|
||||
console.timeEnd('adoptium-retrieve-available-versions');
|
||||
console.timeEnd('temurin-retrieve-available-versions');
|
||||
console.log(`Available versions: [${availableVersions.length}]`);
|
||||
console.log(availableVersions.map(item => item.version_data.semver).join(', '));
|
||||
core.endGroup();
|
|
@ -1,6 +1,6 @@
|
|||
// Models from https://api.adoptium.net/q/swagger-ui/#/Assets/searchReleasesByVersion
|
||||
|
||||
export interface IAdoptiumAvailableVersions {
|
||||
export interface ITemurinAvailableVersions {
|
||||
binaries: [
|
||||
{
|
||||
architecture: string;
|
Loading…
Add table
Add a link
Reference in a new issue