Files
Schnappix/withAndroidSigning.js
T

36 lines
1.2 KiB
JavaScript

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;
});
};