From b30d97a64c5d21c1df5f5ad1b0096c97de7ebb57 Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Thu, 22 Apr 2021 19:29:02 -0700 Subject: [PATCH] [flutter_tools] split host artifacts out of Artifacts (#80876) --- packages/flutter_tools/lib/executable.dart | 2 +- packages/flutter_tools/lib/src/artifacts.dart | 475 +++++++++++------- .../lib/src/build_system/source.dart | 46 ++ .../lib/src/build_system/targets/android.dart | 2 +- .../lib/src/build_system/targets/common.dart | 6 +- .../targets/icon_tree_shaker.dart | 2 +- .../lib/src/build_system/targets/ios.dart | 4 +- .../lib/src/build_system/targets/web.dart | 14 +- .../lib/src/commands/analyze_base.dart | 2 +- .../flutter_tools/lib/src/commands/drive.dart | 2 +- .../lib/src/commands/format.dart | 4 +- packages/flutter_tools/lib/src/compile.dart | 4 +- .../flutter_tools/lib/src/context_runner.dart | 10 +- .../src/fuchsia/fuchsia_kernel_compiler.dart | 2 +- .../flutter_tools/lib/src/ios/ios_deploy.dart | 3 +- packages/flutter_tools/lib/src/ios/mac.dart | 4 +- .../lib/src/isolated/devfs_web.dart | 12 +- .../lib/src/resident_runner.dart | 14 +- .../lib/src/test/flutter_web_platform.dart | 8 +- .../lib/src/test/web_test_compiler.dart | 15 +- .../flutter_tools/lib/src/web/compile.dart | 40 +- .../hermetic/analyze_continuously_test.dart | 18 +- .../commands.shard/permeable/create_test.dart | 10 +- .../test/general.shard/artifacts_test.dart | 22 +- .../build_system/targets/common_test.dart | 14 +- .../targets/icon_tree_shaker_test.dart | 2 +- .../general.shard/compile_batch_test.dart | 14 +- .../compile_incremental_test.dart | 2 +- .../general.shard/ios/ios_deploy_test.dart | 3 +- .../ios/ios_device_install_test.dart | 2 +- .../ios/ios_device_logger_test.dart | 3 +- .../ios_device_start_nonprebuilt_test.dart | 2 +- .../ios/ios_device_start_prebuilt_test.dart | 8 +- .../test/general.shard/ios/mac_test.dart | 6 +- .../general.shard/resident_runner_test.dart | 12 +- .../general.shard/web/devfs_web_test.dart | 16 +- .../generated_plugin_registrant_test.dart | 2 +- 37 files changed, 470 insertions(+), 337 deletions(-) diff --git a/packages/flutter_tools/lib/executable.dart b/packages/flutter_tools/lib/executable.dart index 05d17799a11..bb17c28070b 100644 --- a/packages/flutter_tools/lib/executable.dart +++ b/packages/flutter_tools/lib/executable.dart @@ -107,7 +107,7 @@ Future main(List args) async { // devtools source code. DevtoolsLauncher: () => DevtoolsServerLauncher( processManager: globals.processManager, - pubExecutable: globals.artifacts.getArtifactPath(Artifact.pubExecutable), + pubExecutable: globals.artifacts.getHostArtifact(HostArtifact.pubExecutable).path, logger: globals.logger, platform: globals.platform, persistentToolState: globals.persistentToolState, diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart index d27fc1c8694..43adfbd6fb5 100644 --- a/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart @@ -4,6 +4,7 @@ // @dart = 2.8 +import 'package:file/memory.dart'; import 'package:meta/meta.dart'; import 'package:process/process.dart'; @@ -32,42 +33,6 @@ enum Artifact { platformLibrariesJson, flutterPatchedSdkPath, frontendServerSnapshotForEngineDartSdk, - /// The root directory of the dart SDK. - engineDartSdkPath, - /// The dart binary used to execute any of the required snapshots. - engineDartBinary, - /// The dart snapshot of the dart2js compiler. - dart2jsSnapshot, - /// The dart snapshot of the dartdev compiler. - dartdevcSnapshot, - /// The dart snpashot of the kernel worker compiler. - kernelWorkerSnapshot, - /// The root of the web implementation of the dart SDK. - flutterWebSdk, - /// The libraries JSON file for web release builds. - flutterWebLibrariesJson, - /// The summary dill for the dartdevc target. - webPlatformKernelDill, - /// The summary dill with null safety enabled for the dartdevc target. - webPlatformSoundKernelDill, - /// The precompiled SDKs and sourcemaps for web debug builds. - webPrecompiledSdk, - webPrecompiledSdkSourcemaps, - webPrecompiledCanvaskitSdk, - webPrecompiledCanvaskitSdkSourcemaps, - webPrecompiledCanvaskitAndHtmlSdk, - webPrecompiledCanvaskitAndHtmlSdkSourcemaps, - webPrecompiledSoundSdk, - webPrecompiledSoundSdkSourcemaps, - webPrecompiledCanvaskitSoundSdk, - webPrecompiledCanvaskitSoundSdkSourcemaps, - webPrecompiledCanvaskitAndHtmlSoundSdk, - webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps, - - iosDeploy, - idevicesyslog, - idevicescreenshot, - iproxy, /// The root of the Linux desktop sources. linuxDesktopPath, // The root of the cpp headers for Linux desktop. @@ -90,6 +55,49 @@ enum Artifact { /// Tools related to subsetting or icon font files. fontSubset, constFinder, +} + +/// A subset of [Artifact]s that are platform and build mode independent +enum HostArtifact { + /// The root directory of the dart SDK. + engineDartSdkPath, + /// The dart binary used to execute any of the required snapshots. + engineDartBinary, + /// The dart snapshot of the dart2js compiler. + dart2jsSnapshot, + /// The dart snapshot of the dartdev compiler. + dartdevcSnapshot, + /// The dart snpashot of the kernel worker compiler. + kernelWorkerSnapshot, + /// The root of the web implementation of the dart SDK. + flutterWebSdk, + /// The libraries JSON file for web release builds. + flutterWebLibrariesJson, + /// The summary dill for the dartdevc target. + webPlatformKernelDill, + /// The summary dill with null safety enabled for the dartdevc target. + webPlatformSoundKernelDill, + + /// The precompiled SDKs and sourcemaps for web debug builds. + webPrecompiledSdk, + webPrecompiledSdkSourcemaps, + webPrecompiledCanvaskitSdk, + webPrecompiledCanvaskitSdkSourcemaps, + webPrecompiledCanvaskitAndHtmlSdk, + webPrecompiledCanvaskitAndHtmlSdkSourcemaps, + webPrecompiledSoundSdk, + webPrecompiledSoundSdkSourcemaps, + webPrecompiledCanvaskitSoundSdk, + webPrecompiledCanvaskitSoundSdkSourcemaps, + webPrecompiledCanvaskitAndHtmlSoundSdk, + webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps, + + iosDeploy, + idevicesyslog, + idevicescreenshot, + iproxy, + /// The root of the sky_engine package. + skyEnginePath, /// The pub or pub.bat executable pubExecutable, @@ -121,29 +129,8 @@ String _artifactToFileName(Artifact artifact, [ TargetPlatform platform, BuildMo case Artifact.flutterPatchedSdkPath: assert(false, 'No filename for sdk path, should not be invoked'); return null; - case Artifact.flutterWebSdk: - assert(false, 'No filename for web sdk path, should not be invoked'); - return null; - case Artifact.engineDartSdkPath: - return 'dart-sdk'; case Artifact.frontendServerSnapshotForEngineDartSdk: return 'frontend_server.dart.snapshot'; - case Artifact.engineDartBinary: - return 'dart$exe'; - case Artifact.dart2jsSnapshot: - return 'dart2js.dart.snapshot'; - case Artifact.dartdevcSnapshot: - return 'dartdevc.dart.snapshot'; - case Artifact.kernelWorkerSnapshot: - return 'kernel_worker.dart.snapshot'; - case Artifact.iosDeploy: - return 'ios-deploy'; - case Artifact.idevicesyslog: - return 'idevicesyslog'; - case Artifact.idevicescreenshot: - return 'idevicescreenshot'; - case Artifact.iproxy: - return 'iproxy'; case Artifact.linuxDesktopPath: return ''; case Artifact.linuxHeaders: @@ -157,10 +144,6 @@ String _artifactToFileName(Artifact artifact, [ TargetPlatform platform, BuildMo return 'sky_engine'; case Artifact.flutterMacOSPodspec: return 'FlutterMacOS.podspec'; - case Artifact.webPlatformKernelDill: - return 'flutter_ddc_sdk.dill'; - case Artifact.webPlatformSoundKernelDill: - return 'flutter_ddc_sdk_sound.dill'; case Artifact.fuchsiaKernelCompiler: return 'kernel_compiler.snapshot'; case Artifact.fuchsiaFlutterRunner: @@ -171,24 +154,58 @@ String _artifactToFileName(Artifact artifact, [ TargetPlatform platform, BuildMo return 'font-subset$exe'; case Artifact.constFinder: return 'const_finder.dart.snapshot'; - case Artifact.flutterWebLibrariesJson: + } + assert(false, 'Invalid artifact $artifact.'); + return null; +} + +String _hostArtifactToFileName(HostArtifact artifact, bool windows) { + final String exe = windows ? '.exe' : ''; + switch (artifact) { + case HostArtifact.flutterWebSdk: + return ''; + case HostArtifact.engineDartSdkPath: + return 'dart-sdk'; + case HostArtifact.engineDartBinary: + return 'dart$exe'; + case HostArtifact.dart2jsSnapshot: + return 'dart2js.dart.snapshot'; + case HostArtifact.dartdevcSnapshot: + return 'dartdevc.dart.snapshot'; + case HostArtifact.kernelWorkerSnapshot: + return 'kernel_worker.dart.snapshot'; + case HostArtifact.iosDeploy: + return 'ios-deploy'; + case HostArtifact.idevicesyslog: + return 'idevicesyslog'; + case HostArtifact.idevicescreenshot: + return 'idevicescreenshot'; + case HostArtifact.iproxy: + return 'iproxy'; + case HostArtifact.skyEnginePath: + return 'sky_engine'; + case HostArtifact.webPlatformKernelDill: + return 'flutter_ddc_sdk.dill'; + case HostArtifact.webPlatformSoundKernelDill: + return 'flutter_ddc_sdk_sound.dill'; + case HostArtifact.flutterWebLibrariesJson: return 'libraries.json'; - case Artifact.webPrecompiledSdk: - case Artifact.webPrecompiledCanvaskitSdk: - case Artifact.webPrecompiledCanvaskitAndHtmlSdk: - case Artifact.webPrecompiledSoundSdk: - case Artifact.webPrecompiledCanvaskitSoundSdk: - case Artifact.webPrecompiledCanvaskitAndHtmlSoundSdk: + case HostArtifact.webPrecompiledSdk: + case HostArtifact.webPrecompiledCanvaskitSdk: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSdk: + case HostArtifact.webPrecompiledSoundSdk: + case HostArtifact.webPrecompiledCanvaskitSoundSdk: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdk: return 'dart_sdk.js'; - case Artifact.webPrecompiledSdkSourcemaps: - case Artifact.webPrecompiledCanvaskitSdkSourcemaps: - case Artifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps: - case Artifact.webPrecompiledSoundSdkSourcemaps: - case Artifact.webPrecompiledCanvaskitSoundSdkSourcemaps: - case Artifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps: + case HostArtifact.webPrecompiledSdkSourcemaps: + case HostArtifact.webPrecompiledCanvaskitSdkSourcemaps: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps: + case HostArtifact.webPrecompiledSoundSdkSourcemaps: + case HostArtifact.webPrecompiledCanvaskitSoundSdkSourcemaps: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps: return 'dart_sdk.js.map'; - case Artifact.pubExecutable: - if (platform == TargetPlatform.windows_x64) { + case HostArtifact.pubExecutable: + if (windows) { return 'pub.bat'; } return 'pub'; @@ -213,13 +230,16 @@ abstract class Artifacts { /// A test-specific implementation of artifacts that returns stable paths for /// all artifacts. /// + /// If a [fileSystem] is not provided, creates a new [MemoryFileSystem] instance. + /// /// Creates a [LocalEngineArtifacts] if `localEngine` is non-null @visibleForTesting - factory Artifacts.test({String localEngine}) { + factory Artifacts.test({String localEngine, FileSystem fileSystem}) { + fileSystem ??= MemoryFileSystem.test(); if (localEngine != null) { - return _TestLocalEngine(localEngine); + return _TestLocalEngine(localEngine, fileSystem); } - return _TestArtifacts(); + return _TestArtifacts(fileSystem); } static LocalEngineArtifacts getLocalEngine(EngineBuildPaths engineBuildPaths) { @@ -242,6 +262,12 @@ abstract class Artifacts { EnvironmentType environmentType, }); + /// Retrieve a host specific artifact that does not depend on the + /// current build mode or environment. + FileSystemEntity getHostArtifact( + HostArtifact artifact, + ); + // Returns which set of engine artifacts is currently used for the [platform] // and [mode] combination. String getEngineType(TargetPlatform platform, [ BuildMode mode ]); @@ -250,7 +276,6 @@ abstract class Artifacts { bool get isLocalEngine; } - /// Manages the engine artifacts downloaded to the local cache. class CachedArtifacts implements Artifacts { CachedArtifacts({ @@ -268,6 +293,81 @@ class CachedArtifacts implements Artifacts { final Cache _cache; final OperatingSystemUtils _operatingSystemUtils; + @override + FileSystemEntity getHostArtifact( + HostArtifact artifact, + ) { + switch (artifact) { + case HostArtifact.engineDartSdkPath: + final String path = _dartSdkPath(_fileSystem); + return _fileSystem.directory(path); + case HostArtifact.engineDartBinary: + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.flutterWebSdk: + final String path = _getFlutterWebSdkPath(); + return _fileSystem.directory(path); + case HostArtifact.flutterWebLibrariesJson: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPlatformKernelDill: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPlatformSoundKernelDill: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledSdk: + case HostArtifact.webPrecompiledSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitSdk: + case HostArtifact.webPrecompiledCanvaskitSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitAndHtmlSdk: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledSoundSdk: + case HostArtifact.webPrecompiledSoundSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-sound', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitSoundSdk: + case HostArtifact.webPrecompiledCanvaskitSoundSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-sound', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdk: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html-sound', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.idevicesyslog: + case HostArtifact.idevicescreenshot: + final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); + return _cache.getArtifactDirectory('libimobiledevice').childFile(artifactFileName); + break; + case HostArtifact.skyEnginePath: + final Directory dartPackageDirectory = _cache.getCacheDir('pkg'); + final String path = _fileSystem.path.join(dartPackageDirectory.path, _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.directory(path); + case HostArtifact.pubExecutable: + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.dart2jsSnapshot: + case HostArtifact.dartdevcSnapshot: + case HostArtifact.kernelWorkerSnapshot: + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.iosDeploy: + final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); + return _cache.getArtifactDirectory('ios-deploy').childFile(artifactFileName); + case HostArtifact.iproxy: + final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); + return _cache.getArtifactDirectory('usbmuxd').childFile(artifactFileName); + } + assert(false); + return null; + } + @override String getArtifactPath( Artifact artifact, { @@ -341,16 +441,6 @@ class CachedArtifacts implements Artifacts { case Artifact.flutterFramework: final String engineDir = _getEngineArtifactsPath(platform, mode); return _getIosEngineArtifactPath(engineDir, environmentType, _fileSystem); - case Artifact.idevicescreenshot: - case Artifact.idevicesyslog: - final String artifactFileName = _artifactToFileName(artifact); - return _cache.getArtifactDirectory('libimobiledevice').childFile(artifactFileName).path; - case Artifact.iosDeploy: - final String artifactFileName = _artifactToFileName(artifact); - return _cache.getArtifactDirectory('ios-deploy').childFile(artifactFileName).path; - case Artifact.iproxy: - final String artifactFileName = _artifactToFileName(artifact); - return _cache.getArtifactDirectory('usbmuxd').childFile(artifactFileName).path; default: return _getHostArtifactPath(artifact, platform, mode); } @@ -410,30 +500,12 @@ class CachedArtifacts implements Artifacts { final String engineArtifactsPath = _cache.getArtifactDirectory('engine').path; final String platformDirName = getNameForTargetPlatform(platform); return _fileSystem.path.join(engineArtifactsPath, platformDirName, _artifactToFileName(artifact, platform, mode)); - case Artifact.engineDartSdkPath: - return _dartSdkPath(_fileSystem); - case Artifact.engineDartBinary: - return _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _artifactToFileName(artifact, platform)); case Artifact.platformKernelDill: return _fileSystem.path.join(_getFlutterPatchedSdkPath(mode), _artifactToFileName(artifact)); case Artifact.platformLibrariesJson: return _fileSystem.path.join(_getFlutterPatchedSdkPath(mode), 'lib', _artifactToFileName(artifact)); case Artifact.flutterPatchedSdkPath: return _getFlutterPatchedSdkPath(mode); - case Artifact.flutterWebSdk: - return _getFlutterWebSdkPath(); - case Artifact.flutterWebLibrariesJson: - return _fileSystem.path.join(_getFlutterWebSdkPath(), _artifactToFileName(artifact)); - case Artifact.webPlatformKernelDill: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _artifactToFileName(artifact)); - case Artifact.webPlatformSoundKernelDill: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _artifactToFileName(artifact)); - case Artifact.dart2jsSnapshot: - return _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _artifactToFileName(artifact)); - case Artifact.dartdevcSnapshot: - return _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _artifactToFileName(artifact)); - case Artifact.kernelWorkerSnapshot: - return _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _artifactToFileName(artifact)); case Artifact.flutterMacOSFramework: case Artifact.linuxDesktopPath: case Artifact.windowsDesktopPath: @@ -463,32 +535,6 @@ class CachedArtifacts implements Artifacts { .childDirectory(getNameForTargetPlatform(platform)) .childFile(_artifactToFileName(artifact, platform, mode)) .path; - case Artifact.webPrecompiledSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitAndHtmlSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledSoundSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-sound', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledSoundSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-sound', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitSoundSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-sound', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitSoundSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-sound', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitAndHtmlSoundSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html-sound', _artifactToFileName(artifact, platform, mode)); - case Artifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html-sound', _artifactToFileName(artifact, platform, mode)); - case Artifact.pubExecutable: - return _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _artifactToFileName(artifact, platform, mode)); default: assert(false, 'Artifact $artifact not available for platform $platform.'); return null; @@ -622,6 +668,86 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { final Platform _platform; final OperatingSystemUtils _operatingSystemUtils; + + @override + FileSystemEntity getHostArtifact( + HostArtifact artifact, + ) { + switch (artifact) { + case HostArtifact.engineDartSdkPath: + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk'); + return _fileSystem.directory(path); + case HostArtifact.engineDartBinary: + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.dart2jsSnapshot: + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.dartdevcSnapshot: + final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.kernelWorkerSnapshot: + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.flutterWebSdk: + final String path = _getFlutterWebSdkPath(); + return _fileSystem.directory(path); + case HostArtifact.flutterWebLibrariesJson: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPlatformKernelDill: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPlatformSoundKernelDill: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledSdk: + case HostArtifact.webPrecompiledSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitSdk: + case HostArtifact.webPrecompiledCanvaskitSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitAndHtmlSdk: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledSoundSdk: + case HostArtifact.webPrecompiledSoundSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-sound', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitSoundSdk: + case HostArtifact.webPrecompiledCanvaskitSoundSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-sound', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdk: + case HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps: + final String path = _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html-sound', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.idevicesyslog: + case HostArtifact.idevicescreenshot: + final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); + return _cache.getArtifactDirectory('libimobiledevice').childFile(artifactFileName); + break; + case HostArtifact.skyEnginePath: + final Directory dartPackageDirectory = _cache.getCacheDir('pkg'); + final String path = _fileSystem.path.join(dartPackageDirectory.path, _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.directory(path); + case HostArtifact.pubExecutable: + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); + return _fileSystem.file(path); + case HostArtifact.iosDeploy: + final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); + return _cache.getArtifactDirectory('ios-deploy').childFile(artifactFileName); + case HostArtifact.iproxy: + final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); + return _cache.getArtifactDirectory('usbmuxd').childFile(artifactFileName); + } + assert(false); + return null; + } + @override String getArtifactPath( Artifact artifact, { @@ -630,7 +756,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { EnvironmentType environmentType, }) { platform ??= _currentHostPlatform(_platform, _operatingSystemUtils); - final bool isDirectoryArtifact = artifact == Artifact.flutterWebSdk || artifact == Artifact.flutterPatchedSdkPath; + final bool isDirectoryArtifact = artifact == Artifact.flutterPatchedSdkPath; final String artifactFileName = isDirectoryArtifact ? null : _artifactToFileName(artifact, platform, mode); switch (artifact) { case Artifact.genSnapshot: @@ -663,35 +789,11 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { return _fileSystem.path.join(engineOutPath, 'flutter_runner_patched_sdk'); } return _getFlutterPatchedSdkPath(BuildMode.debug); - case Artifact.flutterWebSdk: - return _getFlutterWebSdkPath(); - case Artifact.frontendServerSnapshotForEngineDartSdk: - return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName); - case Artifact.engineDartSdkPath: - return _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk'); - case Artifact.engineDartBinary: - return _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', artifactFileName); - case Artifact.dart2jsSnapshot: return _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName); - case Artifact.dartdevcSnapshot: - return _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', artifactFileName); - case Artifact.kernelWorkerSnapshot: - return _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName); - case Artifact.idevicescreenshot: - case Artifact.idevicesyslog: - return _cache.getArtifactDirectory('libimobiledevice').childFile(artifactFileName).path; - case Artifact.iosDeploy: - return _cache.getArtifactDirectory('ios-deploy').childFile(artifactFileName).path; - case Artifact.iproxy: - return _cache.getArtifactDirectory('usbmuxd').childFile(artifactFileName).path; case Artifact.skyEnginePath: return _fileSystem.path.join(_hostEngineOutPath, 'gen', 'dart-pkg', artifactFileName); case Artifact.flutterMacOSPodspec: return _fileSystem.path.join(_hostEngineOutPath, _artifactToFileName(artifact)); - case Artifact.webPlatformKernelDill: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _artifactToFileName(artifact)); - case Artifact.webPlatformSoundKernelDill: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', _artifactToFileName(artifact)); case Artifact.fuchsiaKernelCompiler: final String hostPlatform = getNameForHostPlatform(getCurrentHostPlatform()); final String modeName = mode.isRelease ? 'release' : mode.toString(); @@ -705,40 +807,15 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { return _fileSystem.path.join(_hostEngineOutPath, artifactFileName); case Artifact.constFinder: return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName); - case Artifact.flutterWebLibrariesJson: - return _fileSystem.path.join(_getFlutterWebSdkPath(), artifactFileName); - case Artifact.webPrecompiledSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd', artifactFileName); - case Artifact.webPrecompiledSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd', artifactFileName); - case Artifact.webPrecompiledCanvaskitSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit', artifactFileName); - case Artifact.webPrecompiledCanvaskitSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit', artifactFileName); - case Artifact.webPrecompiledCanvaskitAndHtmlSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html', artifactFileName); - case Artifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html', artifactFileName); - case Artifact.webPrecompiledSoundSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-sound', artifactFileName); - case Artifact.webPrecompiledSoundSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-sound', artifactFileName); - case Artifact.webPrecompiledCanvaskitSoundSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-sound', artifactFileName); - case Artifact.webPrecompiledCanvaskitSoundSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-sound', artifactFileName); - case Artifact.webPrecompiledCanvaskitAndHtmlSoundSdk: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html-sound', artifactFileName); - case Artifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps: - return _fileSystem.path.join(_getFlutterWebSdkPath(), 'kernel', 'amd-canvaskit-html-sound', artifactFileName); - case Artifact.pubExecutable: - return _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', _artifactToFileName(artifact, platform, mode)); case Artifact.windowsUwpDesktopPath: case Artifact.linuxDesktopPath: case Artifact.linuxHeaders: case Artifact.windowsDesktopPath: case Artifact.windowsCppClientWrapper: return _fileSystem.path.join(_hostEngineOutPath, artifactFileName); + case Artifact.frontendServerSnapshotForEngineDartSdk: + return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName); + break; } assert(false, 'Invalid artifact $artifact.'); return null; @@ -816,9 +893,6 @@ class OverrideArtifacts implements Artifacts { if (artifact == Artifact.frontendServerSnapshotForEngineDartSdk && frontendServer != null) { return frontendServer.path; } - if (artifact == Artifact.engineDartBinary && engineDartBinary != null) { - return engineDartBinary.path; - } if (artifact == Artifact.platformKernelDill && platformKernelDill != null) { return platformKernelDill.path; } @@ -838,6 +912,16 @@ class OverrideArtifacts implements Artifacts { @override bool get isLocalEngine => parent.isLocalEngine; + + @override + FileSystemEntity getHostArtifact(HostArtifact artifact) { + if (artifact == HostArtifact.engineDartBinary && engineDartBinary != null) { + return engineDartBinary; + } + return parent.getHostArtifact( + artifact, + ); + } } /// Locate the Dart SDK. @@ -846,6 +930,10 @@ String _dartSdkPath(FileSystem fileSystem) { } class _TestArtifacts implements Artifacts { + _TestArtifacts(this.fileSystem); + + final FileSystem fileSystem; + @override String getArtifactPath( Artifact artifact, { @@ -874,10 +962,15 @@ class _TestArtifacts implements Artifacts { @override bool get isLocalEngine => false; + + @override + FileSystemEntity getHostArtifact(HostArtifact artifact) { + return fileSystem.file(artifact.toString()); + } } class _TestLocalEngine extends _TestArtifacts implements LocalEngineArtifacts { - _TestLocalEngine(this.engineOutPath); + _TestLocalEngine(this.engineOutPath, FileSystem fileSystem) : super(fileSystem); @override bool get isLocalEngine => true; diff --git a/packages/flutter_tools/lib/src/build_system/source.dart b/packages/flutter_tools/lib/src/build_system/source.dart index c6a2464a133..24bc6fe867d 100644 --- a/packages/flutter_tools/lib/src/build_system/source.dart +++ b/packages/flutter_tools/lib/src/build_system/source.dart @@ -193,6 +193,34 @@ class SourceVisitor implements ResolvedFiles { } sources.add(environment.fileSystem.file(path)); } + + /// Visit a [Source] which is defined by an [HostArtifact] from the flutter cache. + /// + /// If the [Artifact] points to a directory then all child files are included. + /// To increase the performance of builds that use a known revision of Flutter, + /// these are updated to point towards the engine.version file instead of + /// the artifact itself. + void visitHostArtifact(HostArtifact artifact) { + // This is not a local engine. + if (environment.engineVersion != null) { + sources.add(environment.flutterRootDir + .childDirectory('bin') + .childDirectory('internal') + .childFile('engine.version'), + ); + return; + } + final FileSystemEntity entity = environment.artifacts.getHostArtifact(artifact); + if (entity is Directory) { + sources.addAll([ + for (FileSystemEntity entity in entity.listSync(recursive: true)) + if (entity is File) + entity, + ]); + return; + } + sources.add(entity as File); + } } /// A description of an input or output of a [Target]. @@ -200,11 +228,17 @@ abstract class Source { /// This source is a file URL which contains some references to magic /// environment variables. const factory Source.pattern(String pattern, { bool optional }) = _PatternSource; + /// The source is provided by an [Artifact]. /// /// If [artifact] points to a directory then all child files are included. const factory Source.artifact(Artifact artifact, {TargetPlatform platform, BuildMode mode}) = _ArtifactSource; + /// The source is provided by an [HostArtifact]. + /// + /// If [artifact] points to a directory then all child files are included. + const factory Source.hostArtifact(HostArtifact artifact) = _HostArtifactSource; + /// Visit the particular source type. void accept(SourceVisitor visitor); @@ -244,3 +278,15 @@ class _ArtifactSource implements Source { @override bool get implicit => false; } + +class _HostArtifactSource implements Source { + const _HostArtifactSource(this.artifact); + + final HostArtifact artifact; + + @override + void accept(SourceVisitor visitor) => visitor.visitHostArtifact(artifact); + + @override + bool get implicit => false; +} diff --git a/packages/flutter_tools/lib/src/build_system/targets/android.dart b/packages/flutter_tools/lib/src/build_system/targets/android.dart index a9a615c4278..60711bd4be3 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/android.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/android.dart @@ -181,7 +181,7 @@ class AndroidAot extends AotElfBase { List get inputs => [ const Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/android.dart'), const Source.pattern('{BUILD_DIR}/app.dill'), - const Source.artifact(Artifact.engineDartBinary), + const Source.hostArtifact(HostArtifact.engineDartBinary), const Source.artifact(Artifact.skyEnginePath), Source.artifact(Artifact.genSnapshot, mode: buildMode, 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 f22100901dc..2a7ce7b3c4a 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/common.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/common.dart @@ -194,7 +194,7 @@ class KernelSnapshot extends Target { Source.pattern('{PROJECT_DIR}/.dart_tool/package_config_subset'), Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/common.dart'), Source.artifact(Artifact.platformKernelDill), - Source.artifact(Artifact.engineDartBinary), + Source.hostArtifact(HostArtifact.engineDartBinary), Source.artifact(Artifact.frontendServerSnapshotForEngineDartSdk), ]; @@ -362,7 +362,7 @@ class AotElfProfile extends AotElfBase { List get inputs => [ const Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/common.dart'), const Source.pattern('{BUILD_DIR}/app.dill'), - const Source.artifact(Artifact.engineDartBinary), + const Source.hostArtifact(HostArtifact.engineDartBinary), const Source.artifact(Artifact.skyEnginePath), Source.artifact(Artifact.genSnapshot, platform: targetPlatform, @@ -394,7 +394,7 @@ class AotElfRelease extends AotElfBase { List get inputs => [ const Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/common.dart'), const Source.pattern('{BUILD_DIR}/app.dill'), - const Source.artifact(Artifact.engineDartBinary), + const Source.hostArtifact(HostArtifact.engineDartBinary), const Source.artifact(Artifact.skyEnginePath), Source.artifact(Artifact.genSnapshot, platform: targetPlatform, diff --git a/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart b/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart index 0043d535a09..2d56bb064ed 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart @@ -113,7 +113,7 @@ class IconTreeShaker { _artifacts.getArtifactPath(Artifact.constFinder), ); final File dart = _fs.file( - _artifacts.getArtifactPath(Artifact.engineDartBinary), + _artifacts.getHostArtifact(HostArtifact.engineDartBinary), ); final Map> iconData = await _findConstants( diff --git a/packages/flutter_tools/lib/src/build_system/targets/ios.dart b/packages/flutter_tools/lib/src/build_system/targets/ios.dart index 88c7c8d3614..dbef1fa0c07 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/ios.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/ios.dart @@ -139,7 +139,7 @@ class AotAssemblyRelease extends AotAssemblyBase { List get inputs => const [ Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/ios.dart'), Source.pattern('{BUILD_DIR}/app.dill'), - Source.artifact(Artifact.engineDartBinary), + Source.hostArtifact(HostArtifact.engineDartBinary), Source.artifact(Artifact.skyEnginePath), // TODO(jonahwilliams): cannot reference gen_snapshot with artifacts since // it resolves to a file (ios/gen_snapshot) that never exists. This was @@ -174,7 +174,7 @@ class AotAssemblyProfile extends AotAssemblyBase { List get inputs => const [ Source.pattern('{FLUTTER_ROOT}/packages/flutter_tools/lib/src/build_system/targets/ios.dart'), Source.pattern('{BUILD_DIR}/app.dill'), - Source.artifact(Artifact.engineDartBinary), + Source.hostArtifact(HostArtifact.engineDartBinary), Source.artifact(Artifact.skyEnginePath), // TODO(jonahwilliams): cannot reference gen_snapshot with artifacts since // it resolves to a file (ios/gen_snapshot) that never exists. This was diff --git a/packages/flutter_tools/lib/src/build_system/targets/web.dart b/packages/flutter_tools/lib/src/build_system/targets/web.dart index a2c9ca12355..f713bdd1bf1 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/web.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/web.dart @@ -178,9 +178,9 @@ class Dart2JSTarget extends Target { @override List get inputs => const [ - Source.artifact(Artifact.flutterWebSdk), - Source.artifact(Artifact.dart2jsSnapshot), - Source.artifact(Artifact.engineDartBinary), + Source.hostArtifact(HostArtifact.flutterWebSdk), + Source.hostArtifact(HostArtifact.dart2jsSnapshot), + Source.hostArtifact(HostArtifact.engineDartBinary), Source.pattern('{BUILD_DIR}/main.dart'), Source.pattern('{PROJECT_DIR}/.dart_tool/package_config_subset'), ]; @@ -198,12 +198,12 @@ class Dart2JSTarget extends Target { final BuildMode buildMode = getBuildModeForName(environment.defines[kBuildMode]); final bool sourceMapsEnabled = environment.defines[kSourceMapsEnabled] == 'true'; final bool nativeNullAssertions = environment.defines[kNativeNullAssertions] == 'true'; - + final String librariesSpec = (globals.artifacts.getHostArtifact(HostArtifact.flutterWebSdk) as Directory).childFile('libraries.json').path; final List sharedCommandOptions = [ - globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', - globals.artifacts.getArtifactPath(Artifact.dart2jsSnapshot), - '--libraries-spec=${globals.fs.path.join(globals.artifacts.getArtifactPath(Artifact.flutterWebSdk), 'libraries.json')}', + globals.artifacts.getHostArtifact(HostArtifact.dart2jsSnapshot).path, + '--libraries-spec=$librariesSpec', ...?decodeCommaSeparated(environment.defines, kExtraFrontEndOptions), if (nativeNullAssertions) '--native-null-assertions', diff --git a/packages/flutter_tools/lib/src/commands/analyze_base.dart b/packages/flutter_tools/lib/src/commands/analyze_base.dart index 71bc3129f33..ef7a1c58166 100644 --- a/packages/flutter_tools/lib/src/commands/analyze_base.dart +++ b/packages/flutter_tools/lib/src/commands/analyze_base.dart @@ -81,7 +81,7 @@ abstract class AnalyzeBase { } bool get isFlutterRepo => argResults['flutter-repo'] as bool; - String get sdkPath => argResults['dart-sdk'] as String ?? artifacts.getArtifactPath(Artifact.engineDartSdkPath); + String get sdkPath => argResults['dart-sdk'] as String ?? artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path; bool get isBenchmarking => argResults['benchmark'] as bool; String get protocolTrafficLog => argResults['protocol-traffic-log'] as String; diff --git a/packages/flutter_tools/lib/src/commands/drive.dart b/packages/flutter_tools/lib/src/commands/drive.dart index f297101f8e8..ef598721e11 100644 --- a/packages/flutter_tools/lib/src/commands/drive.dart +++ b/packages/flutter_tools/lib/src/commands/drive.dart @@ -214,7 +214,7 @@ class DriveCommand extends RunCommandBase { applicationPackageFactory: ApplicationPackageFactory.instance, logger: _logger, processUtils: globals.processUtils, - dartSdkPath: globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + dartSdkPath: globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, ); final PackageConfig packageConfig = await loadPackageConfigWithLogging( _fileSystem.file('.packages'), diff --git a/packages/flutter_tools/lib/src/commands/format.dart b/packages/flutter_tools/lib/src/commands/format.dart index cf6d292cd13..3e2eaa8d423 100644 --- a/packages/flutter_tools/lib/src/commands/format.dart +++ b/packages/flutter_tools/lib/src/commands/format.dart @@ -61,8 +61,8 @@ class FormatCommand extends FlutterCommand { ); } - final String dartSdk = globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath); - final String dartBinary = globals.artifacts.getArtifactPath(Artifact.engineDartBinary); + final String dartSdk = globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path; + final String dartBinary = globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path; final List command = [ dartBinary, globals.fs.path.join(dartSdk, 'bin', 'snapshots', 'dartfmt.dart.snapshot'), diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index b27209d95f2..1a32d5efac0 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart @@ -242,7 +242,7 @@ class KernelCompiler { if (!sdkRoot.endsWith('/')) { sdkRoot = '$sdkRoot/'; } - final String engineDartPath = _artifacts.getArtifactPath(Artifact.engineDartBinary); + final String engineDartPath = _artifacts.getHostArtifact(HostArtifact.engineDartBinary).path; if (!_processManager.canRun(engineDartPath)) { throwToolExit('Unable to find Dart binary at $engineDartPath'); } @@ -666,7 +666,7 @@ class DefaultResidentCompiler implements ResidentCompiler { Artifact.frontendServerSnapshotForEngineDartSdk ); final List command = [ - _artifacts.getArtifactPath(Artifact.engineDartBinary), + _artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', frontendServer, '--sdk-root', diff --git a/packages/flutter_tools/lib/src/context_runner.dart b/packages/flutter_tools/lib/src/context_runner.dart index ed9e6e03460..4c38bfc5e31 100644 --- a/packages/flutter_tools/lib/src/context_runner.dart +++ b/packages/flutter_tools/lib/src/context_runner.dart @@ -27,7 +27,6 @@ import 'base/process.dart'; import 'base/terminal.dart'; import 'base/time.dart'; import 'base/user_messages.dart'; -import 'build_info.dart'; import 'build_system/build_system.dart'; import 'cache.dart'; import 'custom_devices/custom_devices_config.dart'; @@ -210,7 +209,7 @@ Future runInContext( ), DevtoolsLauncher: () => DevtoolsServerLauncher( processManager: globals.processManager, - pubExecutable: globals.artifacts.getArtifactPath(Artifact.pubExecutable), + pubExecutable: globals.artifacts.getHostArtifact(HostArtifact.pubExecutable).path, logger: globals.logger, platform: globals.platform, persistentToolState: globals.persistentToolState, @@ -355,10 +354,9 @@ Future runInContext( platform: globals.platform, xcode: globals.xcode, iproxy: IProxy( - iproxyPath: globals.artifacts.getArtifactPath( - Artifact.iproxy, - platform: TargetPlatform.ios, - ), + iproxyPath: globals.artifacts.getHostArtifact( + HostArtifact.iproxy, + ).path, logger: globals.logger, processManager: globals.processManager, dyLdLibEntry: globals.cache.dyLdLibEntry, diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_kernel_compiler.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_kernel_compiler.dart index 3aab6d842d9..05ceae80125 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_kernel_compiler.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_kernel_compiler.dart @@ -65,7 +65,7 @@ class FuchsiaKernelCompiler { ]; final List command = [ - globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', kernelCompiler, ...flags, diff --git a/packages/flutter_tools/lib/src/ios/ios_deploy.dart b/packages/flutter_tools/lib/src/ios/ios_deploy.dart index 07abf60b772..5304b909939 100644 --- a/packages/flutter_tools/lib/src/ios/ios_deploy.dart +++ b/packages/flutter_tools/lib/src/ios/ios_deploy.dart @@ -16,7 +16,6 @@ import '../base/io.dart'; import '../base/logger.dart'; import '../base/platform.dart'; import '../base/process.dart'; -import '../build_info.dart'; import '../cache.dart'; import '../convert.dart'; import 'code_signing.dart'; @@ -39,7 +38,7 @@ class IOSDeploy { _cache = cache, _processUtils = ProcessUtils(processManager: processManager, logger: logger), _logger = logger, - _binaryPath = artifacts.getArtifactPath(Artifact.iosDeploy, platform: TargetPlatform.ios); + _binaryPath = artifacts.getHostArtifact(HostArtifact.iosDeploy).path; final Cache _cache; final String _binaryPath; diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart index 8218693a733..35d9b1d0e78 100644 --- a/packages/flutter_tools/lib/src/ios/mac.dart +++ b/packages/flutter_tools/lib/src/ios/mac.dart @@ -39,8 +39,8 @@ class IMobileDevice { @required Cache cache, @required ProcessManager processManager, @required Logger logger, - }) : _idevicesyslogPath = artifacts.getArtifactPath(Artifact.idevicesyslog, platform: TargetPlatform.ios), - _idevicescreenshotPath = artifacts.getArtifactPath(Artifact.idevicescreenshot, platform: TargetPlatform.ios), + }) : _idevicesyslogPath = artifacts.getHostArtifact(HostArtifact.idevicesyslog).path, + _idevicescreenshotPath = artifacts.getHostArtifact(HostArtifact.idevicescreenshot).path, _dyLdLibEntry = cache.dyLdLibEntry, _processUtils = ProcessUtils(logger: logger, processManager: processManager), _processManager = processManager; diff --git a/packages/flutter_tools/lib/src/isolated/devfs_web.dart b/packages/flutter_tools/lib/src/isolated/devfs_web.dart index 30f2e6b9a60..ae5ac2d2976 100644 --- a/packages/flutter_tools/lib/src/isolated/devfs_web.dart +++ b/packages/flutter_tools/lib/src/isolated/devfs_web.dart @@ -537,7 +537,7 @@ class WebAssetServer implements AssetReader { // Otherwise it must be a Dart SDK source or a Flutter Web SDK source. final Directory dartSdkParent = globals.fs .directory( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath)) + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath)) .parent; final File dartSdkFile = globals.fs.file(dartSdkParent.uri.resolve(path)); if (dartSdkFile.existsSync()) { @@ -545,19 +545,19 @@ class WebAssetServer implements AssetReader { } final Directory flutterWebSdk = globals.fs - .directory(globals.artifacts.getArtifactPath(Artifact.flutterWebSdk)); + .directory(globals.artifacts.getHostArtifact(HostArtifact.flutterWebSdk)); final File webSdkFile = globals.fs.file(flutterWebSdk.uri.resolve(path)); return webSdkFile; } File get _resolveDartSdkJsFile => - globals.fs.file(globals.artifacts.getArtifactPath( + globals.fs.file(globals.artifacts.getHostArtifact( kDartSdkJsArtifactMap[webRenderer][_nullSafetyMode] )); File get _resolveDartSdkJsMapFile => - globals.fs.file(globals.artifacts.getArtifactPath( + globals.fs.file(globals.artifacts.getHostArtifact( kDartSdkJsMapArtifactMap[webRenderer][_nullSafetyMode] )); @@ -869,7 +869,7 @@ class WebDevFS implements DevFS { @visibleForTesting final File requireJS = globals.fs.file(globals.fs.path.join( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, 'lib', 'dev_compiler', 'kernel', @@ -879,7 +879,7 @@ class WebDevFS implements DevFS { @visibleForTesting final File stackTraceMapper = globals.fs.file(globals.fs.path.join( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, 'lib', 'dev_compiler', 'web', diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index d27dbbd9ebf..e35e64f915d 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart @@ -100,15 +100,15 @@ class FlutterDevice { // used to file a bug, but the compiler will still start up correctly. if (targetPlatform == TargetPlatform.web_javascript) { // TODO(jonahwilliams): consistently provide these flags across platforms. - Artifact platformDillArtifact; + HostArtifact platformDillArtifact; final List extraFrontEndOptions = List.of(buildInfo.extraFrontEndOptions ?? []); if (buildInfo.nullSafetyMode == NullSafetyMode.unsound) { - platformDillArtifact = Artifact.webPlatformKernelDill; + platformDillArtifact = HostArtifact.webPlatformKernelDill; if (!extraFrontEndOptions.contains('--no-sound-null-safety')) { extraFrontEndOptions.add('--no-sound-null-safety'); } } else if (buildInfo.nullSafetyMode == NullSafetyMode.sound) { - platformDillArtifact = Artifact.webPlatformSoundKernelDill; + platformDillArtifact = HostArtifact.webPlatformSoundKernelDill; if (!extraFrontEndOptions.contains('--sound-null-safety')) { extraFrontEndOptions.add('--sound-null-safety'); } @@ -117,7 +117,7 @@ class FlutterDevice { } generator = ResidentCompiler( - globals.artifacts.getArtifactPath(Artifact.flutterWebSdk, mode: buildInfo.mode), + globals.artifacts.getHostArtifact(HostArtifact.flutterWebSdk).path, buildMode: buildInfo.mode, trackWidgetCreation: buildInfo.trackWidgetCreation, fileSystemRoots: fileSystemRoots ?? [], @@ -132,11 +132,11 @@ class FlutterDevice { targetModel: TargetModel.dartdevc, extraFrontEndOptions: extraFrontEndOptions, platformDill: globals.fs.file(globals.artifacts - .getArtifactPath(platformDillArtifact, mode: buildInfo.mode)) + .getHostArtifact(platformDillArtifact)) .absolute.uri.toString(), dartDefines: buildInfo.dartDefines, librariesSpec: globals.fs.file(globals.artifacts - .getArtifactPath(Artifact.flutterWebLibrariesJson)).uri.toString(), + .getHostArtifact(HostArtifact.flutterWebLibrariesJson)).uri.toString(), packagesPath: buildInfo.packagesPath, artifacts: globals.artifacts, processManager: globals.processManager, @@ -869,7 +869,7 @@ abstract class ResidentHandlers { return true; } - /// Toggle the operating system brightness (light or dart). + /// Toggle the operating system brightness (light or dark). Future debugToggleBrightness() async { if (!supportsServiceProtocol) { return false; diff --git a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart index ed8ef6d084a..3b9ad88fe5c 100644 --- a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart +++ b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart @@ -173,7 +173,7 @@ class FlutterWebPlatform extends PlatformPlugin { /// The require js binary. File get _requireJs => _fileSystem.file(_fileSystem.path.join( - _artifacts.getArtifactPath(Artifact.engineDartSdkPath), + _artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, 'lib', 'dev_compiler', 'kernel', @@ -183,7 +183,7 @@ class FlutterWebPlatform extends PlatformPlugin { /// The ddc to dart stack trace mapper. File get _stackTraceMapper => _fileSystem.file(_fileSystem.path.join( - _artifacts.getArtifactPath(Artifact.engineDartSdkPath), + _artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, 'lib', 'dev_compiler', 'web', @@ -191,10 +191,10 @@ class FlutterWebPlatform extends PlatformPlugin { )); File get _dartSdk => _fileSystem.file( - _artifacts.getArtifactPath(kDartSdkJsArtifactMap[_rendererMode][_nullSafetyMode])); + _artifacts.getHostArtifact(kDartSdkJsArtifactMap[_rendererMode][_nullSafetyMode])); File get _dartSdkSourcemaps => _fileSystem.file( - _artifacts.getArtifactPath(kDartSdkJsMapArtifactMap[_rendererMode][_nullSafetyMode])); + _artifacts.getHostArtifact(kDartSdkJsMapArtifactMap[_rendererMode][_nullSafetyMode])); /// The precompiled test javascript. File get _testDartJs => _fileSystem.file(_fileSystem.path.join( diff --git a/packages/flutter_tools/lib/src/test/web_test_compiler.dart b/packages/flutter_tools/lib/src/test/web_test_compiler.dart index 2e0d8ef018b..88047e9bed8 100644 --- a/packages/flutter_tools/lib/src/test/web_test_compiler.dart +++ b/packages/flutter_tools/lib/src/test/web_test_compiler.dart @@ -53,17 +53,17 @@ class WebTestCompiler { @required BuildInfo buildInfo, }) async { LanguageVersion languageVersion = LanguageVersion(2, 8); - Artifact platformDillArtifact; + HostArtifact platformDillArtifact; // TODO(jonahwilliams): to support autodetect this would need to partition the source code into a // a sound and unsound set and perform separate compilations. final List extraFrontEndOptions = List.of(buildInfo.extraFrontEndOptions ?? []); if (buildInfo.nullSafetyMode == NullSafetyMode.unsound || buildInfo.nullSafetyMode == NullSafetyMode.autodetect) { - platformDillArtifact = Artifact.webPlatformKernelDill; + platformDillArtifact = HostArtifact.webPlatformKernelDill; if (!extraFrontEndOptions.contains('--no-sound-null-safety')) { extraFrontEndOptions.add('--no-sound-null-safety'); } } else if (buildInfo.nullSafetyMode == NullSafetyMode.sound) { - platformDillArtifact = Artifact.webPlatformSoundKernelDill; + platformDillArtifact = HostArtifact.webPlatformSoundKernelDill; languageVersion = currentLanguageVersion(_fileSystem, Cache.flutterRoot); if (!extraFrontEndOptions.contains('--sound-null-safety')) { extraFrontEndOptions.add('--sound-null-safety'); @@ -107,7 +107,7 @@ class WebTestCompiler { config: _config, ); final ResidentCompiler residentCompiler = ResidentCompiler( - _artifacts.getArtifactPath(Artifact.flutterWebSdk, mode: buildInfo.mode), + _artifacts.getHostArtifact(HostArtifact.flutterWebSdk).path, buildMode: buildInfo.mode, trackWidgetCreation: buildInfo.trackWidgetCreation, fileSystemRoots: [ @@ -120,12 +120,11 @@ class WebTestCompiler { initializeFromDill: cachedKernelPath, targetModel: TargetModel.dartdevc, extraFrontEndOptions: extraFrontEndOptions, - platformDill: _fileSystem.file(_artifacts - .getArtifactPath(platformDillArtifact, mode: buildInfo.mode)) + platformDill: _artifacts + .getHostArtifact(platformDillArtifact) .absolute.uri.toString(), dartDefines: buildInfo.dartDefines, - librariesSpec: _fileSystem.file(_artifacts - .getArtifactPath(Artifact.flutterWebLibrariesJson)).uri.toString(), + librariesSpec: _artifacts.getHostArtifact(HostArtifact.flutterWebLibrariesJson).uri.toString(), packagesPath: buildInfo.packagesPath, artifacts: _artifacts, processManager: _processManager, diff --git a/packages/flutter_tools/lib/src/web/compile.dart b/packages/flutter_tools/lib/src/web/compile.dart index 27e9ed1e3af..6a1d6fe321e 100644 --- a/packages/flutter_tools/lib/src/web/compile.dart +++ b/packages/flutter_tools/lib/src/web/compile.dart @@ -101,33 +101,33 @@ enum WebRendererMode { } /// The correct precompiled artifact to use for each build and render mode. -const Map> kDartSdkJsArtifactMap = >{ - WebRendererMode.autoDetect: { - NullSafetyMode.sound: Artifact.webPrecompiledCanvaskitAndHtmlSoundSdk, - NullSafetyMode.unsound: Artifact.webPrecompiledCanvaskitAndHtmlSdk, +const Map> kDartSdkJsArtifactMap = >{ + WebRendererMode.autoDetect: { + NullSafetyMode.sound: HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdk, + NullSafetyMode.unsound: HostArtifact.webPrecompiledCanvaskitAndHtmlSdk, }, - WebRendererMode.canvaskit: { - NullSafetyMode.sound: Artifact.webPrecompiledCanvaskitSoundSdk, - NullSafetyMode.unsound: Artifact.webPrecompiledCanvaskitSdk, + WebRendererMode.canvaskit: { + NullSafetyMode.sound: HostArtifact.webPrecompiledCanvaskitSoundSdk, + NullSafetyMode.unsound: HostArtifact.webPrecompiledCanvaskitSdk, }, - WebRendererMode.html: { - NullSafetyMode.sound: Artifact.webPrecompiledSoundSdk, - NullSafetyMode.unsound: Artifact.webPrecompiledSdk, + WebRendererMode.html: { + NullSafetyMode.sound: HostArtifact.webPrecompiledSoundSdk, + NullSafetyMode.unsound: HostArtifact.webPrecompiledSdk, }, }; /// The correct source map artifact to use for each build and render mode. -const Map> kDartSdkJsMapArtifactMap = >{ - WebRendererMode.autoDetect: { - NullSafetyMode.sound: Artifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps, - NullSafetyMode.unsound: Artifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps, +const Map> kDartSdkJsMapArtifactMap = >{ + WebRendererMode.autoDetect: { + NullSafetyMode.sound: HostArtifact.webPrecompiledCanvaskitAndHtmlSoundSdkSourcemaps, + NullSafetyMode.unsound: HostArtifact.webPrecompiledCanvaskitAndHtmlSdkSourcemaps, }, - WebRendererMode.canvaskit: { - NullSafetyMode.sound: Artifact.webPrecompiledCanvaskitSoundSdkSourcemaps, - NullSafetyMode.unsound: Artifact.webPrecompiledCanvaskitSdkSourcemaps, + WebRendererMode.canvaskit: { + NullSafetyMode.sound: HostArtifact.webPrecompiledCanvaskitSoundSdkSourcemaps, + NullSafetyMode.unsound: HostArtifact.webPrecompiledCanvaskitSdkSourcemaps, }, - WebRendererMode.html: { - NullSafetyMode.sound: Artifact.webPrecompiledSoundSdkSourcemaps, - NullSafetyMode.unsound: Artifact.webPrecompiledSdkSourcemaps, + WebRendererMode.html: { + NullSafetyMode.sound: HostArtifact.webPrecompiledSoundSdkSourcemaps, + NullSafetyMode.unsound: HostArtifact.webPrecompiledSdkSourcemaps, }, }; diff --git a/packages/flutter_tools/test/commands.shard/hermetic/analyze_continuously_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/analyze_continuously_test.dart index 773d33ff7fa..644024c10ec 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/analyze_continuously_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/analyze_continuously_test.dart @@ -91,7 +91,7 @@ void main() { ); server = AnalysisServer( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, [tempDir.path], fileSystem: fileSystem, platform: platform, @@ -129,7 +129,7 @@ void main() { ); server = AnalysisServer( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, [tempDir.path], fileSystem: fileSystem, platform: platform, @@ -154,7 +154,7 @@ void main() { const String contents = "StringBuffer bar = StringBuffer('baz');"; tempDir.childFile('main.dart').writeAsStringSync(contents); server = AnalysisServer( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, [tempDir.path], fileSystem: fileSystem, platform: platform, @@ -180,13 +180,13 @@ void main() { [ FakeCommand( command: const [ - 'Artifact.engineDartSdkPath/bin/dart', + 'HostArtifact.engineDartSdkPath/bin/dart', '--disable-dart-dev', - 'Artifact.engineDartSdkPath/bin/snapshots/analysis_server.dart.snapshot', + 'HostArtifact.engineDartSdkPath/bin/snapshots/analysis_server.dart.snapshot', '--disable-server-feature-completion', '--disable-server-feature-search', '--sdk', - 'Artifact.engineDartSdkPath', + 'HostArtifact.engineDartSdkPath', ], completer: completer, stdin: IOSink(stdin.sink), @@ -218,13 +218,13 @@ void main() { [ FakeCommand( command: const [ - 'Artifact.engineDartSdkPath/bin/dart', + 'HostArtifact.engineDartSdkPath/bin/dart', '--disable-dart-dev', - 'Artifact.engineDartSdkPath/bin/snapshots/analysis_server.dart.snapshot', + 'HostArtifact.engineDartSdkPath/bin/snapshots/analysis_server.dart.snapshot', '--disable-server-feature-completion', '--disable-server-feature-search', '--sdk', - 'Artifact.engineDartSdkPath', + 'HostArtifact.engineDartSdkPath', ], completer: completer, stdin: IOSink(stdin.sink), diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart index 6b364f06f21..8de421147de 100755 --- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart @@ -1069,7 +1069,7 @@ void main() { final Process process = await Process.start( globals.fs.path.join( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, 'bin', globals.platform.isWindows ? 'dartfmt.bat' : 'dartfmt', ), @@ -1171,7 +1171,7 @@ void main() { final Process process = await Process.start( globals.fs.path.join( - globals.artifacts.getArtifactPath(Artifact.engineDartSdkPath), + globals.artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, 'bin', globals.platform.isWindows ? 'dartfmt.bat' : 'dartfmt', ), @@ -2563,7 +2563,7 @@ Future _analyzeProject(String workingDir) async { ]; final ProcessResult exec = await Process.run( - globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, args, workingDirectory: workingDir, ); @@ -2586,7 +2586,7 @@ Future _runFlutterTest(Directory workingDir, { String target }) async { // While flutter test does get packages, it doesn't write version // files anymore. await Process.run( - globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, [ flutterToolsSnapshotPath, 'packages', @@ -2603,7 +2603,7 @@ Future _runFlutterTest(Directory workingDir, { String target }) async { ]; final ProcessResult exec = await Process.run( - globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, args, workingDirectory: workingDir.path, ); diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart index 18da71d9c70..a3ce055b5a8 100644 --- a/packages/flutter_tools/test/general.shard/artifacts_test.dart +++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart @@ -135,35 +135,35 @@ void main() { testWithoutContext('precompiled web artifact paths are correct', () { expect( - artifacts.getArtifactPath(Artifact.webPrecompiledSdk), + artifacts.getHostArtifact(HostArtifact.webPrecompiledSdk).path, 'root/bin/cache/flutter_web_sdk/kernel/amd/dart_sdk.js', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledSdkSourcemaps), + artifacts.getHostArtifact(HostArtifact.webPrecompiledSdkSourcemaps).path, 'root/bin/cache/flutter_web_sdk/kernel/amd/dart_sdk.js.map', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledCanvaskitSdk), + artifacts.getHostArtifact(HostArtifact.webPrecompiledCanvaskitSdk).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-canvaskit/dart_sdk.js', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledCanvaskitSdkSourcemaps), + artifacts.getHostArtifact(HostArtifact.webPrecompiledCanvaskitSdkSourcemaps).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-canvaskit/dart_sdk.js.map', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledSoundSdk), + artifacts.getHostArtifact(HostArtifact.webPrecompiledSoundSdk).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-sound/dart_sdk.js', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledSoundSdkSourcemaps), + artifacts.getHostArtifact(HostArtifact.webPrecompiledSoundSdkSourcemaps).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-sound/dart_sdk.js.map', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledCanvaskitSoundSdk), + artifacts.getHostArtifact(HostArtifact.webPrecompiledCanvaskitSoundSdk).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js', ); expect( - artifacts.getArtifactPath(Artifact.webPrecompiledCanvaskitSoundSdkSourcemaps), + artifacts.getHostArtifact(HostArtifact.webPrecompiledCanvaskitSoundSdkSourcemaps).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js.map', ); }); @@ -293,7 +293,7 @@ void main() { fileSystem.path.join('/out', 'android_debug_unopt', 'flutter_tester'), ); expect( - artifacts.getArtifactPath(Artifact.engineDartSdkPath), + artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk'), ); }); @@ -324,7 +324,7 @@ void main() { operatingSystemUtils: FakeOperatingSystemUtils(), ); - expect(artifacts.getArtifactPath(Artifact.engineDartBinary), contains('.exe')); + expect(artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, contains('.exe')); }); testWithoutContext('Looks up windows UWP artifacts in host engine', () async { @@ -342,7 +342,7 @@ void main() { }); testWithoutContext('Looks up dart on linux platforms', () async { - expect(artifacts.getArtifactPath(Artifact.engineDartBinary), isNot(contains('.exe'))); + expect(artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, isNot(contains('.exe'))); }); }); } 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 ac0467609b0..3b0ca07e410 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 @@ -80,7 +80,7 @@ void main() { final String build = androidEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -116,7 +116,7 @@ void main() { final String build = androidEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -152,7 +152,7 @@ void main() { final String build = androidEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -189,7 +189,7 @@ void main() { final String build = androidEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -228,7 +228,7 @@ void main() { final String build = androidEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -265,7 +265,7 @@ void main() { final String build = androidEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', @@ -314,7 +314,7 @@ void main() { final String build = testEnvironment.buildDir.path; processManager.addCommands([ FakeCommand(command: [ - artifacts.getArtifactPath(Artifact.engineDartBinary), + artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, '--disable-dart-dev', artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), '--sdk-root', diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/icon_tree_shaker_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/icon_tree_shaker_test.dart index b0ec631b501..2bada9b3b6f 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/icon_tree_shaker_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/icon_tree_shaker_test.dart @@ -96,7 +96,7 @@ void main() { outputPreferences: OutputPreferences.test(showColor: false), ); - dartPath = artifacts.getArtifactPath(Artifact.engineDartBinary); + dartPath = artifacts.getHostArtifact(HostArtifact.engineDartBinary).path; constFinderPath = artifacts.getArtifactPath(Artifact.constFinder); fontSubsetPath = artifacts.getArtifactPath(Artifact.fontSubset); 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 60ef33ca10c..6415f58ff1e 100644 --- a/packages/flutter_tools/test/general.shard/compile_batch_test.dart +++ b/packages/flutter_tools/test/general.shard/compile_batch_test.dart @@ -54,7 +54,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -99,7 +99,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -144,7 +144,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -189,7 +189,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -236,7 +236,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -283,7 +283,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', @@ -334,7 +334,7 @@ void main() { logger: logger, processManager: FakeProcessManager.list([ FakeCommand(command: const [ - 'Artifact.engineDartBinary', + 'HostArtifact.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 896ab20c76a..2d67f46eda2 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() { FakeProcessManager fakeProcessManager; const List frontendServerCommand = [ - 'Artifact.engineDartBinary', + 'HostArtifact.engineDartBinary', '--disable-dart-dev', 'Artifact.frontendServerSnapshotForEngineDartSdk', '--sdk-root', diff --git a/packages/flutter_tools/test/general.shard/ios/ios_deploy_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_deploy_test.dart index 89a63ef5bbb..04e6db56115 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_deploy_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_deploy_test.dart @@ -13,7 +13,6 @@ import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; -import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/cache.dart'; import 'package:flutter_tools/src/ios/devices.dart'; import 'package:flutter_tools/src/ios/ios_deploy.dart'; @@ -29,7 +28,7 @@ void main () { setUp(() { artifacts = Artifacts.test(); - iosDeployPath = artifacts.getArtifactPath(Artifact.iosDeploy, platform: TargetPlatform.ios); + iosDeployPath = artifacts.getHostArtifact(HostArtifact.iosDeploy).path; fileSystem = MemoryFileSystem.test(); }); diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart index 47a02f76439..c0475829eb3 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart @@ -33,7 +33,7 @@ void main() { setUp(() { artifacts = Artifacts.test(); - iosDeployPath = artifacts.getArtifactPath(Artifact.iosDeploy, platform: TargetPlatform.ios); + iosDeployPath = artifacts.getHostArtifact(HostArtifact.iosDeploy).path; }); testWithoutContext('IOSDevice.installApp calls ios-deploy correctly with USB', () async { diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart index 7afe31427ff..24d76f7eae9 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart @@ -8,7 +8,6 @@ import 'dart:async'; import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/base/logger.dart'; -import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/cache.dart'; import 'package:flutter_tools/src/convert.dart'; import 'package:flutter_tools/src/device.dart'; @@ -35,7 +34,7 @@ void main() { fakeCache = Cache.test(processManager: FakeProcessManager.any()); artifacts = Artifacts.test(); logger = BufferLogger.test(); - ideviceSyslogPath = artifacts.getArtifactPath(Artifact.idevicesyslog, platform: TargetPlatform.ios); + ideviceSyslogPath = artifacts.getHostArtifact(HostArtifact.idevicesyslog).path; }); group('syslog stream', () { diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart index e2a477efb94..87e76b408d8 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart @@ -76,7 +76,7 @@ void main() { setUp(() { artifacts = Artifacts.test(); - iosDeployPath = artifacts.getArtifactPath(Artifact.iosDeploy, platform: TargetPlatform.ios); + iosDeployPath = artifacts.getHostArtifact(HostArtifact.iosDeploy).path; }); group('IOSDevice.startApp succeeds in release mode', () { diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart index c6b6a4b014f..8dd196f2540 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart @@ -30,7 +30,7 @@ import '../../src/fakes.dart'; // The command used to actually launch the app with args in release/profile. const FakeCommand kLaunchReleaseCommand = FakeCommand( command: [ - 'Artifact.iosDeploy.TargetPlatform.ios', + 'HostArtifact.iosDeploy', '--id', '123', '--bundle', @@ -49,7 +49,7 @@ const FakeCommand kLaunchReleaseCommand = FakeCommand( // The command used to just launch the app with args in debug. const FakeCommand kLaunchDebugCommand = FakeCommand(command: [ - 'Artifact.iosDeploy.TargetPlatform.ios', + 'HostArtifact.iosDeploy', '--id', '123', '--bundle', @@ -69,7 +69,7 @@ const FakeCommand kAttachDebuggerCommand = FakeCommand(command: [ '-t', '0', '/dev/null', - 'Artifact.iosDeploy.TargetPlatform.ios', + 'HostArtifact.iosDeploy', '--id', '123', '--bundle', @@ -214,7 +214,7 @@ void main() { '-t', '0', '/dev/null', - 'Artifact.iosDeploy.TargetPlatform.ios', + 'HostArtifact.iosDeploy', '--id', '123', '--bundle', diff --git a/packages/flutter_tools/test/general.shard/ios/mac_test.dart b/packages/flutter_tools/test/general.shard/ios/mac_test.dart index 9714ca9d861..dcabee550db 100644 --- a/packages/flutter_tools/test/general.shard/ios/mac_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/mac_test.dart @@ -56,7 +56,7 @@ void main() { // Let `idevicescreenshot` fail with exit code 1. fakeProcessManager.addCommand(FakeCommand( command: [ - 'Artifact.idevicescreenshot.TargetPlatform.ios', + 'HostArtifact.idevicescreenshot', outputFile.path, '--udid', '1234', @@ -85,7 +85,7 @@ void main() { testWithoutContext('idevicescreenshot captures and returns USB screenshot', () async { fakeProcessManager.addCommand(FakeCommand( command: [ - 'Artifact.idevicescreenshot.TargetPlatform.ios', outputFile.path, '--udid', '1234', + 'HostArtifact.idevicescreenshot', outputFile.path, '--udid', '1234', ], environment: const {'DYLD_LIBRARY_PATH': '/path/to/libraries'}, )); @@ -108,7 +108,7 @@ void main() { testWithoutContext('idevicescreenshot captures and returns network screenshot', () async { fakeProcessManager.addCommand(FakeCommand( command: [ - 'Artifact.idevicescreenshot.TargetPlatform.ios', outputFile.path, '--udid', '1234', '--network', + 'HostArtifact.idevicescreenshot', outputFile.path, '--udid', '1234', '--network', ], environment: const {'DYLD_LIBRARY_PATH': '/path/to/libraries'}, )); diff --git a/packages/flutter_tools/test/general.shard/resident_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_runner_test.dart index 1f05d905fd4..6b0fb4c1684 100644 --- a/packages/flutter_tools/test/general.shard/resident_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_runner_test.dart @@ -2105,12 +2105,12 @@ void main() { expect(residentCompiler.initializeFromDill, globals.fs.path.join(getBuildDirectory(), 'fbbe6a61fb7a1de317d381f8df4814e5.cache.dill')); expect(residentCompiler.librariesSpec, - globals.fs.file(globals.artifacts.getArtifactPath(Artifact.flutterWebLibrariesJson)) + globals.fs.file(globals.artifacts.getHostArtifact(HostArtifact.flutterWebLibrariesJson)) .uri.toString()); expect(residentCompiler.targetModel, TargetModel.dartdevc); expect(residentCompiler.sdkRoot, - globals.artifacts.getArtifactPath(Artifact.flutterWebSdk, mode: BuildMode.debug) + '/'); - expect(residentCompiler.platformDill, 'file:///Artifact.webPlatformKernelDill.debug'); + globals.artifacts.getHostArtifact(HostArtifact.flutterWebSdk).path + '/'); + expect(residentCompiler.platformDill, 'file:///HostArtifact.webPlatformKernelDill'); }, overrides: { Artifacts: () => Artifacts.test(), FileSystem: () => MemoryFileSystem.test(), @@ -2136,12 +2136,12 @@ void main() { expect(residentCompiler.initializeFromDill, globals.fs.path.join(getBuildDirectory(), '825b8f791aa86c5057fff6f064542c54.cache.dill')); expect(residentCompiler.librariesSpec, - globals.fs.file(globals.artifacts.getArtifactPath(Artifact.flutterWebLibrariesJson)) + globals.fs.file(globals.artifacts.getHostArtifact(HostArtifact.flutterWebLibrariesJson)) .uri.toString()); expect(residentCompiler.targetModel, TargetModel.dartdevc); expect(residentCompiler.sdkRoot, - globals.artifacts.getArtifactPath(Artifact.flutterWebSdk, mode: BuildMode.debug) + '/'); - expect(residentCompiler.platformDill, 'file:///Artifact.webPlatformSoundKernelDill.debug'); + globals.artifacts.getHostArtifact(HostArtifact.flutterWebSdk).path + '/'); + expect(residentCompiler.platformDill, 'file:///HostArtifact.webPlatformSoundKernelDill'); }, overrides: { Artifacts: () => Artifacts.test(), FileSystem: () => MemoryFileSystem.test(), diff --git a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart index 2c3f75de4ec..d949bb9919c 100644 --- a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart +++ b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart @@ -639,13 +639,13 @@ void main() { final Uri uri = await webDevFS.create(); webDevFS.webAssetServer.entrypointCacheDirectory = globals.fs.currentDirectory; final String webPrecompiledSdk = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledSdk); + .getHostArtifact(HostArtifact.webPrecompiledSdk).path; final String webPrecompiledSdkSourcemaps = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledSdkSourcemaps); + .getHostArtifact(HostArtifact.webPrecompiledSdkSourcemaps).path; final String webPrecompiledCanvaskitSdk = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledCanvaskitSdk); + .getHostArtifact(HostArtifact.webPrecompiledCanvaskitSdk).path; final String webPrecompiledCanvaskitSdkSourcemaps = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledCanvaskitSdkSourcemaps); + .getHostArtifact(HostArtifact.webPrecompiledCanvaskitSdkSourcemaps).path; globals.fs.currentDirectory .childDirectory('lib') .childFile('web_entrypoint.dart') @@ -762,13 +762,13 @@ void main() { ..createSync(recursive: true) ..writeAsStringSync('GENERATED'); final String webPrecompiledSdk = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledSoundSdk); + .getHostArtifact(HostArtifact.webPrecompiledSoundSdk).path; final String webPrecompiledSdkSourcemaps = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledSoundSdkSourcemaps); + .getHostArtifact(HostArtifact.webPrecompiledSoundSdkSourcemaps).path; final String webPrecompiledCanvaskitSdk = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledCanvaskitSoundSdk); + .getHostArtifact(HostArtifact.webPrecompiledCanvaskitSoundSdk).path; final String webPrecompiledCanvaskitSdkSourcemaps = globals.artifacts - .getArtifactPath(Artifact.webPrecompiledCanvaskitSoundSdkSourcemaps); + .getHostArtifact(HostArtifact.webPrecompiledCanvaskitSoundSdkSourcemaps).path; globals.fs.file(webPrecompiledSdk) ..createSync(recursive: true) ..writeAsStringSync('HELLO'); diff --git a/packages/flutter_tools/test/integration.shard/generated_plugin_registrant_test.dart b/packages/flutter_tools/test/integration.shard/generated_plugin_registrant_test.dart index 7fc9e2c35b9..83c8021dd18 100644 --- a/packages/flutter_tools/test/integration.shard/generated_plugin_registrant_test.dart +++ b/packages/flutter_tools/test/integration.shard/generated_plugin_registrant_test.dart @@ -233,7 +233,7 @@ Future _analyzeProject(Directory workingDir) async { ]; final ProcessResult exec = await Process.run( - globals.artifacts.getArtifactPath(Artifact.engineDartBinary), + globals.artifacts.getHostArtifact(HostArtifact.engineDartBinary).path, args, workingDirectory: workingDir.path, );