1082815dcSEvan Bacon"use strict"; 2082815dcSEvan Bacon 3082815dcSEvan BaconObject.defineProperty(exports, "__esModule", { 4082815dcSEvan Bacon value: true 5082815dcSEvan Bacon}); 6082815dcSEvan Baconexports.getVersionCode = getVersionCode; 7082815dcSEvan Baconexports.getVersionName = getVersionName; 8082815dcSEvan Baconexports.setMinBuildScriptExtVersion = setMinBuildScriptExtVersion; 9082815dcSEvan Baconexports.setVersionCode = setVersionCode; 10082815dcSEvan Baconexports.setVersionName = setVersionName; 11082815dcSEvan Baconexports.withVersion = exports.withBuildScriptExtMinimumVersion = void 0; 12082815dcSEvan Baconfunction _androidPlugins() { 13082815dcSEvan Bacon const data = require("../plugins/android-plugins"); 14082815dcSEvan Bacon _androidPlugins = function () { 15082815dcSEvan Bacon return data; 16082815dcSEvan Bacon }; 17082815dcSEvan Bacon return data; 18082815dcSEvan Bacon} 19082815dcSEvan Baconfunction _warnings() { 20082815dcSEvan Bacon const data = require("../utils/warnings"); 21082815dcSEvan Bacon _warnings = function () { 22082815dcSEvan Bacon return data; 23082815dcSEvan Bacon }; 24082815dcSEvan Bacon return data; 25082815dcSEvan Bacon} 26082815dcSEvan Baconconst withVersion = config => { 27082815dcSEvan Bacon return (0, _androidPlugins().withAppBuildGradle)(config, config => { 28082815dcSEvan Bacon if (config.modResults.language === 'groovy') { 29082815dcSEvan Bacon config.modResults.contents = setVersionCode(config, config.modResults.contents); 30082815dcSEvan Bacon config.modResults.contents = setVersionName(config, config.modResults.contents); 31082815dcSEvan Bacon } else { 32082815dcSEvan Bacon (0, _warnings().addWarningAndroid)('android.versionCode', `Cannot automatically configure app build.gradle if it's not groovy`); 33082815dcSEvan Bacon } 34082815dcSEvan Bacon return config; 35082815dcSEvan Bacon }); 36082815dcSEvan Bacon}; 37*ee216927STomasz Sapeta 38082815dcSEvan Bacon/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */ 39082815dcSEvan Baconexports.withVersion = withVersion; 40082815dcSEvan Baconconst withBuildScriptExtMinimumVersion = (config, props) => { 41082815dcSEvan Bacon return (0, _androidPlugins().withProjectBuildGradle)(config, config => { 42082815dcSEvan Bacon if (config.modResults.language === 'groovy') { 43082815dcSEvan Bacon config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props); 44082815dcSEvan Bacon } else { 45082815dcSEvan Bacon (0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot automatically configure project build.gradle if it's not groovy`); 46082815dcSEvan Bacon } 47082815dcSEvan Bacon return config; 48082815dcSEvan Bacon }); 49082815dcSEvan Bacon}; 50082815dcSEvan Baconexports.withBuildScriptExtMinimumVersion = withBuildScriptExtMinimumVersion; 51082815dcSEvan Baconfunction setMinBuildScriptExtVersion(buildGradle, { 52082815dcSEvan Bacon name, 53082815dcSEvan Bacon minVersion 54082815dcSEvan Bacon}) { 55082815dcSEvan Bacon var _buildGradle$match; 56082815dcSEvan Bacon const regex = new RegExp(`(${name}\\s?=\\s?)(\\d+(?:\\.\\d+)?)`); 57082815dcSEvan Bacon const currentVersion = (_buildGradle$match = buildGradle.match(regex)) === null || _buildGradle$match === void 0 ? void 0 : _buildGradle$match[2]; 58082815dcSEvan Bacon if (!currentVersion) { 59*ee216927STomasz Sapeta (0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot set minimum buildscript.ext.${name} version because the property "${name}" cannot be found or does not have a numeric value.`); 60*ee216927STomasz Sapeta // TODO: Maybe just add the property... 61082815dcSEvan Bacon return buildGradle; 62082815dcSEvan Bacon } 63082815dcSEvan Bacon const currentVersionNum = Number(currentVersion); 64082815dcSEvan Bacon return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`); 65082815dcSEvan Bacon} 66082815dcSEvan Baconfunction getVersionName(config) { 67082815dcSEvan Bacon var _config$version; 68082815dcSEvan Bacon return (_config$version = config.version) !== null && _config$version !== void 0 ? _config$version : null; 69082815dcSEvan Bacon} 70082815dcSEvan Baconfunction setVersionName(config, buildGradle) { 71082815dcSEvan Bacon const versionName = getVersionName(config); 72082815dcSEvan Bacon if (versionName === null) { 73082815dcSEvan Bacon return buildGradle; 74082815dcSEvan Bacon } 75082815dcSEvan Bacon const pattern = new RegExp(`versionName ".*"`); 76082815dcSEvan Bacon return buildGradle.replace(pattern, `versionName "${versionName}"`); 77082815dcSEvan Bacon} 78082815dcSEvan Baconfunction getVersionCode(config) { 79082815dcSEvan Bacon var _config$android$versi, _config$android; 80082815dcSEvan Bacon return (_config$android$versi = (_config$android = config.android) === null || _config$android === void 0 ? void 0 : _config$android.versionCode) !== null && _config$android$versi !== void 0 ? _config$android$versi : 1; 81082815dcSEvan Bacon} 82082815dcSEvan Baconfunction setVersionCode(config, buildGradle) { 83082815dcSEvan Bacon const versionCode = getVersionCode(config); 84082815dcSEvan Bacon if (versionCode === null) { 85082815dcSEvan Bacon return buildGradle; 86082815dcSEvan Bacon } 87082815dcSEvan Bacon const pattern = new RegExp(`versionCode.*`); 88082815dcSEvan Bacon return buildGradle.replace(pattern, `versionCode ${versionCode}`); 89082815dcSEvan Bacon} 90082815dcSEvan Bacon//# sourceMappingURL=Version.js.map