UNPKG

react-native-notificare

Version:
65 lines (64 loc) 2.93 kB
"use strict"; /* eslint-disable @typescript-eslint/no-unused-vars */ Object.defineProperty(exports, "__esModule", { value: true }); exports.withNotificareAndroidGradle = void 0; const config_plugins_1 = require("expo/config-plugins"); const utils_1 = require("../utils/utils"); const NOTIFICARE_SERVICES_GRADLE_PLUGIN = 're.notifica.gradle.notificare-services'; const withProjectGradleRepositories = (config, props) => { return (0, config_plugins_1.withProjectBuildGradle)(config, (newConfig) => { if (!isGroovy(newConfig)) { console.warn('Unable to add Notificare repositories to project, build.gradle is not groovy.'); return newConfig; } if (newConfig.modResults.contents.includes('https://maven.notifica.re/releases')) { return newConfig; } try { newConfig.modResults.contents = (0, utils_1.replaceAll)(newConfig.modResults.contents, 'mavenCentral()', `mavenCentral() maven { url 'https://maven.notifica.re/releases' } maven { url 'https://developer.huawei.com/repo' }`); } catch (e) { console.warn(`Failed to add Notificare repositories to project: ${e}`); } return newConfig; }); }; const withProjectGradleDependencies = (config, props) => { return (0, config_plugins_1.withProjectBuildGradle)(config, (newConfig) => { if (!isGroovy(newConfig)) { console.warn('Unable to add Notificare dependency to project, build.gradle is not groovy.'); return newConfig; } if (newConfig.modResults.contents.includes('re.notifica.gradle:notificare-services')) { return newConfig; } newConfig.modResults.contents = (0, utils_1.replace)(newConfig.modResults.contents, /dependencies\s?{/, `dependencies { classpath 're.notifica.gradle:notificare-services:1.1.0'`); return newConfig; }); }; const withAppGradlePlugin = (config, props) => { return (0, config_plugins_1.withAppBuildGradle)(config, (newConfig) => { if (!isGroovy(newConfig)) { console.warn('Unable to apply Notificare plugin, app build.gradle is not groovy.'); return newConfig; } if (newConfig.modResults.contents.includes(NOTIFICARE_SERVICES_GRADLE_PLUGIN)) { return newConfig; } newConfig.modResults.contents = `${newConfig.modResults.contents}\napply plugin: '${NOTIFICARE_SERVICES_GRADLE_PLUGIN}'`; return newConfig; }); }; const isGroovy = (gradle) => { return gradle.modResults.language === 'groovy'; }; const withNotificareAndroidGradle = (config, props) => { config = withProjectGradleRepositories(config, props); config = withProjectGradleDependencies(config, props); config = withAppGradlePlugin(config, props); return config; }; exports.withNotificareAndroidGradle = withNotificareAndroidGradle;