This commit is contained in:
@@ -109,26 +109,30 @@ jobs:
|
|||||||
npx cap add android
|
npx cap add android
|
||||||
echo "sdk.dir=${ANDROID_SDK_ROOT}" > android/local.properties
|
echo "sdk.dir=${ANDROID_SDK_ROOT}" > android/local.properties
|
||||||
|
|
||||||
# Inject signing config into the generated build.gradle
|
# Append a merged android block with signingConfigs + buildTypes.release signing
|
||||||
|
# Gradle merges multiple android {} blocks, and within one block signingConfigs
|
||||||
|
# is evaluated before buildTypes, so the reference resolves correctly.
|
||||||
node -e "
|
node -e "
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const p = 'android/app/build.gradle';
|
const p = 'android/app/build.gradle';
|
||||||
let g = fs.readFileSync(p, 'utf8');
|
let g = fs.readFileSync(p, 'utf8');
|
||||||
|
g += \`
|
||||||
// 1. Insert signingConfigs block BEFORE buildTypes (so it is defined first)
|
android {
|
||||||
const signingConfigs = ' signingConfigs {\n release {\n storeFile file(System.getenv(\"ANDROID_KEYSTORE_FILE\") ?: \"/dev/null\")\n storePassword System.getenv(\"ANDROID_KEYSTORE_PASSWORD\") ?: \"\"\n keyAlias System.getenv(\"ANDROID_KEY_ALIAS\") ?: \"\"\n keyPassword System.getenv(\"ANDROID_KEY_PASSWORD\") ?: \"\"\n }\n }\n\n';
|
signingConfigs {
|
||||||
|
release {
|
||||||
g = g.replace(
|
storeFile file(System.getenv(\"ANDROID_KEYSTORE_FILE\") ?: \"/dev/null\")
|
||||||
/(\s*)(buildTypes\s*\{)/,
|
storePassword System.getenv(\"ANDROID_KEYSTORE_PASSWORD\") ?: \"\"
|
||||||
signingConfigs + '\$1\$2'
|
keyAlias System.getenv(\"ANDROID_KEY_ALIAS\") ?: \"\"
|
||||||
);
|
keyPassword System.getenv(\"ANDROID_KEY_PASSWORD\") ?: \"\"
|
||||||
|
}
|
||||||
// 2. Add signingConfig reference inside release buildType
|
}
|
||||||
g = g.replace(
|
buildTypes {
|
||||||
/(buildTypes\s*\{[\s\S]*?release\s*\{)/,
|
release {
|
||||||
'\$1\n signingConfig signingConfigs.release'
|
signingConfig signingConfigs.release
|
||||||
);
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\`;
|
||||||
fs.writeFileSync(p, g);
|
fs.writeFileSync(p, g);
|
||||||
console.log('Patched build.gradle with signing config');
|
console.log('Patched build.gradle with signing config');
|
||||||
"
|
"
|
||||||
|
|||||||
Reference in New Issue
Block a user