|
@@ -0,0 +1,48 @@
|
|
|
+if (process.argv.length < 4) {
|
|
|
+ console.error('Not enough arguments');
|
|
|
+ process.exit(1);
|
|
|
+}
|
|
|
+
|
|
|
+const programs = require('./deploy.json').programs;
|
|
|
+
|
|
|
+let program = null;
|
|
|
+programs.forEach(elt => {
|
|
|
+ if (elt.name === process.argv[2]) {
|
|
|
+ program = elt;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+});
|
|
|
+if (program === null) {
|
|
|
+ console.error(process.argv[2], 'not found');
|
|
|
+ process.exit(2);
|
|
|
+}
|
|
|
+
|
|
|
+if (program.script[process.argv[3]] === undefined) {
|
|
|
+ console.error(process.argv[2], 'script not found');
|
|
|
+ process.exit(3);
|
|
|
+}
|
|
|
+
|
|
|
+const cmd = program.script[process.argv[3]].split(' ');
|
|
|
+let argv = [];
|
|
|
+argv.push(process.argv[0]);
|
|
|
+argv.push(process.argv[1].replace('main.js', cmd[1]));
|
|
|
+let longParam = false;
|
|
|
+let param = '';
|
|
|
+for (let i = 2; i < cmd.length; i++) {
|
|
|
+ if (longParam) {
|
|
|
+ param += ' ' + cmd[i];
|
|
|
+ if (cmd[i][cmd[i].length - 1] === '"') {
|
|
|
+ argv.push(param.replace(/^"+|"+$/g, ''));
|
|
|
+ param = '';
|
|
|
+ longParam = false;
|
|
|
+ }
|
|
|
+ } else if (cmd[i][0] === '"') {
|
|
|
+ longParam = true;
|
|
|
+ param = cmd[i];
|
|
|
+ } else {
|
|
|
+ argv.push(cmd[i]);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+process.argv = argv;
|
|
|
+require('./' + cmd[1]);
|