1"use strict"; 2 3Object.defineProperty(exports, "__esModule", { 4 value: true 5}); 6exports.getVersionCode = getVersionCode; 7exports.getVersionName = getVersionName; 8exports.setMinBuildScriptExtVersion = setMinBuildScriptExtVersion; 9exports.setVersionCode = setVersionCode; 10exports.setVersionName = setVersionName; 11exports.withVersion = exports.withBuildScriptExtMinimumVersion = void 0; 12function _androidPlugins() { 13 const data = require("../plugins/android-plugins"); 14 _androidPlugins = function () { 15 return data; 16 }; 17 return data; 18} 19function _warnings() { 20 const data = require("../utils/warnings"); 21 _warnings = function () { 22 return data; 23 }; 24 return data; 25} 26const withVersion = config => { 27 return (0, _androidPlugins().withAppBuildGradle)(config, config => { 28 if (config.modResults.language === 'groovy') { 29 config.modResults.contents = setVersionCode(config, config.modResults.contents); 30 config.modResults.contents = setVersionName(config, config.modResults.contents); 31 } else { 32 (0, _warnings().addWarningAndroid)('android.versionCode', `Cannot automatically configure app build.gradle if it's not groovy`); 33 } 34 return config; 35 }); 36}; 37 38/** 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. */ 39exports.withVersion = withVersion; 40const withBuildScriptExtMinimumVersion = (config, props) => { 41 return (0, _androidPlugins().withProjectBuildGradle)(config, config => { 42 if (config.modResults.language === 'groovy') { 43 config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props); 44 } else { 45 (0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot automatically configure project build.gradle if it's not groovy`); 46 } 47 return config; 48 }); 49}; 50exports.withBuildScriptExtMinimumVersion = withBuildScriptExtMinimumVersion; 51function setMinBuildScriptExtVersion(buildGradle, { 52 name, 53 minVersion 54}) { 55 var _buildGradle$match; 56 const regex = new RegExp(`(${name}\\s?=\\s?)(\\d+(?:\\.\\d+)?)`); 57 const currentVersion = (_buildGradle$match = buildGradle.match(regex)) === null || _buildGradle$match === void 0 ? void 0 : _buildGradle$match[2]; 58 if (!currentVersion) { 59 (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 // TODO: Maybe just add the property... 61 return buildGradle; 62 } 63 const currentVersionNum = Number(currentVersion); 64 return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`); 65} 66function getVersionName(config) { 67 var _config$version; 68 return (_config$version = config.version) !== null && _config$version !== void 0 ? _config$version : null; 69} 70function setVersionName(config, buildGradle) { 71 const versionName = getVersionName(config); 72 if (versionName === null) { 73 return buildGradle; 74 } 75 const pattern = new RegExp(`versionName ".*"`); 76 return buildGradle.replace(pattern, `versionName "${versionName}"`); 77} 78function getVersionCode(config) { 79 var _config$android$versi, _config$android; 80 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; 81} 82function setVersionCode(config, buildGradle) { 83 const versionCode = getVersionCode(config); 84 if (versionCode === null) { 85 return buildGradle; 86 } 87 const pattern = new RegExp(`versionCode.*`); 88 return buildGradle.replace(pattern, `versionCode ${versionCode}`); 89} 90//# sourceMappingURL=Version.js.map