Chromium Code Reviews| 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. |