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