Files
cocos-engine/scripts/verify-engine-version.js
SijieWang c41807c4f6 [Optimize] Simplify workflow (#16503)
* [Optimize] Simplify workflow
2023-11-13 09:31:40 +08:00

32 lines
1.1 KiB
JavaScript

const fs = require('fs');
const branchName = process.argv[2];
if (typeof branchName === 'undefined') {
console.error('Need to specify the current branch name in git repository');
process.exit(1);
}
const branchRegExp = /^v?(\d+\.\d+\.\d+)(?:-.*)?$/;
const matchResult = branchName.match(branchRegExp);
if (!(matchResult && matchResult[1])) {
console.warn(`Invalid branch name: "${branchName}", skip engine version validation.`);
process.exit(0);
}
const branchVersion = matchResult[1];
const versionRegExpMap = {
'./package.json': /"version": "(.*)"/,
'./cocos/core/global-exports.ts': /engineVersion = '(.*)'/,
};
for (const filePath in versionRegExpMap) {
const regExp = versionRegExpMap[filePath];
const content = fs.readFileSync(filePath, 'utf8');
const version = content.match(regExp)[1];
if (version !== branchVersion) {
console.error(`Wrong engine version "${version}" in file "${filePath}", need to match branch name "${branchName}".`);
process.exit(1);
}
}
console.log('Engine version validation complete!');
process.exit(0);