@@ -17,6 +17,7 @@ var libraryDirectory = "src/lib/";
17
17
var scriptsDirectory = "scripts/" ;
18
18
var unittestsDirectory = "src/harness/unittests/" ;
19
19
var docDirectory = "doc/" ;
20
+ var lclDirectory = "src/loc/lcl" ;
20
21
21
22
var builtDirectory = "built/" ;
22
23
var builtLocalDirectory = "built/local/" ;
@@ -427,7 +428,40 @@ compileFile(processDiagnosticMessagesJs,
427
428
[ processDiagnosticMessagesTs ] ,
428
429
[ processDiagnosticMessagesTs ] ,
429
430
[ ] ,
430
- /*useBuiltCompiler*/ false ) ;
431
+ /*useBuiltCompiler*/ false ) ;
432
+
433
+ // Localize diagnostics script
434
+ var generateLocalizedDiagnosticMessagesJs = path . join ( scriptsDirectory , "generateLocalizedDiagnosticMessages.js" ) ;
435
+ var generateLocalizedDiagnosticMessagesTs = path . join ( scriptsDirectory , "generateLocalizedDiagnosticMessages.ts" ) ;
436
+
437
+ file ( generateLocalizedDiagnosticMessagesTs ) ;
438
+
439
+ compileFile ( generateLocalizedDiagnosticMessagesJs ,
440
+ [ generateLocalizedDiagnosticMessagesTs ] ,
441
+ [ generateLocalizedDiagnosticMessagesTs ] ,
442
+ [ ] ,
443
+ /*useBuiltCompiler*/ false , { noOutFile : true , types : [ "node" , "xml2js" ] } ) ;
444
+
445
+ // Localize diagnostics
446
+ var generatedLCGFile = path . join ( builtLocalDirectory , "enu" , "diagnosticMessages.generated.json.lcg" ) ;
447
+ file ( generatedLCGFile , [ generateLocalizedDiagnosticMessagesJs , diagnosticInfoMapTs , generatedDiagnosticMessagesJSON ] , function ( ) {
448
+ var cmd = host + " " + generateLocalizedDiagnosticMessagesJs + " " + lclDirectory + " " + builtLocalDirectory + " " + generatedDiagnosticMessagesJSON ;
449
+ console . log ( cmd ) ;
450
+ var ex = jake . createExec ( [ cmd ] ) ;
451
+ // Add listeners for output and error
452
+ ex . addListener ( "stdout" , function ( output ) {
453
+ process . stdout . write ( output ) ;
454
+ } ) ;
455
+ ex . addListener ( "stderr" , function ( error ) {
456
+ process . stderr . write ( error ) ;
457
+ } ) ;
458
+ ex . addListener ( "cmdEnd" , function ( ) {
459
+ complete ( ) ;
460
+ } ) ;
461
+ ex . run ( ) ;
462
+ } , { async : true } ) ;
463
+
464
+ task ( "localize" , [ generatedLCGFile ] ) ;
431
465
432
466
var buildProtocolTs = path . join ( scriptsDirectory , "buildProtocol.ts" ) ;
433
467
var buildProtocolJs = path . join ( scriptsDirectory , "buildProtocol.js" ) ;
@@ -644,7 +678,7 @@ task("build-fold-end", [], function () {
644
678
645
679
// Local target to build the compiler and services
646
680
desc ( "Builds the full compiler and services" ) ;
647
- task ( "local" , [ "build-fold-start" , "generate-diagnostics" , "lib" , tscFile , servicesFile , nodeDefinitionsFile , serverFile , buildProtocolDts , builtGeneratedDiagnosticMessagesJSON , "lssl" , "build-fold-end" ] ) ;
681
+ task ( "local" , [ "build-fold-start" , "generate-diagnostics" , "lib" , tscFile , servicesFile , nodeDefinitionsFile , serverFile , buildProtocolDts , builtGeneratedDiagnosticMessagesJSON , "lssl" , "localize" , " build-fold-end"] ) ;
648
682
649
683
// Local target to build only tsc.js
650
684
desc ( "Builds only the compiler" ) ;
@@ -699,7 +733,10 @@ task("generate-spec", [specMd]);
699
733
// Makes a new LKG. This target does not build anything, but errors if not all the outputs are present in the built/local directory
700
734
desc ( "Makes a new LKG out of the built js files" ) ;
701
735
task ( "LKG" , [ "clean" , "release" , "local" ] . concat ( libraryTargets ) , function ( ) {
702
- var expectedFiles = [ tscFile , servicesFile , serverFile , nodePackageFile , nodeDefinitionsFile , standaloneDefinitionsFile , tsserverLibraryFile , tsserverLibraryDefinitionFile , cancellationTokenFile , typingsInstallerFile , buildProtocolDts , watchGuardFile ] . concat ( libraryTargets ) ;
736
+ var expectedFiles = [ tscFile , servicesFile , serverFile , nodePackageFile , nodeDefinitionsFile , standaloneDefinitionsFile , tsserverLibraryFile , tsserverLibraryDefinitionFile , cancellationTokenFile , typingsInstallerFile , buildProtocolDts , watchGuardFile ] .
737
+ concat ( libraryTargets ) .
738
+ concat ( fs . readdirSync ( lclDirectory ) . map ( function ( d ) { return path . join ( builtLocalDirectory , d ) } ) ) .
739
+ concat ( path . dirname ( generatedLCGFile ) ) ;
703
740
var missingFiles = expectedFiles . filter ( function ( f ) {
704
741
return ! fs . existsSync ( f ) ;
705
742
} ) ;
@@ -1229,7 +1266,7 @@ task("lint", ["build-rules"], () => {
1229
1266
const fileMatcher = process . env . f || process . env . file || process . env . files ;
1230
1267
const files = fileMatcher
1231
1268
? `src/**/${ fileMatcher } `
1232
- : "Gulpfile.ts 'scripts/tslint/**/*.ts' 'src/**/*.ts' --exclude src/lib/es5.d.ts --exclude 'src/lib/*.generated.d.ts'" ;
1269
+ : "Gulpfile.ts 'scripts/generateLocalizedDiagnosticMessages.ts' 'scripts/ tslint/**/*.ts' 'src/**/*.ts' --exclude src/lib/es5.d.ts --exclude 'src/lib/*.generated.d.ts'" ;
1233
1270
const cmd = `node node_modules/tslint/bin/tslint ${ files } --formatters-dir ./built/local/tslint/formatters --format autolinkableStylish` ;
1234
1271
console . log ( "Linting: " + cmd ) ;
1235
1272
jake . exec ( [ cmd ] , { interactive : true } , ( ) => {
0 commit comments