Files
PP 3ece395d72 integrate turbo workflow (#16164)
* move modules in scripts to packages

* integrate turbo workflow

* update lock

* update native-pack-tools path

* upgrade tfig

* remove cc config schema
2023-09-04 10:56:52 +08:00

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);
});