Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(390)

Unified Diff: tools/patch_sdk.dart

Issue 2972323002: Add 'flutter_release' patch_sdk mode to patch_sdk (Closed)
Patch Set: Added TODO Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/patch_sdk.dart
diff --git a/tools/patch_sdk.dart b/tools/patch_sdk.dart
index e5d71883eb25bbe829d9ebe9aa0330aeb95b9ddc..73959071faf0e09bcb90df1f2953e01b413630a8 100644
--- a/tools/patch_sdk.dart
+++ b/tools/patch_sdk.dart
@@ -81,10 +81,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 {
@@ -211,13 +212,17 @@ Future<List<Uri>> compilePlatform(Uri patchedSdk, Target target, Uri packages,
..chaseDependencies = true
..target = target;
+ var inputs = [Uri.parse('dart:core')];
+ if (forFlutter && !forFlutterRelease) {
+ inputs.add(Uri.parse('dart:vmservice_sky'));
+ }
var result = await generateKernel(
new ProcessedOptions(
options,
// TODO(sigmund): pass all sdk libraries needed here, and make this
// hermetic.
false,
- [Uri.parse('dart:core')]),
+ inputs),
buildSummary: true,
buildProgram: true);
new File.fromUri(outlineOutput).writeAsBytesSync(result.summary);
@@ -292,6 +297,26 @@ String _updateLibraryMetadata(String sdkOut, String libContents) {
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(
@@ -330,6 +355,21 @@ _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.
+ //
+ // TODO(dartbug.com/30158): Consider producing separate Flutter
+ // vmservice.dill with these vmservice libraries.
+ 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');
+ }
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698