Просмотр исходного кода

updated build common to point to the lib version of tslint and tsc instead of the bin version. Hoping that this is what is causing the windows build to fail. Also updated to recurse through the AtomicEditor directory and lint each of the .ts files. Removed the linting of the atomic.d.ts files since d.ts files do not seem to be normally linted.

Shaddock Heath 10 лет назад
Родитель
Сommit
c79f577dd4
1 измененных файлов с 21 добавлено и 10 удалено
  1. 21 10
      Build/Scripts/BuildCommon.js

+ 21 - 10
Build/Scripts/BuildCommon.js

@@ -3,6 +3,7 @@ var os = require('os');
 var path = require("path");
 var host = require("./Host");
 var atomicRoot = host.atomicRoot;
+var glob = require('glob');
 
 namespace('build', function() {
 
@@ -15,6 +16,8 @@ namespace('build', function() {
         var modules = host.getScriptModules(platform);
         var bindCmd = host.atomicTool + " bind \"" + atomicRoot + "\" ";
         var node;
+        var tsc = "./Build/node_modules/typeScript/lib/tsc";
+        var tslint = "./Build/node_modules/tslint/lib/tslint-cli";
 
         switch(os.platform()) {
             case "win32":
@@ -35,21 +38,29 @@ namespace('build', function() {
 
         if (node) {
           // compile
-          cmds.push(node + " ./Build/node_modules/typeScript/bin/tsc -p ./Script");
+          cmds.push(node + " " + tsc + " -p ./Script");
+
           // lint
-          cmds.push(node + " ./Build/node_modules/tslint/bin/tslint -c ./Script/tslint.json ./Script/TypeScript/*.ts");
-          cmds.push(node + " ./Build/node_modules/tslint/bin/tslint -c ./Script/tslint.json ./Script/AtomicEditor/**/*.ts");
+          // Since TSLint does not yet support recursively searching for files, then we need to
+          // create a command per file.  The main issue with this is that it will abort on the first error instead
+          // of listing out all lint errors
+          glob("./Script/AtomicEditor/**/*.ts", (err, results) => {
+            results.forEach((file)=>{
+              cmds.push(node + " " + tslint + " -c ./Script/tslint.json " + file);
+            });
+
+            jake.exec(cmds, function() {
+
+              complete();
+
+            }, {
+              printStdout: true
+            });
+          });
         } else {
             throw new Error("Node not configured for this platform: " + os.platform());
         }
 
-         jake.exec(cmds, function() {
-
-          complete();
-
-        }, {
-          printStdout: true
-        });
 
   });