Skip to content

Commit 76a4bcc

Browse files
committed
enable specified personal repos information
Signed-off-by: Sophia Guo <[email protected]>
1 parent 6c3d60c commit 76a4bcc

File tree

4 files changed

+96
-18
lines changed

4 files changed

+96
-18
lines changed

action.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ inputs:
3030
description: 'A boolean value ("true" or "false") on whether the personalRepo should be used.'
3131
required: false
3232
default: false
33+
openj9Repo:
34+
description: 'openj9 Repo, example: eclipse-openj9/openj9:master'
35+
required: false
36+
openj9-omrRepo:
37+
description: 'openj9-omr Repo, example: eclipse-openj9/openj9-omr:openj9'
38+
required: false
39+
openj9-openjdkRepo:
40+
description: 'ibmruntimes extension Repo, example: ibmruntimes/openj9-openjdk-jdk11:openj9 '
41+
required: false
3342
outputs:
3443
BuildJDKDir:
3544
description: 'build jdk images directory'

dist/index.js

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3335,14 +3335,14 @@ if (!tempDirectory) {
33353335
}
33363336
tempDirectory = path.join(baseLocation, 'actions', 'temp');
33373337
}
3338-
function buildJDK(version, usePersonalRepo) {
3338+
function buildJDK(version, usePersonalRepo, specifiedReposMap) {
33393339
return __awaiter(this, void 0, void 0, function* () {
33403340
const openj9Version = `openj9-openjdk-jdk${version}`;
33413341
yield installDependencies(version);
33423342
process.chdir(`${workDir}`);
33433343
yield getBootJdk(version);
33443344
process.chdir(`${workDir}`);
3345-
yield getSource(openj9Version, usePersonalRepo);
3345+
yield getSource(openj9Version, usePersonalRepo, specifiedReposMap);
33463346
yield setConfigure(version, openj9Version);
33473347
yield exec.exec(`make all`);
33483348
yield printJavaVersion(version, openj9Version);
@@ -3526,7 +3526,7 @@ function getBootJdk(version) {
35263526
}
35273527
});
35283528
}
3529-
function getSource(openj9Version, usePersonalRepo) {
3529+
function getSource(openj9Version, usePersonalRepo, specifiedReposMap) {
35303530
return __awaiter(this, void 0, void 0, function* () {
35313531
let openjdkOpenj9Repo = `ibmruntimes/${openj9Version}`;
35323532
let openjdkOpenj9Branch = 'openj9';
@@ -3557,7 +3557,31 @@ function getSource(openj9Version, usePersonalRepo) {
35573557
openj9Branch = branch;
35583558
}
35593559
else {
3560-
core.error(`${repo} is not one of openj9-openjdk-jdk8|11|12..., openj9, omr`);
3560+
//parsing personal openj9Repo, openj9 Repo, openj9-omrRepo openj9-openjdkRepo'
3561+
for (let [key, value] of specifiedReposMap) {
3562+
const personalRepo = parseRepoBranch(value)[0];
3563+
const personalBranch = parseRepoBranch(value)[1];
3564+
switch (key) {
3565+
case "openj9Repo": {
3566+
openj9Repo = personalRepo;
3567+
openj9Branch = personalBranch;
3568+
break;
3569+
}
3570+
case "openj9-omrRepo": {
3571+
omrRepo = personalRepo;
3572+
omrBranch = personalBranch;
3573+
break;
3574+
}
3575+
case "openj9-openjdkRepo": {
3576+
openjdkOpenj9Repo = personalRepo;
3577+
openjdkOpenj9Branch = personalBranch;
3578+
}
3579+
default: {
3580+
//statements;
3581+
break;
3582+
}
3583+
}
3584+
}
35613585
}
35623586
}
35633587
yield exec.exec(`git clone -b ${openjdkOpenj9Branch} https://github.com/${openjdkOpenj9Repo}.git`);
@@ -3669,6 +3693,10 @@ function getOsVersion() {
36693693
return osVersion;
36703694
});
36713695
}
3696+
function parseRepoBranch(repoBranch) {
3697+
const tempRepo = repoBranch.replace(/\s/g, '');
3698+
return tempRepo.split(':');
3699+
}
36723700

36733701

36743702
/***/ }),
@@ -4768,13 +4796,18 @@ function run() {
47684796
return __awaiter(this, void 0, void 0, function* () {
47694797
try {
47704798
const version = core.getInput('version', { required: false });
4771-
const repository = core.getInput('repository', { required: false });
4772-
const ref = core.getInput('ref', { required: false });
47734799
const usePersonalRepo = core.getInput('usePersonalRepo') === 'true';
4774-
if (repository.length === 0 && ref.length !== 0) {
4775-
core.error(`Please give repository name`);
4800+
let specifiedReposMap = new Map();
4801+
if (usePersonalRepo) {
4802+
const repos = ['openj9Repo', 'openj9-omrRepo', 'openj9-openjdkRepo'];
4803+
for (let repo of repos) {
4804+
const tempRepo = core.getInput(repo, { required: false });
4805+
if (tempRepo.length !== 0) {
4806+
specifiedReposMap.set(repo, tempRepo);
4807+
}
4808+
}
47764809
}
4777-
yield builder.buildJDK(version, usePersonalRepo);
4810+
yield builder.buildJDK(version, usePersonalRepo, specifiedReposMap);
47784811
}
47794812
catch (error) {
47804813
core.setFailed(error.message);

src/build-openj9.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,18 @@ import * as builder from './builder'
2525
async function run(): Promise<void> {
2626
try {
2727
const version = core.getInput('version', {required: false})
28-
const repository = core.getInput('repository', {required: false})
29-
const ref = core.getInput('ref', {required: false})
3028
const usePersonalRepo = core.getInput('usePersonalRepo') === 'true'
31-
if (repository.length === 0 && ref.length !== 0) {
32-
core.error(`Please give repository name`)
29+
let specifiedReposMap = new Map()
30+
if (usePersonalRepo) {
31+
const repos: string[] = ['openj9Repo', 'openj9-omrRepo', 'openj9-openjdkRepo']
32+
for (let repo of repos) {
33+
const tempRepo = core.getInput(repo, { required: false })
34+
if (tempRepo.length !== 0) {
35+
specifiedReposMap.set(repo, tempRepo)
36+
}
37+
}
3338
}
34-
await builder.buildJDK(version, usePersonalRepo)
39+
await builder.buildJDK(version, usePersonalRepo, specifiedReposMap)
3540
} catch (error) {
3641
core.setFailed(error.message)
3742
}

src/builder.ts

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,15 @@ if (!tempDirectory) {
4848

4949
export async function buildJDK(
5050
version: string,
51-
usePersonalRepo: boolean
51+
usePersonalRepo: boolean,
52+
specifiedReposMap: Map<string, string>
5253
): Promise<void> {
5354
const openj9Version = `openj9-openjdk-jdk${version}`
5455
await installDependencies(version)
5556
process.chdir(`${workDir}`)
5657
await getBootJdk(version)
5758
process.chdir(`${workDir}`)
58-
await getSource(openj9Version, usePersonalRepo)
59+
await getSource(openj9Version, usePersonalRepo, specifiedReposMap)
5960
await setConfigure(version, openj9Version)
6061
await exec.exec(`make all`)
6162
await printJavaVersion(version, openj9Version)
@@ -249,7 +250,8 @@ async function getBootJdk(version: string): Promise<void> {
249250

250251
async function getSource(
251252
openj9Version: string,
252-
usePersonalRepo: boolean
253+
usePersonalRepo: boolean,
254+
specifiedReposMap: Map<string, string>
253255
): Promise<void> {
254256
let openjdkOpenj9Repo = `ibmruntimes/${openj9Version}`
255257
let openjdkOpenj9Branch = 'openj9'
@@ -277,7 +279,31 @@ async function getSource(
277279
openj9Repo = repo
278280
openj9Branch = branch
279281
} else {
280-
core.error(`${repo} is not one of openj9-openjdk-jdk8|11|12..., openj9, omr`)
282+
//parsing personal openj9Repo, openj9 Repo, openj9-omrRepo openj9-openjdkRepo'
283+
for (let [key, value] of specifiedReposMap) {
284+
const personalRepo = parseRepoBranch(value)[0]
285+
const personalBranch = parseRepoBranch(value)[1]
286+
switch(key) {
287+
case "openj9Repo": {
288+
openj9Repo = personalRepo
289+
openj9Branch = personalBranch
290+
break;
291+
}
292+
case "openj9-omrRepo": {
293+
omrRepo = personalRepo
294+
omrBranch = personalBranch
295+
break;
296+
}
297+
case "openj9-openjdkRepo": {
298+
openjdkOpenj9Repo = personalRepo
299+
openjdkOpenj9Branch = personalBranch
300+
}
301+
default: {
302+
//statements;
303+
break;
304+
}
305+
}
306+
}
281307
}
282308
}
283309

@@ -384,3 +410,8 @@ async function getOsVersion(): Promise<string> {
384410
}
385411
return osVersion
386412
}
413+
414+
function parseRepoBranch(repoBranch: string): string[] {
415+
const tempRepo = repoBranch.replace(/\s/g, '')
416+
return tempRepo.split(':')
417+
}

0 commit comments

Comments
 (0)