 Chromium Code Reviews
 Chromium Code Reviews Issue 2710943006:
  Make patch_sdk step invoke fasta's compile_platform to generate patched_sdk/platform.dill.  (Closed)
    
  
    Issue 2710943006:
  Make patch_sdk step invoke fasta's compile_platform to generate patched_sdk/platform.dill.  (Closed) 
  | Index: tools/patch_sdk.dart | 
| diff --git a/tools/patch_sdk.dart b/tools/patch_sdk.dart | 
| index 254b8b0b0d472763be832fe13bd866ff6536790c..fbcca3a8e0c74d55a5230886ac37e6ba5e1fc1be 100644 | 
| --- a/tools/patch_sdk.dart | 
| +++ b/tools/patch_sdk.dart | 
| @@ -12,32 +12,26 @@ import 'dart:math' as math; | 
| import 'package:analyzer/analyzer.dart'; | 
| import 'package:analyzer/src/generated/sdk.dart'; | 
| import 'package:path/path.dart' as path; | 
| +import 'package:front_end/src/fasta/bin/compile_platform.dart' as | 
| + compile_platform; | 
| void main(List<String> argv) { | 
| var base = path.fromUri(Platform.script); | 
| var dartDir = path.dirname(path.dirname(path.absolute(base))); | 
| - if (argv.length != 4 || | 
| - !argv.isEmpty && argv.first != 'vm' && argv.first != 'ddc') { | 
| + if (argv.length != 5 || (!argv.isEmpty && argv.first != 'vm')) { | 
| 
kustermann
2017/02/23 15:59:38
We have shortcut operators: Just use
if (argv.len
 | 
| var self = path.relative(base); | 
| - print('Usage: $self MODE SDK_DIR PATCH_DIR OUTPUT_DIR'); | 
| + print('Usage: $self MODE SDK_DIR PATCH_DIR OUTPUT_DIR PACKAGES'); | 
| print('MODE must be one of ddc or vm.'); | 
| 
kustermann
2017/02/23 15:59:39
Remove "ddc or".
 | 
| - var toolDir = path.relative(path.dirname(base)); | 
| - var sdkExample = path.join(toolDir, 'input_sdk'); | 
| - var patchExample = path.join(sdkExample, 'patch'); | 
| - var outExample = | 
| - path.relative(path.normalize(path.join('gen', 'patched_sdk'))); | 
| - print('For example:'); | 
| - print('\$ $self ddc $sdkExample $patchExample $outExample'); | 
| - | 
| var repositoryDir = path.relative(path.dirname(path.dirname(base))); | 
| - sdkExample = path.relative(path.join(repositoryDir, 'sdk')); | 
| - patchExample = path.relative(path.join(repositoryDir, 'out', 'DebugX64', | 
| - 'obj', 'gen', 'patch')); | 
| - outExample = path.relative(path.join(repositoryDir, 'out', 'DebugX64', | 
| - 'obj', 'gen', 'patched_sdk')); | 
| - print('or:'); | 
| + var sdkExample = path.relative(path.join(repositoryDir, 'sdk')); | 
| + var packagesExample = path.relative(path.join(repositoryDir, '.packages')); | 
| + var patchExample = path.relative(path.join(repositoryDir, 'out', 'DebugX64', | 
| + 'obj', 'gen', 'patch')); | 
| + var outExample = path.relative(path.join(repositoryDir, 'out', 'DebugX64', | 
| + 'obj', 'gen', 'patched_sdk')); | 
| 
kustermann
2017/02/23 15:59:39
final?
 | 
| + print('For example:'); | 
| print('\$ $self vm $sdkExample $patchExample $outExample'); | 
| exit(1); | 
| @@ -48,6 +42,7 @@ void main(List<String> argv) { | 
| var sdkLibIn = path.join(input, 'lib'); | 
| var patchIn = argv[2]; | 
| var sdkOut = path.join(argv[3], 'lib'); | 
| + var packagesFile = argv[4]; | 
| 
kustermann
2017/02/23 15:59:38
final?
 | 
| var privateIn = path.join(input, 'private'); | 
| var INTERNAL_PATH = '_internal/compiler/js_lib/'; | 
| @@ -180,8 +175,8 @@ void main(List<String> argv) { | 
| } | 
| } | 
| } | 
| - if (mode == 'vm') { | 
| + if (mode == 'vm') { | 
| for (var tuple in [['_builtin', 'builtin.dart']]) { | 
| var vmLibrary = tuple[0]; | 
| var dartFile = tuple[1]; | 
| @@ -198,6 +193,10 @@ void main(List<String> argv) { | 
| _writeSync(libraryOut, new File(libraryIn).readAsStringSync()); | 
| } | 
| } | 
| + | 
| + compile_platform.main(<String>[ | 
| 
kustermann
2017/02/23 15:59:39
await compile_platform.main();
 | 
| + '--packages', packagesFile, sdkOut, path.join(sdkOut, 'platform.dill') | 
| + ]); | 
| } | 
| /// Writes a file, creating the directory if needed. |