Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env dart | 1 #!/usr/bin/env dart |
| 2 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 2 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 3 // for details. All rights reserved. Use of this source code is governed by a | 3 // for details. All rights reserved. Use of this source code is governed by a |
| 4 // BSD-style license that can be found in the LICENSE file. | 4 // BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 /// Command line tool to merge the SDK libraries and our patch files. | 6 /// Command line tool to merge the SDK libraries and our patch files. |
| 7 /// This is currently designed as an offline tool, but we could automate it. | 7 /// This is currently designed as an offline tool, but we could automate it. |
| 8 | 8 |
| 9 import 'dart:io'; | 9 import 'dart:io'; |
| 10 import 'dart:isolate' show RawReceivePort; | 10 import 'dart:isolate' show RawReceivePort; |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 120 librariesJson.toFilePath(), JSON.encode({"libraries": locations})); | 120 librariesJson.toFilePath(), JSON.encode({"libraries": locations})); |
| 121 | 121 |
| 122 if (forVm || forFlutter) { | 122 if (forVm || forFlutter) { |
| 123 var vmserviceName = forVm ? 'vmservice_io' : 'vmservice_sky'; | 123 var vmserviceName = forVm ? 'vmservice_io' : 'vmservice_sky'; |
| 124 var targetName = forVm ? 'vm_fasta' : 'flutter_fasta'; | 124 var targetName = forVm ? 'vm_fasta' : 'flutter_fasta'; |
| 125 Uri vmserviceUri = outDirUri.resolve('$vmserviceName.dill'); | 125 Uri vmserviceUri = outDirUri.resolve('$vmserviceName.dill'); |
| 126 await fasta.compilePlatform(outDirUri, platform, | 126 await fasta.compilePlatform(outDirUri, platform, |
| 127 packages: packages, | 127 packages: packages, |
| 128 outlineOutput: outline, | 128 outlineOutput: outline, |
| 129 backendTarget: forVm ? 'vm_fasta' : 'flutter_fasta'); | 129 backendTarget: forVm ? 'vm_fasta' : 'flutter_fasta'); |
| 130 var base = path.fromUri(Platform.script); | |
| 131 Uri repositoryDir = | |
| 132 new Uri.directory(path.dirname(path.dirname(path.absolute(base)))); | |
| 133 Uri vmserviceSdk = repositoryDir.resolve('runtime/bin/vmservice_sdk/'); | |
|
Siggi Cherem (dart-lang)
2017/06/15 17:43:39
Sorry I didn't notice this earlier, I just realize
sivachandra
2017/06/15 18:34:21
How is it in patch set 3?
| |
| 134 // TODO(sigmundch): Specify libraries.json directly instead of "--sdk" | |
| 135 // after #29882 is fixed. | |
| 130 await fasta.compile([ | 136 await fasta.compile([ |
| 131 "--sdk=$outDirUri", | 137 "--sdk=$vmserviceSdk", |
| 132 "--platform=$outline", | 138 "--platform=$outline", |
| 133 "--target=$targetName", | 139 "--target=$targetName", |
| 134 "--packages=$packages", | 140 "--packages=$packages", |
| 135 "dart:$vmserviceName", | 141 "dart:$vmserviceName", |
| 136 "-o", | 142 "-o", |
| 137 "$vmserviceUri", | 143 "$vmserviceUri", |
| 138 ]); | 144 ]); |
| 139 } else { | 145 } else { |
| 140 await dart2js.compilePlatform(outDirUri, platform, | 146 await dart2js.compilePlatform(outDirUri, platform, |
| 141 packages: packages, outlineOutput: outline); | 147 packages: packages, outlineOutput: outline); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 236 _copyExtraLibraries(String sdkOut, Map<String, String> locations) { | 242 _copyExtraLibraries(String sdkOut, Map<String, String> locations) { |
| 237 if (forDart2js) return; | 243 if (forDart2js) return; |
| 238 var base = path.fromUri(Platform.script); | 244 var base = path.fromUri(Platform.script); |
| 239 var dartDir = path.dirname(path.dirname(path.absolute(base))); | 245 var dartDir = path.dirname(path.dirname(path.absolute(base))); |
| 240 | 246 |
| 241 var builtinLibraryIn = path.join(dartDir, 'runtime', 'bin', 'builtin.dart'); | 247 var builtinLibraryIn = path.join(dartDir, 'runtime', 'bin', 'builtin.dart'); |
| 242 var builtinLibraryOut = path.join(sdkOut, '_builtin', '_builtin.dart'); | 248 var builtinLibraryOut = path.join(sdkOut, '_builtin', '_builtin.dart'); |
| 243 _writeSync(builtinLibraryOut, readInputFile(builtinLibraryIn)); | 249 _writeSync(builtinLibraryOut, readInputFile(builtinLibraryIn)); |
| 244 locations['_builtin'] = path.join('_builtin', '_builtin.dart'); | 250 locations['_builtin'] = path.join('_builtin', '_builtin.dart'); |
| 245 | 251 |
| 246 for (var file in ['loader.dart', 'server.dart', 'vmservice_io.dart']) { | |
| 247 var libraryIn = path.join(dartDir, 'runtime', 'bin', 'vmservice', file); | |
| 248 var libraryOut = path.join(sdkOut, 'vmservice_io', file); | |
| 249 _writeSync(libraryOut, readInputFile(libraryIn)); | |
| 250 } | |
| 251 | |
| 252 locations[forVm ? "vmservice_io" : "vmservice_sky"] = | |
| 253 path.join('vmservice_io', 'vmservice_io.dart'); | |
| 254 locations["_vmservice"] = path.join('vmservice', 'vmservice.dart'); | |
| 255 | |
| 256 if (forFlutter) { | 252 if (forFlutter) { |
| 257 // Flutter repo has this layout: | 253 // Flutter repo has this layout: |
| 258 // engine/src/ | 254 // engine/src/ |
| 259 // dart/ | 255 // dart/ |
| 260 // flutter/ | 256 // flutter/ |
| 261 var srcDir = path.dirname(path.dirname(path.dirname(path.absolute(base)))); | 257 var srcDir = path.dirname(path.dirname(path.dirname(path.absolute(base)))); |
| 262 var uiLibraryInDir = path.join(srcDir, 'flutter', 'lib', 'ui'); | 258 var uiLibraryInDir = path.join(srcDir, 'flutter', 'lib', 'ui'); |
| 263 for (var file in new Directory(uiLibraryInDir).listSync()) { | 259 for (var file in new Directory(uiLibraryInDir).listSync()) { |
| 264 if (!file.path.endsWith('.dart')) continue; | 260 if (!file.path.endsWith('.dart')) continue; |
| 265 var name = path.basename(file.path); | 261 var name = path.basename(file.path); |
| (...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 676 if (diff != 0) return diff; | 672 if (diff != 0) return diff; |
| 677 return end - other.end; | 673 return end - other.end; |
| 678 } | 674 } |
| 679 } | 675 } |
| 680 | 676 |
| 681 List<SdkLibrary> _getSdkLibraries(String contents) { | 677 List<SdkLibrary> _getSdkLibraries(String contents) { |
| 682 var libraryBuilder = new SdkLibrariesReader_LibraryBuilder(forDart2js); | 678 var libraryBuilder = new SdkLibrariesReader_LibraryBuilder(forDart2js); |
| 683 parseCompilationUnit(contents).accept(libraryBuilder); | 679 parseCompilationUnit(contents).accept(libraryBuilder); |
| 684 return libraryBuilder.librariesMap.sdkLibraries; | 680 return libraryBuilder.librariesMap.sdkLibraries; |
| 685 } | 681 } |
| OLD | NEW |