Skip to content

Commit 187ec75

Browse files
Reverts "Expose build mode in environment of asset transformer processes (flutter#144752)" (flutter#144957)
Reverts: 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 flutter#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 flutter#101077 (comment): > 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…](flutter@579912d). The rest of the change is updating call sites with a new argument.
1 parent 83fad74 commit 187ec75

File tree

13 files changed

+9
-70
lines changed

13 files changed

+9
-70
lines changed

packages/flutter_tools/lib/src/build_system/targets/assets.dart

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import '../../devfs.dart';
1515
import '../../flutter_manifest.dart';
1616
import '../build_system.dart';
1717
import '../depfile.dart';
18-
import '../exceptions.dart';
1918
import '../tools/asset_transformer.dart';
2019
import '../tools/scene_importer.dart';
2120
import '../tools/shader_compiler.dart';
@@ -36,7 +35,7 @@ Future<Depfile> copyAssets(
3635
Directory outputDirectory, {
3736
Map<String, DevFSContent> additionalContent = const <String, DevFSContent>{},
3837
required TargetPlatform targetPlatform,
39-
required BuildMode buildMode,
38+
BuildMode? buildMode,
4039
List<File> additionalInputs = const <File>[],
4140
String? flavor,
4241
}) async {
@@ -102,7 +101,6 @@ Future<Depfile> copyAssets(
102101
processManager: environment.processManager,
103102
fileSystem: environment.fileSystem,
104103
dartBinaryPath: environment.artifacts.getArtifactPath(Artifact.engineDartBinary),
105-
buildMode: buildMode,
106104
);
107105

108106
final Map<String, AssetBundleEntry> assetEntries = <String, AssetBundleEntry>{
@@ -188,7 +186,7 @@ Future<Depfile> copyAssets(
188186
// Copy deferred components assets only for release or profile builds.
189187
// The assets are included in assetBundle.entries as a normal asset when
190188
// building as debug.
191-
if (environment.defines[kDeferredComponents] == 'true') {
189+
if (environment.defines[kDeferredComponents] == 'true' && buildMode != null) {
192190
await Future.wait<void>(assetBundle.deferredComponentsEntries.entries.map<Future<void>>(
193191
(MapEntry<String, Map<String, AssetBundleEntry>> componentEntries) async {
194192
final Directory componentOutputDir =
@@ -345,11 +343,6 @@ class CopyAssets extends Target {
345343

346344
@override
347345
Future<void> build(Environment environment) async {
348-
final String? buildModeEnvironment = environment.defines[kBuildMode];
349-
if (buildModeEnvironment == null) {
350-
throw MissingDefineException(kBuildMode, name);
351-
}
352-
final BuildMode buildMode = BuildMode.fromCliName(buildModeEnvironment);
353346
final Directory output = environment
354347
.buildDir
355348
.childDirectory('flutter_assets');
@@ -358,7 +351,6 @@ class CopyAssets extends Target {
358351
environment,
359352
output,
360353
targetPlatform: TargetPlatform.android,
361-
buildMode: buildMode,
362354
flavor: environment.defines[kFlavor],
363355
);
364356
environment.depFileService.writeToFile(

packages/flutter_tools/lib/src/build_system/targets/ios.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,6 @@ abstract class IosAssetBundle extends Target {
503503
environment,
504504
assetDirectory,
505505
targetPlatform: TargetPlatform.ios,
506-
buildMode: buildMode,
507506
additionalInputs: <File>[
508507
flutterProject.ios.infoPlist,
509508
flutterProject.ios.appFrameworkInfoPlist,

packages/flutter_tools/lib/src/build_system/targets/linux.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ abstract class BundleLinuxAssets extends Target {
137137
environment,
138138
outputDirectory,
139139
targetPlatform: targetPlatform,
140-
buildMode: buildMode,
141140
additionalContent: <String, DevFSContent>{
142141
'version.json': DevFSStringContent(versionInfo),
143142
},

packages/flutter_tools/lib/src/build_system/targets/macos.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,6 @@ abstract class MacOSBundleFlutterAssets extends Target {
438438
environment,
439439
assetDirectory,
440440
targetPlatform: TargetPlatform.darwin,
441-
buildMode: buildMode,
442441
flavor: environment.defines[kFlavor],
443442
);
444443
environment.depFileService.writeToFile(

packages/flutter_tools/lib/src/build_system/targets/web.dart

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -380,21 +380,13 @@ class WebReleaseBundle extends Target {
380380
}
381381
}
382382

383-
final String? buildModeEnvironment = environment.defines[kBuildMode];
384-
if (buildModeEnvironment == null) {
385-
throw MissingDefineException(kBuildMode, name);
386-
}
387-
final BuildMode buildMode = BuildMode.fromCliName(buildModeEnvironment);
388-
389383
createVersionFile(environment, environment.defines);
390384
final Directory outputDirectory = environment.outputDir.childDirectory('assets');
391385
outputDirectory.createSync(recursive: true);
392-
393386
final Depfile depfile = await copyAssets(
394387
environment,
395388
environment.outputDir.childDirectory('assets'),
396389
targetPlatform: TargetPlatform.web_javascript,
397-
buildMode: buildMode,
398390
);
399391
final DepfileService depfileService = environment.depFileService;
400392
depfileService.writeToFile(

packages/flutter_tools/lib/src/build_system/targets/windows.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ abstract class BundleWindowsAssets extends Target {
142142
environment,
143143
outputDirectory,
144144
targetPlatform: targetPlatform,
145-
buildMode: buildMode,
146145
);
147146
environment.depFileService.writeToFile(
148147
depfile,

packages/flutter_tools/lib/src/build_system/tools/asset_transformer.dart

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import '../../base/error_handling_io.dart';
1212
import '../../base/file_system.dart';
1313
import '../../base/io.dart';
1414
import '../../base/logger.dart';
15-
import '../../build_info.dart';
1615
import '../../devfs.dart';
1716
import '../../flutter_manifest.dart';
1817
import '../build_system.dart';
@@ -23,18 +22,13 @@ final class AssetTransformer {
2322
required ProcessManager processManager,
2423
required FileSystem fileSystem,
2524
required String dartBinaryPath,
26-
required BuildMode buildMode,
2725
}) : _processManager = processManager,
2826
_fileSystem = fileSystem,
29-
_dartBinaryPath = dartBinaryPath,
30-
_buildMode = buildMode;
31-
32-
static const String buildModeEnvVar = 'FLUTTER_BUILD_MODE';
27+
_dartBinaryPath = dartBinaryPath;
3328

3429
final ProcessManager _processManager;
3530
final FileSystem _fileSystem;
3631
final String _dartBinaryPath;
37-
final BuildMode _buildMode;
3832

3933
/// The [Source] inputs that targets using this should depend on.
4034
///
@@ -121,9 +115,6 @@ final class AssetTransformer {
121115
final ProcessResult result = await _processManager.run(
122116
command,
123117
workingDirectory: workingDirectory,
124-
environment: <String, String>{
125-
AssetTransformer.buildModeEnvVar: _buildMode.cliName,
126-
}
127118
);
128119
final String stdout = result.stdout as String;
129120
final String stderr = result.stderr as String;

packages/flutter_tools/lib/src/devfs.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,6 @@ class DevFS {
442442
required FileSystem fileSystem,
443443
required ProcessManager processManager,
444444
required Artifacts artifacts,
445-
required BuildMode buildMode,
446445
HttpClient? httpClient,
447446
Duration? uploadRetryThrottle,
448447
StopwatchFactory stopwatchFactory = const StopwatchFactory(),
@@ -466,7 +465,6 @@ class DevFS {
466465
processManager: processManager,
467466
fileSystem: fileSystem,
468467
dartBinaryPath: artifacts.getArtifactPath(Artifact.engineDartBinary),
469-
buildMode: buildMode,
470468
),
471469
fileSystem: fileSystem,
472470
logger: logger,

packages/flutter_tools/lib/src/resident_runner.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,6 @@ class FlutterDevice {
387387
logger: globals.logger,
388388
processManager: globals.processManager,
389389
artifacts: globals.artifacts!,
390-
buildMode: buildInfo.mode,
391390
);
392391
return devFS!.create();
393392
}

packages/flutter_tools/test/general.shard/build_system/targets/asset_transformer_test.dart

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:file_testing/file_testing.dart';
88
import 'package:flutter_tools/src/artifacts.dart';
99
import 'package:flutter_tools/src/base/file_system.dart';
1010
import 'package:flutter_tools/src/base/logger.dart';
11-
import 'package:flutter_tools/src/build_info.dart';
1211
import 'package:flutter_tools/src/build_system/tools/asset_transformer.dart';
1312
import 'package:flutter_tools/src/flutter_manifest.dart';
1413

@@ -54,7 +53,6 @@ void main() {
5453
processManager: processManager,
5554
fileSystem: fileSystem,
5655
dartBinaryPath: artifacts.getArtifactPath(Artifact.engineDartBinary),
57-
buildMode: BuildMode.debug,
5856
);
5957

6058
final AssetTransformationFailure? transformationFailure = await transformer.transformAsset(
@@ -114,7 +112,6 @@ void main() {
114112
processManager: processManager,
115113
fileSystem: fileSystem,
116114
dartBinaryPath: dartBinaryPath,
117-
buildMode: BuildMode.debug,
118115
);
119116

120117
final AssetTransformationFailure? failure = await transformer.transformAsset(
@@ -174,7 +171,6 @@ Something went wrong''');
174171
processManager: processManager,
175172
fileSystem: fileSystem,
176173
dartBinaryPath: dartBinaryPath,
177-
buildMode: BuildMode.debug,
178174
);
179175

180176
final AssetTransformationFailure? failure = await transformer.transformAsset(
@@ -269,7 +265,6 @@ Transformation failed, but I forgot to exit with a non-zero code.'''
269265
processManager: processManager,
270266
fileSystem: fileSystem,
271267
dartBinaryPath: dartBinaryPath,
272-
buildMode: BuildMode.debug,
273268
);
274269

275270
final AssetTransformationFailure? failure = await transformer.transformAsset(
@@ -336,18 +331,14 @@ Transformation failed, but I forgot to exit with a non-zero code.'''
336331
onRun: (List<String> args) {
337332
// Do nothing.
338333
},
339-
stderr: 'Transformation failed, but I forgot to exit with a non-zero code.',
340-
environment: const <String, String>{
341-
'FLUTTER_BUILD_MODE': 'debug',
342-
},
334+
stderr: 'Transformation failed, but I forgot to exit with a non-zero code.'
343335
),
344336
]);
345337

346338
final AssetTransformer transformer = AssetTransformer(
347339
processManager: processManager,
348340
fileSystem: fileSystem,
349341
dartBinaryPath: dartBinaryPath,
350-
buildMode: BuildMode.debug,
351342
);
352343

353344
final AssetTransformationFailure? failure = await transformer.transformAsset(

0 commit comments

Comments
 (0)