Index: tools/patch_sdk.dart |
diff --git a/tools/patch_sdk.dart b/tools/patch_sdk.dart |
index 3ff5d4828b2bca8ce046143d8cba024b086a60f6..03a4ffd10a9ecad3a88bb8182f24fdae042614d6 100644 |
--- a/tools/patch_sdk.dart |
+++ b/tools/patch_sdk.dart |
@@ -74,10 +74,11 @@ void usage(String mode) { |
exit(1); |
} |
-const validModes = const ['vm', 'dart2js', 'flutter']; |
+const validModes = const ['vm', 'dart2js', 'flutter', 'flutter_release']; |
String mode; |
bool get forVm => mode == 'vm'; |
-bool get forFlutter => mode == 'flutter'; |
+bool get forFlutter => mode == 'flutter' || mode == 'flutter_release'; |
+bool get forFlutterRelease => mode == 'flutter_release'; |
bool get forDart2js => mode == 'dart2js'; |
Future _main(List<String> argv) async { |
@@ -123,7 +124,9 @@ Future _main(List<String> argv) async { |
await fasta.compilePlatform(outDirUri, platform, |
packages: packages, |
outlineOutput: outline, |
- backendTarget: forVm ? 'vm_fasta' : 'flutter_fasta'); |
+ backendTarget: forVm |
+ ? 'vm_fasta' |
+ : forFlutterRelease ? 'flutter_fasta_release' : 'flutter_fasta'); |
} else { |
await dart2js.compilePlatform(outDirUri, platform, |
packages: packages, outlineOutput: outline); |
@@ -226,7 +229,28 @@ String _updateLibraryMetadata(String sdkOut, String libContents) { |
implementation: true, |
documented: false, |
platforms: VM_PLATFORM), |
+ |
'''); |
+ |
+ if (!forFlutterRelease) { |
+ // vmservice should be present unless we build release flavor of Flutter. |
+ extraLibraries.write(''' |
+ "_vmservice": const LibraryInfo( |
+ "vmservice/vmservice.dart", |
+ categories: "Client,Server", |
+ implementation: true, |
+ documented: false, |
+ platforms: VM_PLATFORM), |
+ |
+ "vmservice_sky": const LibraryInfo( |
+ "vmservice_sky/vmservice_io.dart", |
+ categories: "Client,Server", |
+ implementation: true, |
+ documented: false, |
+ platforms: VM_PLATFORM), |
+ |
+ '''); |
+ } |
} |
libContents = libContents.replaceAll( |
@@ -265,6 +289,19 @@ _copyExtraLibraries(String sdkOut, Map<String, String> locations) { |
_writeSync(uiLibraryOut, readInputFile(file.path)); |
} |
locations['ui'] = 'ui/ui.dart'; |
+ |
+ if (!forFlutterRelease) { |
+ // vmservice should be present unless we build release flavor of Flutter. |
+ for (var file in ['loader.dart', 'server.dart', 'vmservice_io.dart']) { |
+ var libraryIn = path.join(dartDir, 'runtime', 'bin', 'vmservice', file); |
+ var libraryOut = path.join(sdkOut, 'vmservice_io', file); |
+ _writeSync(libraryOut, readInputFile(libraryIn)); |
+ } |
+ |
+ locations['vmservice_sky'] = |
+ path.join('vmservice_io', 'vmservice_io.dart'); |
+ locations['_vmservice'] = path.join('vmservice', 'vmservice.dart'); |
+ } |
} |
} |