mirror of
https://github.com/reactivecircus/android-emulator-runner.git
synced 2026-09-03 10:59:32 +00:00
Force use Java 8 for sdkmanager and avdmanager.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import * as core from '@actions/core';
|
||||
import * as exec from '@actions/exec';
|
||||
|
||||
/**
|
||||
* Returns the current $JAVA_HOME path.
|
||||
*/
|
||||
export async function getCurrentJavaHome(): Promise<string> {
|
||||
let defaultJavaHome = '';
|
||||
await exec.exec(`sh -c \\"echo $JAVA_HOME"`, [], {
|
||||
listeners: {
|
||||
stdout: (data: Buffer) => {
|
||||
defaultJavaHome += data.toString();
|
||||
}
|
||||
}
|
||||
});
|
||||
return defaultJavaHome.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Java 8 $JAVA_HOME path.
|
||||
*/
|
||||
export async function getJavaHomeV8(): Promise<string> {
|
||||
let javaHomeV8 = '';
|
||||
await exec.exec(`/usr/libexec/java_home -v 1.8`, [], {
|
||||
listeners: {
|
||||
stdout: (data: Buffer) => {
|
||||
javaHomeV8 += data.toString();
|
||||
}
|
||||
}
|
||||
});
|
||||
return javaHomeV8.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets $JAVA_HOME to the specified path.
|
||||
*/
|
||||
export function setJavaHome(path: string) {
|
||||
core.exportVariable('JAVA_HOME', path);
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import { checkApiLevel, checkTarget, checkArch, checkDisableAnimations, checkEmu
|
||||
import { launchEmulator, killEmulator } from './emulator-manager';
|
||||
import * as exec from '@actions/exec';
|
||||
import { parseScript } from './script-parser';
|
||||
import { getCurrentJavaHome, getJavaHomeV8, setJavaHome } from './java-version-manager';
|
||||
|
||||
async function run() {
|
||||
try {
|
||||
@@ -58,6 +59,10 @@ async function run() {
|
||||
console.log(`${script}`);
|
||||
});
|
||||
|
||||
// use Java 8 for sdkmanager and avdmanager
|
||||
const defaultJavaHome = await getCurrentJavaHome();
|
||||
setJavaHome(await getJavaHomeV8());
|
||||
|
||||
// install SDK
|
||||
await installAndroidSdk(apiLevel, target, arch, emulatorBuild);
|
||||
|
||||
@@ -68,6 +73,9 @@ async function run() {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
|
||||
// use default JAVA_HOME for running custom script
|
||||
setJavaHome(defaultJavaHome);
|
||||
|
||||
// execute the custom script
|
||||
try {
|
||||
for (const script of scripts) {
|
||||
|
||||
Reference in New Issue
Block a user