瀏覽代碼

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 年之前
父節點
當前提交
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
-        });
 
   });