make sure profile is forwarded through build web command (#39414)
diff --git a/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart b/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart
index 749863b..a62eccb 100644
--- a/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart
+++ b/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart
@@ -22,6 +22,7 @@
import '../base/file_system.dart';
import '../base/logger.dart';
import '../base/platform.dart';
+import '../build_info.dart';
import '../compile.dart';
import '../convert.dart';
import '../dart/package_map.dart';
@@ -41,7 +42,7 @@
Future<bool> initialize({
Directory projectDirectory,
String testOutputDir,
- bool release = false,
+ BuildMode mode,
}) async {
// Create the .dart_tool directory if it doesn't exist.
projectDirectory.childDirectory('.dart_tool').createSync();
@@ -92,7 +93,7 @@
result = await _runBuilder(
buildEnvironment,
buildOptions,
- release,
+ mode,
buildDirs,
);
return result.status == core.BuildStatus.success;
@@ -101,7 +102,7 @@
result = await _runBuilder(
buildEnvironment,
buildOptions,
- release,
+ mode,
buildDirs,
);
return result.status == core.BuildStatus.success;
@@ -110,7 +111,7 @@
result = await _runBuilder(
buildEnvironment,
buildOptions,
- release,
+ mode,
buildDirs,
);
return result.status == core.BuildStatus.success;
@@ -135,7 +136,7 @@
return result.status == core.BuildStatus.success;
}
- Future<core.BuildResult> _runBuilder(core.BuildEnvironment buildEnvironment, BuildOptions buildOptions, bool release, Set<core.BuildDirectory> buildDirs) async {
+ Future<core.BuildResult> _runBuilder(core.BuildEnvironment buildEnvironment, BuildOptions buildOptions, BuildMode buildMode, Set<core.BuildDirectory> buildDirs) async {
_builder = await BuildImpl.create(
buildOptions,
buildEnvironment,
@@ -145,11 +146,13 @@
'flutterWebSdk': artifacts.getArtifactPath(Artifact.flutterWebSdk),
},
'flutter_tools:entrypoint': <String, dynamic>{
- 'release': release,
+ 'release': buildMode == BuildMode.release,
'flutterWebSdk': artifacts.getArtifactPath(Artifact.flutterWebSdk),
+ 'profile': buildMode == BuildMode.profile,
},
'flutter_tools:test_entrypoint': <String, dynamic>{
- 'release': release,
+ 'release': buildMode == BuildMode.release,
+ 'profile': buildMode == BuildMode.profile,
},
},
isReleaseBuild: false,
diff --git a/packages/flutter_tools/lib/src/web/compile.dart b/packages/flutter_tools/lib/src/web/compile.dart
index d241998..94bd2ac 100644
--- a/packages/flutter_tools/lib/src/web/compile.dart
+++ b/packages/flutter_tools/lib/src/web/compile.dart
@@ -30,7 +30,7 @@
try {
result = await webCompilationProxy.initialize(
projectDirectory: FlutterProject.current().directory,
- release: buildInfo.isRelease,
+ mode: buildInfo.mode,
);
if (result) {
// Places assets adjacent to the web stuff.
@@ -81,7 +81,7 @@
Future<bool> initialize({
@required Directory projectDirectory,
String testOutputDir,
- bool release,
+ BuildMode mode,
}) async {
throw UnimplementedError();
}
diff --git a/packages/flutter_tools/test/general.shard/commands/build_web_test.dart b/packages/flutter_tools/test/general.shard/commands/build_web_test.dart
index 201287e..d245464 100644
--- a/packages/flutter_tools/test/general.shard/commands/build_web_test.dart
+++ b/packages/flutter_tools/test/general.shard/commands/build_web_test.dart
@@ -41,7 +41,7 @@
fs.file(fs.path.join('lib', 'main.dart')).createSync(recursive: true);
when(mockWebCompilationProxy.initialize(
projectDirectory: anyNamed('projectDirectory'),
- release: anyNamed('release')
+ mode: anyNamed('mode')
)).thenAnswer((Invocation invocation) {
final String path = fs.path.join('.dart_tool', 'build', 'flutter_web', 'foo', 'lib', 'main_web_entrypoint.dart.js');
fs.file(path).createSync(recursive: true);