Unverified Commit 187ec75e authored by auto-submit[bot]'s avatar auto-submit[bot] Committed by GitHub

Reverts "Expose build mode in environment of asset transformer processes (#144752)" (#144957)

Reverts: flutter/flutter#144752
Initiated by: andrewkolos
Reason for reverting: compilation issue has turned the tree red
Original PR Author: andrewkolos

Reviewed By: {christopherfujino}

This change reverts the following previous change:
In service of https://github.com/flutter/flutter/issues/143348

When invoking a package to transform an asset, we set `FLUTTER_BUILD_MODE` to the CLI name of the build mode being used. Inspired by https://github.com/flutter/flutter/issues/101077#issuecomment-1890379501:

> Do transformers know whether they get executed in debug or release mode? I kinda imagine that being useful. Ex: There's a transformer that optimizes the file size of images. Depending on the amount and size of the images, that could take a significant amount of time. Therefore, I might want to only execute it in release builds.

Note for the reviewer: the interesting part of this change can be found in the commit [set environment variable to build mode when running asset transformer…](https://github.com/flutter/flutter/pull/144752/commits/579912d470b6f6eb036fd6b23a128fa3942f6282). The rest of the change is updating call sites with a new argument.
parent 83fad745
...@@ -15,7 +15,6 @@ import '../../devfs.dart'; ...@@ -15,7 +15,6 @@ import '../../devfs.dart';
import '../../flutter_manifest.dart'; import '../../flutter_manifest.dart';
import '../build_system.dart'; import '../build_system.dart';
import '../depfile.dart'; import '../depfile.dart';
import '../exceptions.dart';
import '../tools/asset_transformer.dart'; import '../tools/asset_transformer.dart';
import '../tools/scene_importer.dart'; import '../tools/scene_importer.dart';
import '../tools/shader_compiler.dart'; import '../tools/shader_compiler.dart';
...@@ -36,7 +35,7 @@ Future<Depfile> copyAssets( ...@@ -36,7 +35,7 @@ Future<Depfile> copyAssets(
Directory outputDirectory, { Directory outputDirectory, {
Map<String, DevFSContent> additionalContent = const <String, DevFSContent>{}, Map<String, DevFSContent> additionalContent = const <String, DevFSContent>{},
required TargetPlatform targetPlatform, required TargetPlatform targetPlatform,
required BuildMode buildMode, BuildMode? buildMode,
List<File> additionalInputs = const <File>[], List<File> additionalInputs = const <File>[],
String? flavor, String? flavor,
}) async { }) async {
...@@ -102,7 +101,6 @@ Future<Depfile> copyAssets( ...@@ -102,7 +101,6 @@ Future<Depfile> copyAssets(
processManager: environment.processManager, processManager: environment.processManager,
fileSystem: environment.fileSystem, fileSystem: environment.fileSystem,
dartBinaryPath: environment.artifacts.getArtifactPath(Artifact.engineDartBinary), dartBinaryPath: environment.artifacts.getArtifactPath(Artifact.engineDartBinary),
buildMode: buildMode,
); );
final Map<String, AssetBundleEntry> assetEntries = <String, AssetBundleEntry>{ final Map<String, AssetBundleEntry> assetEntries = <String, AssetBundleEntry>{
...@@ -188,7 +186,7 @@ Future<Depfile> copyAssets( ...@@ -188,7 +186,7 @@ Future<Depfile> copyAssets(
// Copy deferred components assets only for release or profile builds. // Copy deferred components assets only for release or profile builds.
// The assets are included in assetBundle.entries as a normal asset when // The assets are included in assetBundle.entries as a normal asset when
// building as debug. // building as debug.
if (environment.defines[kDeferredComponents] == 'true') { if (environment.defines[kDeferredComponents] == 'true' && buildMode != null) {
await Future.wait<void>(assetBundle.deferredComponentsEntries.entries.map<Future<void>>( await Future.wait<void>(assetBundle.deferredComponentsEntries.entries.map<Future<void>>(
(MapEntry<String, Map<String, AssetBundleEntry>> componentEntries) async { (MapEntry<String, Map<String, AssetBundleEntry>> componentEntries) async {
final Directory componentOutputDir = final Directory componentOutputDir =
...@@ -345,11 +343,6 @@ class CopyAssets extends Target { ...@@ -345,11 +343,6 @@ class CopyAssets extends Target {
@override @override
Future<void> build(Environment environment) async { Future<void> build(Environment environment) async {
final String? buildModeEnvironment = environment.defines[kBuildMode];
if (buildModeEnvironment == null) {
throw MissingDefineException(kBuildMode, name);
}
final BuildMode buildMode = BuildMode.fromCliName(buildModeEnvironment);
final Directory output = environment final Directory output = environment
.buildDir .buildDir
.childDirectory('flutter_assets'); .childDirectory('flutter_assets');
...@@ -358,7 +351,6 @@ class CopyAssets extends Target { ...@@ -358,7 +351,6 @@ class CopyAssets extends Target {
environment, environment,
output, output,
targetPlatform: TargetPlatform.android, targetPlatform: TargetPlatform.android,
buildMode: buildMode,
flavor: environment.defines[kFlavor], flavor: environment.defines[kFlavor],
); );
environment.depFileService.writeToFile( environment.depFileService.writeToFile(
......
...@@ -503,7 +503,6 @@ abstract class IosAssetBundle extends Target { ...@@ -503,7 +503,6 @@ abstract class IosAssetBundle extends Target {
environment, environment,
assetDirectory, assetDirectory,
targetPlatform: TargetPlatform.ios, targetPlatform: TargetPlatform.ios,
buildMode: buildMode,
additionalInputs: <File>[ additionalInputs: <File>[
flutterProject.ios.infoPlist, flutterProject.ios.infoPlist,
flutterProject.ios.appFrameworkInfoPlist, flutterProject.ios.appFrameworkInfoPlist,
......
...@@ -137,7 +137,6 @@ abstract class BundleLinuxAssets extends Target { ...@@ -137,7 +137,6 @@ abstract class BundleLinuxAssets extends Target {
environment, environment,
outputDirectory, outputDirectory,
targetPlatform: targetPlatform, targetPlatform: targetPlatform,
buildMode: buildMode,
additionalContent: <String, DevFSContent>{ additionalContent: <String, DevFSContent>{
'version.json': DevFSStringContent(versionInfo), 'version.json': DevFSStringContent(versionInfo),
}, },
......
...@@ -438,7 +438,6 @@ abstract class MacOSBundleFlutterAssets extends Target { ...@@ -438,7 +438,6 @@ abstract class MacOSBundleFlutterAssets extends Target {
environment, environment,
assetDirectory, assetDirectory,
targetPlatform: TargetPlatform.darwin, targetPlatform: TargetPlatform.darwin,
buildMode: buildMode,
flavor: environment.defines[kFlavor], flavor: environment.defines[kFlavor],
); );
environment.depFileService.writeToFile( environment.depFileService.writeToFile(
......
...@@ -380,21 +380,13 @@ class WebReleaseBundle extends Target { ...@@ -380,21 +380,13 @@ class WebReleaseBundle extends Target {
} }
} }
final String? buildModeEnvironment = environment.defines[kBuildMode];
if (buildModeEnvironment == null) {
throw MissingDefineException(kBuildMode, name);
}
final BuildMode buildMode = BuildMode.fromCliName(buildModeEnvironment);
createVersionFile(environment, environment.defines); createVersionFile(environment, environment.defines);
final Directory outputDirectory = environment.outputDir.childDirectory('assets'); final Directory outputDirectory = environment.outputDir.childDirectory('assets');
outputDirectory.createSync(recursive: true); outputDirectory.createSync(recursive: true);
final Depfile depfile = await copyAssets( final Depfile depfile = await copyAssets(
environment, environment,
environment.outputDir.childDirectory('assets'), environment.outputDir.childDirectory('assets'),
targetPlatform: TargetPlatform.web_javascript, targetPlatform: TargetPlatform.web_javascript,
buildMode: buildMode,
); );
final DepfileService depfileService = environment.depFileService; final DepfileService depfileService = environment.depFileService;
depfileService.writeToFile( depfileService.writeToFile(
......
...@@ -142,7 +142,6 @@ abstract class BundleWindowsAssets extends Target { ...@@ -142,7 +142,6 @@ abstract class BundleWindowsAssets extends Target {
environment, environment,
outputDirectory, outputDirectory,
targetPlatform: targetPlatform, targetPlatform: targetPlatform,
buildMode: buildMode,
); );
environment.depFileService.writeToFile( environment.depFileService.writeToFile(
depfile, depfile,
......
...@@ -12,7 +12,6 @@ import '../../base/error_handling_io.dart'; ...@@ -12,7 +12,6 @@ import '../../base/error_handling_io.dart';
import '../../base/file_system.dart'; import '../../base/file_system.dart';
import '../../base/io.dart'; import '../../base/io.dart';
import '../../base/logger.dart'; import '../../base/logger.dart';
import '../../build_info.dart';
import '../../devfs.dart'; import '../../devfs.dart';
import '../../flutter_manifest.dart'; import '../../flutter_manifest.dart';
import '../build_system.dart'; import '../build_system.dart';
...@@ -23,18 +22,13 @@ final class AssetTransformer { ...@@ -23,18 +22,13 @@ final class AssetTransformer {
required ProcessManager processManager, required ProcessManager processManager,
required FileSystem fileSystem, required FileSystem fileSystem,
required String dartBinaryPath, required String dartBinaryPath,
required BuildMode buildMode,
}) : _processManager = processManager, }) : _processManager = processManager,
_fileSystem = fileSystem, _fileSystem = fileSystem,
_dartBinaryPath = dartBinaryPath, _dartBinaryPath = dartBinaryPath;
_buildMode = buildMode;
static const String buildModeEnvVar = 'FLUTTER_BUILD_MODE';
final ProcessManager _processManager; final ProcessManager _processManager;
final FileSystem _fileSystem; final FileSystem _fileSystem;
final String _dartBinaryPath; final String _dartBinaryPath;
final BuildMode _buildMode;
/// The [Source] inputs that targets using this should depend on. /// The [Source] inputs that targets using this should depend on.
/// ///
...@@ -121,9 +115,6 @@ final class AssetTransformer { ...@@ -121,9 +115,6 @@ final class AssetTransformer {
final ProcessResult result = await _processManager.run( final ProcessResult result = await _processManager.run(
command, command,
workingDirectory: workingDirectory, workingDirectory: workingDirectory,
environment: <String, String>{
AssetTransformer.buildModeEnvVar: _buildMode.cliName,
}
); );
final String stdout = result.stdout as String; final String stdout = result.stdout as String;
final String stderr = result.stderr as String; final String stderr = result.stderr as String;
......
...@@ -442,7 +442,6 @@ class DevFS { ...@@ -442,7 +442,6 @@ class DevFS {
required FileSystem fileSystem, required FileSystem fileSystem,
required ProcessManager processManager, required ProcessManager processManager,
required Artifacts artifacts, required Artifacts artifacts,
required BuildMode buildMode,
HttpClient? httpClient, HttpClient? httpClient,
Duration? uploadRetryThrottle, Duration? uploadRetryThrottle,
StopwatchFactory stopwatchFactory = const StopwatchFactory(), StopwatchFactory stopwatchFactory = const StopwatchFactory(),
...@@ -466,7 +465,6 @@ class DevFS { ...@@ -466,7 +465,6 @@ class DevFS {
processManager: processManager, processManager: processManager,
fileSystem: fileSystem, fileSystem: fileSystem,
dartBinaryPath: artifacts.getArtifactPath(Artifact.engineDartBinary), dartBinaryPath: artifacts.getArtifactPath(Artifact.engineDartBinary),
buildMode: buildMode,
), ),
fileSystem: fileSystem, fileSystem: fileSystem,
logger: logger, logger: logger,
......
...@@ -387,7 +387,6 @@ class FlutterDevice { ...@@ -387,7 +387,6 @@ class FlutterDevice {
logger: globals.logger, logger: globals.logger,
processManager: globals.processManager, processManager: globals.processManager,
artifacts: globals.artifacts!, artifacts: globals.artifacts!,
buildMode: buildInfo.mode,
); );
return devFS!.create(); return devFS!.create();
} }
......
...@@ -8,7 +8,6 @@ import 'package:file_testing/file_testing.dart'; ...@@ -8,7 +8,6 @@ import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/artifacts.dart';
import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/build_system/tools/asset_transformer.dart'; import 'package:flutter_tools/src/build_system/tools/asset_transformer.dart';
import 'package:flutter_tools/src/flutter_manifest.dart'; import 'package:flutter_tools/src/flutter_manifest.dart';
...@@ -54,7 +53,6 @@ void main() { ...@@ -54,7 +53,6 @@ void main() {
processManager: processManager, processManager: processManager,
fileSystem: fileSystem, fileSystem: fileSystem,
dartBinaryPath: artifacts.getArtifactPath(Artifact.engineDartBinary), dartBinaryPath: artifacts.getArtifactPath(Artifact.engineDartBinary),
buildMode: BuildMode.debug,
); );
final AssetTransformationFailure? transformationFailure = await transformer.transformAsset( final AssetTransformationFailure? transformationFailure = await transformer.transformAsset(
...@@ -114,7 +112,6 @@ void main() { ...@@ -114,7 +112,6 @@ void main() {
processManager: processManager, processManager: processManager,
fileSystem: fileSystem, fileSystem: fileSystem,
dartBinaryPath: dartBinaryPath, dartBinaryPath: dartBinaryPath,
buildMode: BuildMode.debug,
); );
final AssetTransformationFailure? failure = await transformer.transformAsset( final AssetTransformationFailure? failure = await transformer.transformAsset(
...@@ -174,7 +171,6 @@ Something went wrong'''); ...@@ -174,7 +171,6 @@ Something went wrong''');
processManager: processManager, processManager: processManager,
fileSystem: fileSystem, fileSystem: fileSystem,
dartBinaryPath: dartBinaryPath, dartBinaryPath: dartBinaryPath,
buildMode: BuildMode.debug,
); );
final AssetTransformationFailure? failure = await transformer.transformAsset( final AssetTransformationFailure? failure = await transformer.transformAsset(
...@@ -269,7 +265,6 @@ Transformation failed, but I forgot to exit with a non-zero code.''' ...@@ -269,7 +265,6 @@ Transformation failed, but I forgot to exit with a non-zero code.'''
processManager: processManager, processManager: processManager,
fileSystem: fileSystem, fileSystem: fileSystem,
dartBinaryPath: dartBinaryPath, dartBinaryPath: dartBinaryPath,
buildMode: BuildMode.debug,
); );
final AssetTransformationFailure? failure = await transformer.transformAsset( final AssetTransformationFailure? failure = await transformer.transformAsset(
...@@ -336,10 +331,7 @@ Transformation failed, but I forgot to exit with a non-zero code.''' ...@@ -336,10 +331,7 @@ Transformation failed, but I forgot to exit with a non-zero code.'''
onRun: (List<String> args) { onRun: (List<String> args) {
// Do nothing. // Do nothing.
}, },
stderr: 'Transformation failed, but I forgot to exit with a non-zero code.', stderr: 'Transformation failed, but I forgot to exit with a non-zero code.'
environment: const <String, String>{
'FLUTTER_BUILD_MODE': 'debug',
},
), ),
]); ]);
...@@ -347,7 +339,6 @@ Transformation failed, but I forgot to exit with a non-zero code.''' ...@@ -347,7 +339,6 @@ Transformation failed, but I forgot to exit with a non-zero code.'''
processManager: processManager, processManager: processManager,
fileSystem: fileSystem, fileSystem: fileSystem,
dartBinaryPath: dartBinaryPath, dartBinaryPath: dartBinaryPath,
buildMode: BuildMode.debug,
); );
final AssetTransformationFailure? failure = await transformer.transformAsset( final AssetTransformationFailure? failure = await transformer.transformAsset(
......
...@@ -38,9 +38,7 @@ void main() { ...@@ -38,9 +38,7 @@ void main() {
fileSystem: fileSystem, fileSystem: fileSystem,
logger: BufferLogger.test(), logger: BufferLogger.test(),
platform: FakePlatform(), platform: FakePlatform(),
defines: <String, String>{ defines: <String, String>{},
kBuildMode: BuildMode.debug.cliName,
},
); );
fileSystem.file(environment.buildDir.childFile('app.dill')).createSync(recursive: true); fileSystem.file(environment.buildDir.childFile('app.dill')).createSync(recursive: true);
fileSystem.file('packages/flutter_tools/lib/src/build_system/targets/assets.dart') fileSystem.file('packages/flutter_tools/lib/src/build_system/targets/assets.dart')
...@@ -180,9 +178,7 @@ flutter: ...@@ -180,9 +178,7 @@ flutter:
fileSystem: fileSystem, fileSystem: fileSystem,
logger: logger, logger: logger,
platform: globals.platform, platform: globals.platform,
defines: <String, String>{ defines: <String, String>{},
kBuildMode: BuildMode.debug.cliName,
},
); );
await fileSystem.file('.packages').create(); await fileSystem.file('.packages').create();
...@@ -266,9 +262,7 @@ flutter: ...@@ -266,9 +262,7 @@ flutter:
fileSystem: fileSystem, fileSystem: fileSystem,
logger: logger, logger: logger,
platform: globals.platform, platform: globals.platform,
defines: <String, String>{ defines: <String, String>{},
kBuildMode: BuildMode.debug.cliName,
},
); );
await fileSystem.file('.packages').create(); await fileSystem.file('.packages').create();
......
...@@ -68,7 +68,6 @@ void main() { ...@@ -68,7 +68,6 @@ void main() {
outputDir: globals.fs.currentDirectory.childDirectory('bar'), outputDir: globals.fs.currentDirectory.childDirectory('bar'),
defines: <String, String>{ defines: <String, String>{
kTargetFile: globals.fs.path.join('foo', 'lib', 'main.dart'), kTargetFile: globals.fs.path.join('foo', 'lib', 'main.dart'),
kBuildMode: BuildMode.debug.cliName,
}, },
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
processManager: processManager, processManager: processManager,
......
...@@ -135,7 +135,6 @@ void main() { ...@@ -135,7 +135,6 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
expect(() async => devFS.create(), throwsA(isA<DevFSException>())); expect(() async => devFS.create(), throwsA(isA<DevFSException>()));
}); });
...@@ -161,7 +160,6 @@ void main() { ...@@ -161,7 +160,6 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
expect(await devFS.create(), isNotNull); expect(await devFS.create(), isNotNull);
...@@ -212,7 +210,6 @@ void main() { ...@@ -212,7 +210,6 @@ void main() {
uploadRetryThrottle: Duration.zero, uploadRetryThrottle: Duration.zero,
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -248,7 +245,6 @@ void main() { ...@@ -248,7 +245,6 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -291,7 +287,6 @@ void main() { ...@@ -291,7 +287,6 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -336,7 +331,6 @@ void main() { ...@@ -336,7 +331,6 @@ void main() {
httpClient: HttpClient(), httpClient: HttpClient(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -388,7 +382,6 @@ void main() { ...@@ -388,7 +382,6 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -468,7 +461,6 @@ void main() { ...@@ -468,7 +461,6 @@ void main() {
}), }),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -515,7 +507,6 @@ void main() { ...@@ -515,7 +507,6 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -621,8 +612,7 @@ void main() { ...@@ -621,8 +612,7 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
config: Config.test(), config: Config.test(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -680,8 +670,7 @@ void main() { ...@@ -680,8 +670,7 @@ void main() {
httpClient: FakeHttpClient.any(), httpClient: FakeHttpClient.any(),
config: Config.test(), config: Config.test(),
processManager: FakeProcessManager.empty(), processManager: FakeProcessManager.empty(),
artifacts: Artifacts.test(), artifacts: Artifacts.test(),
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -774,7 +763,6 @@ void main() { ...@@ -774,7 +763,6 @@ void main() {
config: Config.test(), config: Config.test(),
processManager: processManager, processManager: processManager,
artifacts: artifacts, artifacts: artifacts,
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
...@@ -855,7 +843,6 @@ void main() { ...@@ -855,7 +843,6 @@ void main() {
config: Config.test(), config: Config.test(),
processManager: processManager, processManager: processManager,
artifacts: artifacts, artifacts: artifacts,
buildMode: BuildMode.debug,
); );
await devFS.create(); await devFS.create();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment