From 7a8cb5afdc75f5c4685735e9303f583b355ffc0a Mon Sep 17 00:00:00 2001 From: Johnny McQuade Date: Fri, 15 Dec 2023 17:10:25 +0000 Subject: [PATCH] hotfix: yarn scripts version also increments strings targeted by android build action --- packages/scripts/src/commands/version.ts | 17 ++++++++++++++++- packages/shared/src/paths.ts | 4 ++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/scripts/src/commands/version.ts b/packages/scripts/src/commands/version.ts index 9b374fc732..4920133bde 100644 --- a/packages/scripts/src/commands/version.ts +++ b/packages/scripts/src/commands/version.ts @@ -1,7 +1,7 @@ import * as fs from "fs-extra"; import { Command } from "commander"; import inquirer from "inquirer"; -import { APP_BUILD_GRADLE_PATH, MAIN_PACKAGE_PATH } from "../paths"; +import { APP_BUILD_GRADLE_PATH, MAIN_PACKAGE_PATH, ANDROID_BUILD_ACTION_PATH } from "../paths"; /*************************************************************************************** * CLI @@ -26,6 +26,7 @@ async function version(options: IProgramOptions) { const newVersion = await promptNewVersion(oldVersion); updatePackageJson(newVersion); updateGradleBuild(newVersion); + updateAndroidBuildAction(newVersion); } function updateGradleBuild(newVersionName: string) { @@ -47,6 +48,20 @@ async function updatePackageJson(newVersion: string) { fs.writeJSONSync(MAIN_PACKAGE_PATH, packageJson, { spaces: 2 }); } +function updateAndroidBuildAction(newVersionName) { + let androidBuildAction = fs.readFileSync(ANDROID_BUILD_ACTION_PATH, { encoding: "utf-8" }); + const newVersionCode = _generateVersionCode(newVersionName); + androidBuildAction = androidBuildAction.replace( + /[0-9]+\/\$VERSION_CODE\//g, + `${newVersionCode}/$VERSION_CODE/` + ); + androidBuildAction = androidBuildAction.replace( + /[0-9]+\.[0-9]+\.[0-9]+\/\$VERSION\//g, + `${newVersionName}/$VERSION/` + ); + fs.writeFileSync(ANDROID_BUILD_ACTION_PATH, androidBuildAction, { encoding: "utf-8" }); +} + async function promptNewVersion(currentVersion: string) { const { version } = await inquirer.prompt([ { diff --git a/packages/shared/src/paths.ts b/packages/shared/src/paths.ts index f376c3fbfc..ee24521188 100644 --- a/packages/shared/src/paths.ts +++ b/packages/shared/src/paths.ts @@ -22,3 +22,7 @@ export const RESOURCE_FOLDER_PATH = path.join(ROOT_DIR, "resources"); export const ANDROID_RES_PATH = path.join(ROOT_DIR, "android/app/src/main/res"); export const APP_BUILD_GRADLE_PATH = path.join(ROOT_DIR, "android/app/build.gradle"); +export const ANDROID_BUILD_ACTION_PATH = path.join( + ROOT_DIR, + ".github/workflows/reusable-android-build.yml" +);