Unverified Commit 4bb7496b authored by Chris Bracken's avatar Chris Bracken Committed by GitHub

Extract Xxd class for iOS AOT snapshotting (#16986)

Allows for better mockability when tests are added.
parent dcf05afc
...@@ -16,7 +16,7 @@ import '../build_info.dart'; ...@@ -16,7 +16,7 @@ import '../build_info.dart';
import '../compile.dart'; import '../compile.dart';
import '../dart/package_map.dart'; import '../dart/package_map.dart';
import '../globals.dart'; import '../globals.dart';
import '../ios/mac.dart' show xcode; import '../ios/mac.dart' show xcode, xxd;
import '../resident_runner.dart'; import '../resident_runner.dart';
import '../runner/flutter_command.dart'; import '../runner/flutter_command.dart';
import 'build.dart'; import 'build.dart';
...@@ -422,12 +422,14 @@ Future<String> _buildAotSnapshot( ...@@ -422,12 +422,14 @@ Future<String> _buildAotSnapshot(
await fs.file(vmSnapshotData).rename(fs.path.join(outputDir.path, kVmSnapshotData)); await fs.file(vmSnapshotData).rename(fs.path.join(outputDir.path, kVmSnapshotData));
await fs.file(isolateSnapshotData).rename(fs.path.join(outputDir.path, kIsolateSnapshotData)); await fs.file(isolateSnapshotData).rename(fs.path.join(outputDir.path, kIsolateSnapshotData));
await runCheckedAsync(<String>[ await xxd.run(
'xxd', '--include', kVmSnapshotData, fs.path.basename(kVmSnapshotDataC) <String>['--include', kVmSnapshotData, fs.path.basename(kVmSnapshotDataC)],
], workingDirectory: outputDir.path); workingDirectory: outputDir.path,
await runCheckedAsync(<String>[ );
'xxd', '--include', kIsolateSnapshotData, fs.path.basename(kIsolateSnapshotDataC) await xxd.run(
], workingDirectory: outputDir.path); <String>['--include', kIsolateSnapshotData, fs.path.basename(kIsolateSnapshotDataC)],
workingDirectory: outputDir.path,
);
await xcode.cc(commonBuildOptions.toList()..addAll(<String>['-c', kVmSnapshotDataC, '-o', kVmSnapshotDataO])); await xcode.cc(commonBuildOptions.toList()..addAll(<String>['-c', kVmSnapshotDataC, '-o', kVmSnapshotDataO]));
await xcode.cc(commonBuildOptions.toList()..addAll(<String>['-c', kIsolateSnapshotDataC, '-o', kIsolateSnapshotDataO])); await xcode.cc(commonBuildOptions.toList()..addAll(<String>['-c', kIsolateSnapshotDataC, '-o', kIsolateSnapshotDataO]));
......
...@@ -39,6 +39,8 @@ IMobileDevice get iMobileDevice => context[IMobileDevice]; ...@@ -39,6 +39,8 @@ IMobileDevice get iMobileDevice => context[IMobileDevice];
Xcode get xcode => context[Xcode]; Xcode get xcode => context[Xcode];
Xxd get xxd => context[Xxd];
class PythonModule { class PythonModule {
const PythonModule(this.name); const PythonModule(this.name);
...@@ -103,6 +105,12 @@ class IMobileDevice { ...@@ -103,6 +105,12 @@ class IMobileDevice {
} }
} }
class Xxd {
Future<RunResult> run(List<String> args, {String workingDirectory}) {
return runCheckedAsync(<String>['xxd']..addAll(args), workingDirectory: workingDirectory);
}
}
class Xcode { class Xcode {
bool get isInstalledAndMeetsVersionCheck => isInstalled && isVersionSatisfactory; bool get isInstalledAndMeetsVersionCheck => isInstalled && isVersionSatisfactory;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment