switch from bat to ps1
[webi-installers/.git] / _webi / test.js
index e40495e5abb19d1889841d7964846f14dc2e883c..d45b87fb0eb4acfd126835a29f84ddac720496cb 100755 (executable)
@@ -46,7 +46,7 @@ nodes.forEach(function (node) {
 var maxLen = 0;
 console.info('');
 console.info('Has the necessary files?');
-['package.yash', 'releases.js', 'install.sh', 'install.bat']
+['README.md', 'releases.js', 'install.sh', 'install.ps1']
   .map(function (node) {
     maxLen = Math.max(maxLen, node.length);
     return node;
@@ -81,6 +81,9 @@ Releases.get(path.join(process.cwd(), pkgdir)).then(function (all) {
         new RegExp('^' + pkgtag).test(rel.version))
     );
   })[0];
+  rel.oses = all.oses;
+  rel.arches = all.arches;
+  rel.formats = all.formats;
 
   if (!rel) {
     console.error('Error: ❌ no release found for current os, arch, and tag');
@@ -93,25 +96,43 @@ Releases.get(path.join(process.cwd(), pkgdir)).then(function (all) {
   console.info(rel);
   console.info('');
 
-  return Releases.renderBash(pkgdir, rel, {
-    baseurl: 'https://webinstall.dev',
-    pkg: pkgname,
-    tag: pkgtag || '',
-    ver: '',
-    os: osrel,
-    arch,
-    formats: formats
-  }).then(function (bashTxt) {
+  return Promise.all([
+    Releases.renderBash(pkgdir, rel, {
+      baseurl: 'https://webinstall.dev',
+      pkg: pkgname,
+      tag: pkgtag || '',
+      ver: '',
+      os: osrel,
+      arch,
+      formats: formats
+    }).catch(function () {}),
+    Releases.renderPowerShell(pkgdir, rel, {
+      baseurl: 'https://webinstall.dev',
+      pkg: pkgname,
+      tag: pkgtag || '',
+      ver: '',
+      os: osrel,
+      arch,
+      formats: formats
+    }).catch(function () {})
+  ]).then(function (scripts) {
+    var bashTxt = scripts[0];
+    var ps1Txt = scripts[1];
     var bashFile = 'install-' + pkgname + '.sh';
-    var batFile = 'install-' + pkgname + '.bat';
+    var ps1File = 'install-' + pkgname + '.ps1';
 
     if (debug) {
-      bashTxt = bashTxt.replace(/#set -x/g, 'set -x');
+      bashTxt = (bashTxt || 'echo ERROR').replace(/#set -x/g, 'set -x');
+      ps1Txt = (ps1Txt || 'echo ERROR').replace(
+        /REM REM todo debug/g,
+        'REM todo debug'
+      );
     }
-    fs.writeFileSync(bashFile, bashTxt, 'utf-8');
     console.info('Has the necessary files?');
-    console.info('\tNEEDS MANUAL TEST: %s', bashFile);
-    console.info('\t(todo: ' + batFile + ')');
+    fs.writeFileSync(bashFile, bashTxt, 'utf-8');
+    console.info('\tNEEDS MANUAL TEST: bash %s', bashFile);
+    fs.writeFileSync(ps1File, ps1Txt, 'utf-8');
+    console.info('\tNEEDS MANUAL TEST: powershell.exe %s', ps1File);
     console.info('');
   });
 });