From e59faa7845dd8f3599643055719f5f29df8ffd02 Mon Sep 17 00:00:00 2001 From: ElenaDiachenko Date: Fri, 8 Dec 2023 15:38:57 +0200 Subject: [PATCH 1/2] added versionCode and versionName to app/build.gradle as injections --- .../platforms/androidtv/app/build.gradle | 4 +- .../platforms/firetv/app/build.gradle | 4 +- .../platforms/android/app/build.gradle | 4 +- .../platforms/androidwear/app/build.gradle | 4 +- packages/sdk-android/src/gradleParser.ts | 59 ++++++++++--------- 5 files changed, 40 insertions(+), 35 deletions(-) diff --git a/packages/engine-rn-tvos/templates/platforms/androidtv/app/build.gradle b/packages/engine-rn-tvos/templates/platforms/androidtv/app/build.gradle index a2b1076d53..68283e3b8b 100644 --- a/packages/engine-rn-tvos/templates/platforms/androidtv/app/build.gradle +++ b/packages/engine-rn-tvos/templates/platforms/androidtv/app/build.gradle @@ -82,8 +82,8 @@ android { applicationId "{{APPLICATION_ID}}" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" + versionCode {{VERSION_CODE}} + versionName "{{VERSION_NAME}}" } {{PLUGIN_SPLITS}} diff --git a/packages/engine-rn-tvos/templates/platforms/firetv/app/build.gradle b/packages/engine-rn-tvos/templates/platforms/firetv/app/build.gradle index a2b1076d53..68283e3b8b 100644 --- a/packages/engine-rn-tvos/templates/platforms/firetv/app/build.gradle +++ b/packages/engine-rn-tvos/templates/platforms/firetv/app/build.gradle @@ -82,8 +82,8 @@ android { applicationId "{{APPLICATION_ID}}" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" + versionCode {{VERSION_CODE}} + versionName "{{VERSION_NAME}}" } {{PLUGIN_SPLITS}} diff --git a/packages/engine-rn/templates/platforms/android/app/build.gradle b/packages/engine-rn/templates/platforms/android/app/build.gradle index a2b1076d53..d7132df573 100644 --- a/packages/engine-rn/templates/platforms/android/app/build.gradle +++ b/packages/engine-rn/templates/platforms/android/app/build.gradle @@ -82,8 +82,8 @@ android { applicationId "{{APPLICATION_ID}}" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" + versionCode {{VERSION_CODE}} + versionName "{{VERSION_NAME}}" } {{PLUGIN_SPLITS}} diff --git a/packages/engine-rn/templates/platforms/androidwear/app/build.gradle b/packages/engine-rn/templates/platforms/androidwear/app/build.gradle index a2b1076d53..68283e3b8b 100644 --- a/packages/engine-rn/templates/platforms/androidwear/app/build.gradle +++ b/packages/engine-rn/templates/platforms/androidwear/app/build.gradle @@ -82,8 +82,8 @@ android { applicationId "{{APPLICATION_ID}}" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" + versionCode {{VERSION_CODE}} + versionName "{{VERSION_NAME}}" } {{PLUGIN_SPLITS}} diff --git a/packages/sdk-android/src/gradleParser.ts b/packages/sdk-android/src/gradleParser.ts index 6a51bb5a8f..a5cdf2e892 100644 --- a/packages/sdk-android/src/gradleParser.ts +++ b/packages/sdk-android/src/gradleParser.ts @@ -118,14 +118,17 @@ export const parseBuildGradleSync = (c: Context) => { }, { pattern: '{{PATH_REACT_NATIVE_CLI_ANDROID}}', - override: doResolve('@react-native-community/cli-platform-android', true, { - forceForwardPaths: true, - }) || '', + override: + doResolve('@react-native-community/cli-platform-android', true, { + forceForwardPaths: true, + }) || '', }, { pattern: '{{PATH_HERMESC}}', - override: `${doResolve('react-native', true, { forceForwardPaths: true }) || 'react-native'}/sdks/hermesc/${currentOs}-bin/hermesc`, - } + override: `${ + doResolve('react-native', true, { forceForwardPaths: true }) || 'react-native' + }/sdks/hermesc/${currentOs}-bin/hermesc`, + }, ]; addSystemInjects(c, injects); @@ -211,6 +214,7 @@ export const parseAppBuildGradleSync = (c: Context) => { c.payload.pluginConfigAndroid.ndkVersion = getConfigProp(c, platform, 'ndkVersion') || '23.1.7779620'; c.payload.pluginConfigAndroid.gradleBuildToolsVersion = getConfigProp(c, platform, 'gradleBuildToolsVersion') || '4.2.2'; + c.payload.pluginConfigAndroid.versionCode = getConfigProp(c, platform, 'versionCode') || '1'; c.payload.pluginConfigAndroid.supportLibVersion = getConfigProp(c, platform, 'supportLibVersion') || '28.0.0'; c.payload.pluginConfigAndroid.buildToolsVersion = getConfigProp(c, platform, 'buildToolsVersion') || '33.0.0'; c.payload.pluginConfigAndroid.kotlinVersion = getConfigProp(c, platform, 'kotlinVersion') || '1.4.20'; @@ -268,7 +272,7 @@ export const parseAppBuildGradleSync = (c: Context) => { const storePassword = getConfigProp(c, c.platform, 'storePassword'); const keyPassword = getConfigProp(c, c.platform, 'keyPassword'); const minifyEnabled = getConfigProp(c, c.platform, 'minifyEnabled', false); - + c.payload.pluginConfigAndroid.store = { storeFile: storeFile, // keyAlias, @@ -356,20 +360,19 @@ ${chalk().white(c.paths.workspace?.appConfig?.configsPrivate?.join('\n'))}`); const isMultiApk = getConfigProp(c, platform, 'multipleAPKs', false) === true; c.payload.pluginConfigAndroid.multiAPKs = ''; if (isMultiApk) { - // TODO migrate this to gradle.properties + it's enabled by default - // const multiSet = 'Integer.parseInt(Integer.toString(variant.versionCode) + Integer.toString(bavc))'; - // c.payload.pluginConfigAndroid.multiAPKs = ` - // ext.abiCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] - // import com.android.build.OutputFile - - // android.applicationVariants.all { variant -> - // variant.outputs.each { output -> - // def bavc = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI)) - // if (bavc != null) { - // output.versionCodeOverride = ${multiSet} + ${versionCodeOffset} - // } - // } - // }`; + // TODO migrate this to gradle.properties + it's enabled by default + // const multiSet = 'Integer.parseInt(Integer.toString(variant.versionCode) + Integer.toString(bavc))'; + // c.payload.pluginConfigAndroid.multiAPKs = ` + // ext.abiCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] + // import com.android.build.OutputFile + // android.applicationVariants.all { variant -> + // variant.outputs.each { output -> + // def bavc = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI)) + // if (bavc != null) { + // output.versionCodeOverride = ${multiSet} + ${versionCodeOffset} + // } + // } + // }`; } // SPLITS @@ -517,18 +520,20 @@ ${chalk().white(c.paths.workspace?.appConfig?.configsPrivate?.join('\n'))}`); }, { pattern: '{{PATH_REACT_NATIVE_CLI_ANDROID}}', - override: doResolve('@react-native-community/cli-platform-android', true, { - forceForwardPaths: true, - }) || '', + override: + doResolve('@react-native-community/cli-platform-android', true, { + forceForwardPaths: true, + }) || '', }, { pattern: '{{PATH_HERMESC}}', - override: `${doResolve('react-native', true, { forceForwardPaths: true }) || 'react-native'}/sdks/hermesc/${currentOs}-bin/hermesc`, - } + override: `${ + doResolve('react-native', true, { forceForwardPaths: true }) || 'react-native' + }/sdks/hermesc/${currentOs}-bin/hermesc`, + }, ]; addSystemInjects(c, injects); - writeCleanFile( getBuildFilePath(c, platform, 'app/build.gradle'), path.join(appFolder, 'app/build.gradle'), @@ -615,7 +620,7 @@ export const parseGradlePropertiesSync = (c: Context) => { { pattern: '{{NEW_ARCH_ENABLED}}', override: newArchEnabled ? 'true' : 'false', - } + }, ]; addSystemInjects(c, injects); From 0e578df5c21cdd609b8c61285ebc6f60b4ecf656 Mon Sep 17 00:00:00 2001 From: ElenaDiachenko Date: Fri, 8 Dec 2023 17:05:46 +0200 Subject: [PATCH 2/2] clean code --- packages/sdk-android/src/gradleParser.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/sdk-android/src/gradleParser.ts b/packages/sdk-android/src/gradleParser.ts index a5cdf2e892..b5a2c56b87 100644 --- a/packages/sdk-android/src/gradleParser.ts +++ b/packages/sdk-android/src/gradleParser.ts @@ -214,7 +214,6 @@ export const parseAppBuildGradleSync = (c: Context) => { c.payload.pluginConfigAndroid.ndkVersion = getConfigProp(c, platform, 'ndkVersion') || '23.1.7779620'; c.payload.pluginConfigAndroid.gradleBuildToolsVersion = getConfigProp(c, platform, 'gradleBuildToolsVersion') || '4.2.2'; - c.payload.pluginConfigAndroid.versionCode = getConfigProp(c, platform, 'versionCode') || '1'; c.payload.pluginConfigAndroid.supportLibVersion = getConfigProp(c, platform, 'supportLibVersion') || '28.0.0'; c.payload.pluginConfigAndroid.buildToolsVersion = getConfigProp(c, platform, 'buildToolsVersion') || '33.0.0'; c.payload.pluginConfigAndroid.kotlinVersion = getConfigProp(c, platform, 'kotlinVersion') || '1.4.20';