From 212e5373f39e024286c150b50f2e67b9b631c708 Mon Sep 17 00:00:00 2001 From: Panayot Cankov Date: Thu, 26 May 2016 15:12:42 +0300 Subject: [PATCH] Move expect.exp for travis --- build/run-testsapp.grunt.js | 14 ++++---- build/tsc-dev.js | 35 ++++++++++++++++++-- build/tsc-dev.ts | 39 +++++++++++++++++++++-- tns-core-modules/expect.exp => expect.exp | 0 4 files changed, 76 insertions(+), 12 deletions(-) rename tns-core-modules/expect.exp => expect.exp (100%) diff --git a/build/run-testsapp.grunt.js b/build/run-testsapp.grunt.js index 285a3ac7c..2f987ffc9 100644 --- a/build/run-testsapp.grunt.js +++ b/build/run-testsapp.grunt.js @@ -58,7 +58,7 @@ module.exports = { pathToApp: "./platforms/ios/build/emulator/TestsApp.app", deployedAppName:"org.nativescript.TestsApp", mainActivityName:"com.tns.NativeScriptActivity", - pathToCompiledTests: "bin/dist/apps/tests", + pathToCompiledTests: "bin/dist/tests/app", simulatorSysLog: pathModule.join(process.env.HOME, "Library/Logs/CoreSimulator", args.emuAvdName, "/system.log"), platform: args.platform } @@ -199,12 +199,10 @@ module.exports = { }, startiOSApp: { cmd: "xcrun simctl launch " + localCfg.emuAvdName + " org.nativescript." + localCfg.testsAppName - } - }, - untar: { - modules: { - src: localCfg.modulesPath, - dest: pathModule.join(localCfg.applicationDir, "node_modules") + }, + "npm-i-modules": { + cmd: "npm i " + pathModule.relative(localCfg.applicationDir, localCfg.modulesPath), + cwd: localCfg.applicationDir } }, shell: { @@ -297,7 +295,7 @@ module.exports = { "clean:originalAppDir", "copy:testsAppToRunDir", "clean:modules", - "untar:modules", + "exec:npm-i-modules", "copy:modulesToDir", "clean:tempExtractedModules", diff --git a/build/tsc-dev.js b/build/tsc-dev.js index f1234764a..062310809 100644 --- a/build/tsc-dev.js +++ b/build/tsc-dev.js @@ -1,13 +1,43 @@ "use strict"; var ts = require("typescript"); var fs = require("fs"); +var path = require("path"); +var arg1 = process.argv.length > 2 ? process.argv[2] : ""; +var isIncremental = arg1.indexOf("i") >= 0; +if (isIncremental) { + console.log("incremental"); +} function compile(fileNames, options) { + console.time("program"); var program = ts.createProgram(fileNames, options); + console.timeEnd("program"); var sourceFiles = program.getSourceFiles().filter(function (f) { return f.fileName.lastIndexOf(".d.ts") !== f.fileName.length - 5; }); - // sourceFiles.forEach(sf => console.log(" - " + sf.fileName)); var emitResults = []; var allDiagnostics = []; - sourceFiles.forEach(function (srcFile) { return emitResults.push(program.emit(srcFile)); }); + console.time("transpile"); + if (isIncremental) { + sourceFiles = sourceFiles.filter(function (srcFile) { + try { + var tsName = srcFile.fileName; + var jsName = path.join(path.dirname(tsName), path.basename(tsName, ".ts")) + ".js"; + var tsTime = fs.statSync(tsName).mtime.getTime(); + var jsTime = fs.statSync(jsName).mtime.getTime(); + return jsTime < tsTime; + } + catch (e) { + return true; + } + }); + sourceFiles.forEach(function (srcFile) { + console.log(" - " + srcFile.fileName); + emitResults.push(program.emit(srcFile)); + }); + } + else { + sourceFiles.forEach(function (srcFile) { return emitResults.push(program.emit(srcFile)); }); + } + console.timeEnd("transpile"); + console.time("diagnostics"); sourceFiles.forEach(function (srcFile) { return allDiagnostics = allDiagnostics.concat(ts.getPreEmitDiagnostics(program, srcFile)); }); emitResults.forEach(function (er) { return allDiagnostics = allDiagnostics.concat(er.diagnostics); }); allDiagnostics.forEach(function (diagnostic) { @@ -18,6 +48,7 @@ function compile(fileNames, options) { var code = diagnostic.code; console.log(diagnostic.file.fileName + "(" + (line + 1) + "," + (character + 1) + "): TS" + code + ": " + message); }); + console.timeEnd("diagnostics"); var exitCode = emitResults.some(function (er) { return er.emitSkipped; }) ? 1 : 0; console.log("Process exiting with code " + exitCode + "."); process.exit(exitCode); diff --git a/build/tsc-dev.ts b/build/tsc-dev.ts index 6cf8f4d35..f4afd4c36 100644 --- a/build/tsc-dev.ts +++ b/build/tsc-dev.ts @@ -1,17 +1,51 @@ import * as ts from "typescript"; declare var process, require; var fs = require("fs"); +var path = require("path"); + +var arg1 = process.argv.length > 2 ? process.argv[2] : ""; + +var isIncremental = arg1.indexOf("i") >= 0; +if (isIncremental) { + console.log("incremental"); +} function compile(fileNames: string[], options: ts.CompilerOptions) { + console.time("program"); var program = ts.createProgram(fileNames, options); + console.timeEnd("program"); var sourceFiles = program.getSourceFiles().filter(f => f.fileName.lastIndexOf(".d.ts") !== f.fileName.length - 5); - // sourceFiles.forEach(sf => console.log(" - " + sf.fileName)); var emitResults = []; var allDiagnostics = []; - sourceFiles.forEach(srcFile => emitResults.push(program.emit(srcFile))); + console.time("transpile"); + if (isIncremental) { + sourceFiles = sourceFiles.filter(srcFile => { + try { + var tsName = srcFile.fileName; + var jsName = path.join(path.dirname(tsName), path.basename(tsName, ".ts")) + ".js"; + + var tsTime = fs.statSync(tsName).mtime.getTime(); + var jsTime = fs.statSync(jsName).mtime.getTime(); + + return jsTime < tsTime; + } catch(e) { + return true; + } + }); + + sourceFiles.forEach(srcFile => { + console.log(" - " + srcFile.fileName); + emitResults.push(program.emit(srcFile)); + }); + } else { + sourceFiles.forEach(srcFile => emitResults.push(program.emit(srcFile))); + } + console.timeEnd("transpile"); + + console.time("diagnostics"); sourceFiles.forEach(srcFile => allDiagnostics = allDiagnostics.concat(ts.getPreEmitDiagnostics(program, srcFile))); emitResults.forEach(er => allDiagnostics = allDiagnostics.concat(er.diagnostics)); @@ -23,6 +57,7 @@ function compile(fileNames: string[], options: ts.CompilerOptions) { var code = diagnostic.code; console.log(diagnostic.file.fileName + "(" + (line + 1) + "," + (character + 1) + "): TS" + code + ": " + message); }); + console.timeEnd("diagnostics"); var exitCode = emitResults.some(er => er.emitSkipped) ? 1 : 0; diff --git a/tns-core-modules/expect.exp b/expect.exp similarity index 100% rename from tns-core-modules/expect.exp rename to expect.exp