From a1639be4a01255fe11ab4b0a5d521f73f5ed43ba Mon Sep 17 00:00:00 2001 From: Casey Hillers Date: Tue, 26 Sep 2023 17:19:42 -0700 Subject: [PATCH] Revert "Switch flutter_tools to run frontend server from AOT snapshot" (#135537) Reverts flutter/flutter#135255 This broke Google Testing, and requires an internal patch before relanding. --- packages/flutter_tools/lib/src/artifacts.dart | 2 +- .../lib/src/build_system/targets/common.dart | 1 - packages/flutter_tools/lib/src/compile.dart | 70 +++++++------------ .../test/general.shard/artifacts_test.dart | 7 +- .../build_system/targets/common_test.dart | 14 ++-- .../general.shard/compile_batch_test.dart | 18 ++--- .../compile_incremental_test.dart | 2 +- .../test/web_test_compiler_test.dart | 2 +- 8 files changed, 46 insertions(+), 70 deletions(-) diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart index 161e8b6ae7d..8775db6fec1 100644 --- a/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart @@ -190,7 +190,7 @@ String? _artifactToFileName(Artifact artifact, Platform hostPlatform, [ BuildMod case Artifact.wasmOptBinary: return 'wasm-opt$exe'; case Artifact.frontendServerSnapshotForEngineDartSdk: - return 'frontend_server_aot.dart.snapshot'; + return 'frontend_server.dart.snapshot'; case Artifact.linuxDesktopPath: return ''; case Artifact.linuxHeaders: diff --git a/packages/flutter_tools/lib/src/build_system/targets/common.dart b/packages/flutter_tools/lib/src/build_system/targets/common.dart index c3507abb349..d5febecf425 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/common.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/common.dart @@ -132,7 +132,6 @@ class KernelSnapshot extends Target { Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/common.dart'), Source.artifact(Artifact.platformKernelDill), Source.artifact(Artifact.engineDartBinary), - Source.artifact(Artifact.engineDartAotRuntime), Source.artifact(Artifact.frontendServerSnapshotForEngineDartSdk), ]; diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index 15d209367f1..e7571a69eac 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart @@ -244,10 +244,20 @@ class KernelCompiler { String? nativeAssets, }) async { final TargetPlatform? platform = targetModel == TargetModel.dartdevc ? TargetPlatform.web_javascript : null; + final String frontendServer = (frontendServerStarterPath == null || frontendServerStarterPath.isEmpty) + ? _artifacts.getArtifactPath( + Artifact.frontendServerSnapshotForEngineDartSdk, + platform: platform, + ) + : frontendServerStarterPath; // This is a URI, not a file path, so the forward slash is correct even on Windows. if (!sdkRoot.endsWith('/')) { sdkRoot = '$sdkRoot/'; } + final String engineDartPath = _artifacts.getArtifactPath(Artifact.engineDartBinary, platform: platform); + if (!_processManager.canRun(engineDartPath)) { + throwToolExit('Unable to find Dart binary at $engineDartPath'); + } String? mainUri; final File mainFile = _fileSystem.file(mainPath); final Uri mainFileUri = mainFile.uri; @@ -272,33 +282,10 @@ class KernelCompiler { toMultiRootPath(dartPluginRegistrantFileUri, _fileSystemScheme, _fileSystemRoots, _fileSystem.path.separator == r'\'); } - final List commandToStartFrontendServer; - if (frontendServerStarterPath != null && frontendServerStarterPath.isNotEmpty) { - final String engineDartPath = _artifacts.getArtifactPath(Artifact.engineDartBinary, platform: platform); - if (!_processManager.canRun(engineDartPath)) { - throwToolExit('Unable to find Dart binary at $engineDartPath'); - } - commandToStartFrontendServer = [ - engineDartPath, - '--disable-dart-dev', - frontendServerStarterPath, - ]; - } else { - final String engineDartAotRuntimePath = _artifacts.getArtifactPath(Artifact.engineDartAotRuntime, platform: platform); - if (!_processManager.canRun(engineDartAotRuntimePath)) { - throwToolExit('Unable to find dartaotruntime binary at $engineDartAotRuntimePath'); - } - commandToStartFrontendServer = [ - engineDartAotRuntimePath, - '--disable-dart-dev', - _artifacts.getArtifactPath( - Artifact.frontendServerSnapshotForEngineDartSdk, - platform: platform, - ), - ]; - } - - final List command = commandToStartFrontendServer + [ + final List command = [ + engineDartPath, + '--disable-dart-dev', + frontendServer, '--sdk-root', sdkRoot, '--target=$targetModel', @@ -790,25 +777,16 @@ class DefaultResidentCompiler implements ResidentCompiler { String? nativeAssetsUri, }) async { final TargetPlatform? platform = (targetModel == TargetModel.dartdevc) ? TargetPlatform.web_javascript : null; - late final List commandToStartFrontendServer; - if (frontendServerStarterPath != null && frontendServerStarterPath!.isNotEmpty) { - commandToStartFrontendServer = [ - artifacts.getArtifactPath(Artifact.engineDartBinary, platform: platform), - '--disable-dart-dev', - frontendServerStarterPath!, - ]; - } else { - commandToStartFrontendServer = [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime, platform: platform), - '--disable-dart-dev', - artifacts.getArtifactPath( - Artifact.frontendServerSnapshotForEngineDartSdk, - platform: platform, - ), - ]; - } - - final List command = commandToStartFrontendServer + [ + final String frontendServer = (frontendServerStarterPath == null || frontendServerStarterPath!.isEmpty) + ? artifacts.getArtifactPath( + Artifact.frontendServerSnapshotForEngineDartSdk, + platform: platform, + ) + : frontendServerStarterPath!; + final List command = [ + artifacts.getArtifactPath(Artifact.engineDartBinary, platform: platform), + '--disable-dart-dev', + frontendServer, '--sdk-root', sdkRoot, '--incremental', diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart index dc39ffe002c..920980a23ba 100644 --- a/packages/flutter_tools/test/general.shard/artifacts_test.dart +++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart @@ -143,8 +143,7 @@ void main() { ); expect( artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), - fileSystem.path.join('root', 'bin', 'cache', 'dart-sdk', 'bin', - 'snapshots', 'frontend_server_aot.dart.snapshot') + fileSystem.path.join('root', 'bin', 'cache', 'dart-sdk', 'bin', 'snapshots', 'frontend_server.dart.snapshot') ); }); @@ -326,7 +325,7 @@ void main() { expect( artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk', 'bin', - 'snapshots', 'frontend_server_aot.dart.snapshot') + 'snapshots', 'frontend_server.dart.snapshot') ); @@ -398,7 +397,7 @@ void main() { Artifact.frontendServerSnapshotForEngineDartSdk, platform: TargetPlatform.web_javascript), fileSystem.path.join('/flutter', 'prebuilts', 'linux-x64', 'dart-sdk', 'bin', - 'snapshots', 'frontend_server_aot.dart.snapshot'), + 'snapshots', 'frontend_server.dart.snapshot'), ); expect( artifacts.getArtifactPath( diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/common_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/common_test.dart index 0b05203de25..a287f1b0d09 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/common_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/common_test.dart @@ -94,7 +94,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -139,7 +139,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -185,7 +185,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -279,7 +279,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -328,7 +328,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -375,7 +375,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -434,7 +434,7 @@ native-assets: {} ); processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartAotRuntime), + artifacts.getArtifactPath(Artifact.engineDartBinary), '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', diff --git a/packages/flutter_tools/test/general.shard/compile_batch_test.dart b/packages/flutter_tools/test/general.shard/compile_batch_test.dart index 9d2ad2a8868..e82fb93fe60 100644 --- a/packages/flutter_tools/test/general.shard/compile_batch_test.dart +++ b/packages/flutter_tools/test/general.shard/compile_batch_test.dart @@ -53,7 +53,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -99,7 +99,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -145,7 +145,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -191,7 +191,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -239,7 +239,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -287,7 +287,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -339,7 +339,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -389,7 +389,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -449,7 +449,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', diff --git a/packages/flutter_tools/test/general.shard/compile_incremental_test.dart b/packages/flutter_tools/test/general.shard/compile_incremental_test.dart index 14749ae1d45..adaa4c2a6b9 100644 --- a/packages/flutter_tools/test/general.shard/compile_incremental_test.dart +++ b/packages/flutter_tools/test/general.shard/compile_incremental_test.dart @@ -30,7 +30,7 @@ void main() { late FakeProcessManager fakeProcessManager; const List frontendServerCommand = [ - 'Artifact.engineDartAotRuntime', + 'Artifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', diff --git a/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart b/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart index 26ed691651c..54f8be20c93 100644 --- a/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart +++ b/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart @@ -36,7 +36,7 @@ void main() { ); final FakeProcessManager processManager = FakeProcessManager.list([ FakeCommand(command: [ - 'Artifact.engineDartAotRuntime.TargetPlatform.web_javascript', + 'Artifact.engineDartBinary.TargetPlatform.web_javascript', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk.TargetPlatform.web_javascript', '--sdk-root',