Add androidTargetSdkVersion as an option to update the Android SDK (#298)

* Add androidTargetSdkVersion as an option to update the Android SDK API level

* Fix build script

* Update default value

* Add JAVA_HOME

* Use Unity_path

* Update src/model/android-versioning.test.ts

Co-authored-by: Webber Takken <webber@takken.io>

* Correct JAVA_HOME

* Use unity_path

* Update JAVA_HOME to use path found from 2020.3

* Dynamically determine JAVA_HOME

* Update path determination

Co-authored-by: Webber Takken <webber@takken.io>
This commit is contained in:
David Finol
2021-11-24 06:51:52 -06:00
committed by GitHub
parent 11a0d0947e
commit 239273ca72
12 changed files with 97 additions and 7 deletions

14
dist/index.js generated vendored
View File

@@ -179,6 +179,10 @@ class AndroidVersioning {
core.info(`Using android versionCode ${versionCode}`);
return versionCode;
}
static determineSdkManagerParameters(targetSdkVersion) {
const parsedVersion = Number.parseInt(targetSdkVersion.slice(-2), 10);
return Number.isNaN(parsedVersion) ? '' : `platforms;android-${parsedVersion}`;
}
}
exports.default = AndroidVersioning;
@@ -215,6 +219,7 @@ class BuildParameters {
const unityVersion = unity_versioning_1.default.determineUnityVersion(input_1.default.projectPath, input_1.default.unityVersion);
const buildVersion = yield versioning_1.default.determineVersion(input_1.default.versioningStrategy, input_1.default.specifiedVersion);
const androidVersionCode = android_versioning_1.default.determineVersionCode(buildVersion, input_1.default.androidVersionCode);
const androidSdkManagerParameters = android_versioning_1.default.determineSdkManagerParameters(input_1.default.androidTargetSdkVersion);
return {
version: unityVersion,
customImage: input_1.default.customImage,
@@ -232,6 +237,8 @@ class BuildParameters {
androidKeystorePass: input_1.default.androidKeystorePass,
androidKeyaliasName: input_1.default.androidKeyaliasName,
androidKeyaliasPass: input_1.default.androidKeyaliasPass,
androidTargetSdkVersion: input_1.default.androidTargetSdkVersion,
androidSdkManagerParameters,
customParameters: input_1.default.customParameters,
sshAgent: input_1.default.sshAgent,
gitPrivateToken: input_1.default.gitPrivateToken,
@@ -352,7 +359,7 @@ class Docker {
}
static run(image, parameters, silent = false) {
return __awaiter(this, void 0, void 0, function* () {
const { version, workspace, runnerTempPath, platform, projectPath, buildName, buildPath, buildFile, buildMethod, buildVersion, androidVersionCode, androidKeystoreName, androidKeystoreBase64, androidKeystorePass, androidKeyaliasName, androidKeyaliasPass, customParameters, sshAgent, gitPrivateToken, chownFilesTo, } = parameters;
const { version, workspace, runnerTempPath, platform, projectPath, buildName, buildPath, buildFile, buildMethod, buildVersion, androidVersionCode, androidKeystoreName, androidKeystoreBase64, androidKeystorePass, androidKeyaliasName, androidKeyaliasPass, androidTargetSdkVersion, androidSdkManagerParameters, customParameters, sshAgent, gitPrivateToken, chownFilesTo, } = parameters;
const command = `docker run \
--workdir /github/workspace \
--rm \
@@ -376,6 +383,8 @@ class Docker {
--env ANDROID_KEYSTORE_PASS="${androidKeystorePass}" \
--env ANDROID_KEYALIAS_NAME="${androidKeyaliasName}" \
--env ANDROID_KEYALIAS_PASS="${androidKeyaliasPass}" \
--env ANDROID_TARGET_SDK_VERSION="${androidTargetSdkVersion}" \
--env ANDROID_SDK_MANAGER_PARAMETERS="${androidSdkManagerParameters}" \
--env CUSTOM_PARAMETERS="${customParameters}" \
--env CHOWN_FILES_TO="${chownFilesTo}" \
--env GITHUB_REF \
@@ -665,6 +674,9 @@ class Input {
static get androidKeyaliasPass() {
return core.getInput('androidKeyaliasPass') || '';
}
static get androidTargetSdkVersion() {
return core.getInput('androidTargetSdkVersion') || '';
}
static get allowDirtyBuild() {
const input = core.getInput('allowDirtyBuild') || false;
return input === 'true';