Add config plugin to persist release signing configuration

This commit is contained in:
2026-06-30 21:37:08 +02:00
parent cc0a6bdf2c
commit 949a5d91c7
2 changed files with 39 additions and 1 deletions
+2 -1
View File
@@ -54,7 +54,8 @@
], ],
"./plugins/withKioskAdmin", "./plugins/withKioskAdmin",
"./plugins/withUsbCamera", "./plugins/withUsbCamera",
"./plugins/withLocalAars" "./plugins/withLocalAars",
"./withAndroidSigning"
], ],
"extra": { "extra": {
"eas": { "eas": {
+37
View File
@@ -0,0 +1,37 @@
const { withAppBuildGradle } = require('@expo/config-plugins');
module.exports = function withAndroidSigning(config) {
return withAppBuildGradle(config, (config) => {
if (config.modResults.language === 'groovy') {
let buildGradle = config.modResults.contents;
const signingConfig = `
release {
if (project.hasProperty('SCHNAPPIX_RELEASE_STORE_FILE')) {
storeFile file("../../" + SCHNAPPIX_RELEASE_STORE_FILE)
storePassword SCHNAPPIX_RELEASE_STORE_PASSWORD
keyAlias SCHNAPPIX_RELEASE_KEY_ALIAS
keyPassword SCHNAPPIX_RELEASE_KEY_PASSWORD
}
}
`;
if (!buildGradle.includes('SCHNAPPIX_RELEASE_STORE_FILE')) {
// Inject inside signingConfigs { ... }
buildGradle = buildGradle.replace(
/signingConfigs\s*\{([\s\S]*?)debug\s*\{([\s\S]*?)\}/,
`signingConfigs {$1debug {$2}\n${signingConfig}`
);
// Change buildTypes release to use signingConfigs.release
buildGradle = buildGradle.replace(
/signingConfig signingConfigs\.debug/g,
`signingConfig signingConfigs.release`
);
}
config.modResults.contents = buildGradle;
}
return config;
});
};