| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- const {plist, logger} = require('@appium/support');
- const path = require('node:path');
- const semver = require('semver');
- const log = logger.getLogger('Versioner');
- /**
- * @param {string} argName
- * @returns {string|null}
- */
- function parseArgValue (argName) {
- const argNamePattern = new RegExp(`^--${argName}\\b`);
- for (let i = 1; i < process.argv.length; ++i) {
- const arg = process.argv[i];
- if (argNamePattern.test(arg)) {
- return arg.includes('=') ? arg.split('=')[1] : process.argv[i + 1];
- }
- }
- return null;
- }
- async function updateWdaVersion() {
- const newVersion = parseArgValue('package-version');
- if (!newVersion) {
- throw new Error('No package version argument (use `--package-version=xxx`)');
- }
- if (!semver.valid(newVersion)) {
- throw new Error(
- `Invalid version specified '${newVersion}'. Version should be in the form '1.2.3'`
- );
- }
- const libManifest = path.resolve('WebDriverAgentLib', 'Info.plist');
- log.info(`Updating the WebDriverAgent manifest at '${libManifest}' to version '${newVersion}'`);
- await plist.updatePlistFile(libManifest, {
- CFBundleShortVersionString: newVersion,
- CFBundleVersion: newVersion,
- }, false);
- }
- (async () => await updateWdaVersion())();
|