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. |