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 { storeFile file("../../schnappix-upload-key.keystore") storePassword "#O0he7k00O0he7k00!" keyAlias "schnappix-alias" keyPassword "#O0he7k00O0he7k00!" } `; if (!buildGradle.includes('schnappix-upload-key.keystore')) { // Find the closing brace of the debug signing block and insert our release block buildGradle = buildGradle.replace( /(signingConfigs\s*\{[\s\S]*?debug\s*\{[\s\S]*?\})\s*\}/, `$1\n${signingConfig}\n }` ); // Find the release buildType and update its signingConfig buildGradle = buildGradle.replace( /(buildTypes\s*\{[\s\S]*?release\s*\{[\s\S]*?)signingConfig signingConfigs\.debug/g, `$1signingConfig signingConfigs.release` ); } config.modResults.contents = buildGradle; } return config; }); };