Prechádzať zdrojové kódy

Script d'execution des script des differents programme

Loquicom 5 rokov pred
rodič
commit
83984ff927
1 zmenil súbory, kde vykonal 48 pridanie a 0 odobranie
  1. 48 0
      main.js

+ 48 - 0
main.js

@@ -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]);