You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
3.7 KiB
116 lines
3.7 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.getVersionCode = getVersionCode;
|
|
exports.getVersionName = getVersionName;
|
|
exports.setMinBuildScriptExtVersion = setMinBuildScriptExtVersion;
|
|
exports.setVersionCode = setVersionCode;
|
|
exports.setVersionName = setVersionName;
|
|
exports.withVersion = exports.withBuildScriptExtMinimumVersion = void 0;
|
|
|
|
function _androidPlugins() {
|
|
const data = require("../plugins/android-plugins");
|
|
|
|
_androidPlugins = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _warnings() {
|
|
const data = require("../utils/warnings");
|
|
|
|
_warnings = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
const withVersion = config => {
|
|
return (0, _androidPlugins().withAppBuildGradle)(config, config => {
|
|
if (config.modResults.language === 'groovy') {
|
|
config.modResults.contents = setVersionCode(config, config.modResults.contents);
|
|
config.modResults.contents = setVersionName(config, config.modResults.contents);
|
|
} else {
|
|
(0, _warnings().addWarningAndroid)('android.versionCode', `Cannot automatically configure app build.gradle if it's not groovy`);
|
|
}
|
|
|
|
return config;
|
|
});
|
|
};
|
|
/** 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. */
|
|
|
|
|
|
exports.withVersion = withVersion;
|
|
|
|
const withBuildScriptExtMinimumVersion = (config, props) => {
|
|
return (0, _androidPlugins().withProjectBuildGradle)(config, config => {
|
|
if (config.modResults.language === 'groovy') {
|
|
config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props);
|
|
} else {
|
|
(0, _warnings().addWarningAndroid)('withBuildScriptExtVersion', `Cannot automatically configure project build.gradle if it's not groovy`);
|
|
}
|
|
|
|
return config;
|
|
});
|
|
};
|
|
|
|
exports.withBuildScriptExtMinimumVersion = withBuildScriptExtMinimumVersion;
|
|
|
|
function setMinBuildScriptExtVersion(buildGradle, {
|
|
name,
|
|
minVersion
|
|
}) {
|
|
var _buildGradle$match;
|
|
|
|
const regex = new RegExp(`(${name}\\s?=\\s?)(\\d+(?:\\.\\d+)?)`);
|
|
const currentVersion = (_buildGradle$match = buildGradle.match(regex)) === null || _buildGradle$match === void 0 ? void 0 : _buildGradle$match[2];
|
|
|
|
if (!currentVersion) {
|
|
(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.`); // TODO: Maybe just add the property...
|
|
|
|
return buildGradle;
|
|
}
|
|
|
|
const currentVersionNum = Number(currentVersion);
|
|
return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);
|
|
}
|
|
|
|
function getVersionName(config) {
|
|
var _config$version;
|
|
|
|
return (_config$version = config.version) !== null && _config$version !== void 0 ? _config$version : null;
|
|
}
|
|
|
|
function setVersionName(config, buildGradle) {
|
|
const versionName = getVersionName(config);
|
|
|
|
if (versionName === null) {
|
|
return buildGradle;
|
|
}
|
|
|
|
const pattern = new RegExp(`versionName ".*"`);
|
|
return buildGradle.replace(pattern, `versionName "${versionName}"`);
|
|
}
|
|
|
|
function getVersionCode(config) {
|
|
var _config$android$versi, _config$android;
|
|
|
|
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;
|
|
}
|
|
|
|
function setVersionCode(config, buildGradle) {
|
|
const versionCode = getVersionCode(config);
|
|
|
|
if (versionCode === null) {
|
|
return buildGradle;
|
|
}
|
|
|
|
const pattern = new RegExp(`versionCode.*`);
|
|
return buildGradle.replace(pattern, `versionCode ${versionCode}`);
|
|
}
|
|
//# sourceMappingURL=Version.js.map
|