mirror of
https://github.com/cocos/cocos-engine.git
synced 2026-09-06 15:48:37 +08:00
* move modules in scripts to packages * integrate turbo workflow * update lock * update native-pack-tools path * upgrade tfig * remove cc config schema
74 lines
1.9 KiB
JavaScript
74 lines
1.9 KiB
JavaScript
|
|
const ps = require('path');
|
|
const fs = require('fs-extra');
|
|
|
|
const CocosConfig ='cocos.compile.config.json';
|
|
|
|
const currentInfo = {
|
|
cocosParams: null,
|
|
projectPath: '',
|
|
}
|
|
|
|
function getParams() {
|
|
if (currentInfo.cocosParams) {
|
|
return currentInfo.cocosParams;
|
|
}
|
|
currentInfo.cocosParams = fs.readJsonSync(ps.join(getCurrentProject(), CocosConfig));
|
|
if (!currentInfo.cocosParams) {
|
|
throw new Error(`can not get cocosParams in ${CocosConfig}`);
|
|
}
|
|
return currentInfo.cocosParams;
|
|
}
|
|
|
|
function getCurrentProjectFromArgs() {
|
|
// const index = process.argv.findIndex((item) => item === '--project');
|
|
// if (index === -1) {
|
|
// throw Error('--project is required');
|
|
// }
|
|
const projectPath = process.argv[2];
|
|
if (!fs.existsSync(projectPath)) {
|
|
throw Error(`Project path ${projectPath} is not exist!`);
|
|
}
|
|
currentInfo.projectPath = projectPath;
|
|
return projectPath;
|
|
}
|
|
|
|
function getTasksFromArgs() {
|
|
// const taskStr = process.argv.find((item) => item === '--task');
|
|
// if (!taskStr) {
|
|
// throw Error('--task is required');
|
|
// }
|
|
// return taskStr.split(',');
|
|
return process.argv[3].split(',');
|
|
}
|
|
|
|
function getCurrentProject () {
|
|
if (currentInfo.projectPath) {
|
|
return currentInfo.projectPath;
|
|
}
|
|
return getCurrentProjectFromArgs();
|
|
}
|
|
|
|
// main
|
|
const cocosParams = getParams();
|
|
const { nativePackToolMg } = require('../lib/index');
|
|
nativePackToolMg.init(cocosParams);
|
|
|
|
const tasks = getTasksFromArgs();
|
|
|
|
let promise = Promise.resolve();
|
|
// run all task
|
|
tasks.forEach((taskName) => {
|
|
promise = promise.then(() => {
|
|
console.log(`Start run pack task ${taskName}`);
|
|
return nativePackToolMg[taskName](cocosParams.platform);
|
|
});
|
|
});
|
|
|
|
promise.then(() => {
|
|
console.log(`run task ${tasks} success!`);
|
|
process.exit();
|
|
}).catch((error) => {
|
|
console.log(error);
|
|
process.exit(-1);
|
|
}); |