Friendlier flutter tool messages for dynamic mode (#26378)
diff --git a/packages/flutter_tools/lib/src/build_info.dart b/packages/flutter_tools/lib/src/build_info.dart index f4d16db..7e4152a 100644 --- a/packages/flutter_tools/lib/src/build_info.dart +++ b/packages/flutter_tools/lib/src/build_info.dart
@@ -119,6 +119,7 @@ bool get supportsEmulator => isEmulatorBuildMode(mode); bool get supportsSimulator => isEmulatorBuildMode(mode); String get modeName => getModeName(mode); + String get friendlyModeName => getFriendlyModeName(mode); BuildInfo withTargetPlatform(TargetPlatform targetPlatform) => BuildInfo(mode, flavor, @@ -142,6 +143,10 @@ String getModeName(BuildMode mode) => getEnumName(mode); +String getFriendlyModeName(BuildMode mode) { + return snakeCase(getModeName(mode)).replaceAll('_', ' '); +} + // Returns true if the selected build mode uses ahead-of-time compilation. bool isAotBuildMode(BuildMode mode) { return mode == BuildMode.profile || mode == BuildMode.release;
diff --git a/packages/flutter_tools/lib/src/bundle.dart b/packages/flutter_tools/lib/src/bundle.dart index 57b2c32..e90ce9b 100644 --- a/packages/flutter_tools/lib/src/bundle.dart +++ b/packages/flutter_tools/lib/src/bundle.dart
@@ -85,7 +85,7 @@ } else if (!fs.file(compilationTraceFilePath).existsSync()) { // Be forgiving if compilation trace file is missing. - printError('Warning: Ignoring missing compilation training file $compilationTraceFilePath.'); + printStatus('No compilation trace available. To optimize performance, consider using --train.'); final File tmp = fs.systemTempDirectory.childFile('flutterEmptyCompilationTrace.txt'); compilationTraceFilePath = (tmp..createSync(recursive: true)).path;
diff --git a/packages/flutter_tools/lib/src/commands/build_aot.dart b/packages/flutter_tools/lib/src/commands/build_aot.dart index d7ad96e..e7d40f7 100644 --- a/packages/flutter_tools/lib/src/commands/build_aot.dart +++ b/packages/flutter_tools/lib/src/commands/build_aot.dart
@@ -70,7 +70,7 @@ if (!argResults['quiet']) { final String typeName = artifacts.getEngineType(platform, buildMode); status = logger.startProgress( - 'Building AOT snapshot in ${getModeName(getBuildMode())} mode ($typeName)...', + 'Building AOT snapshot in ${getFriendlyModeName(getBuildMode())} mode ($typeName)...', expectSlowOperation: true, ); }
diff --git a/packages/flutter_tools/lib/src/commands/build_ios.dart b/packages/flutter_tools/lib/src/commands/build_ios.dart index e34c5eb..539eb76 100644 --- a/packages/flutter_tools/lib/src/commands/build_ios.dart +++ b/packages/flutter_tools/lib/src/commands/build_ios.dart
@@ -70,7 +70,7 @@ } final BuildInfo buildInfo = getBuildInfo(); if (forSimulator && !buildInfo.supportsSimulator) - throwToolExit('${toTitleCase(buildInfo.modeName)} mode is not supported for simulators.'); + throwToolExit('${toTitleCase(buildInfo.friendlyModeName)} mode is not supported for simulators.'); final String logTarget = forSimulator ? 'simulator' : 'device';
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart index 30b5d70..55f331f 100644 --- a/packages/flutter_tools/lib/src/commands/daemon.dart +++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -342,7 +342,7 @@ String isolateFilter, }) async { if (await device.isLocalEmulator && !options.buildInfo.supportsEmulator) { - throw '${toTitleCase(options.buildInfo.modeName)} mode is not supported for emulators.'; + throw '${toTitleCase(options.buildInfo.friendlyModeName)} mode is not supported for emulators.'; } // We change the current working directory for the duration of the `start` command.
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index 8964018..f68518a 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -303,7 +303,7 @@ } if (!isEmulatorBuildMode(getBuildMode())) { - throwToolExit('${toTitleCase(getModeName(getBuildMode()))} mode is not supported for emulators.'); + throwToolExit('${toTitleCase(getFriendlyModeName(getBuildMode()))} mode is not supported for emulators.'); } } }
diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index 4bd5dd4..50eb8ff 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -265,7 +265,7 @@ bool shouldBuild, }) async { final bool prebuiltMode = hotRunner.applicationBinary != null; - final String modeName = hotRunner.debuggingOptions.buildInfo.modeName; + final String modeName = hotRunner.debuggingOptions.buildInfo.friendlyModeName; printStatus('Launching ${getDisplayPath(hotRunner.mainPath)} on ${device.name} in $modeName mode...'); final TargetPlatform targetPlatform = await device.targetPlatform; @@ -324,7 +324,7 @@ applicationBinary: coldRunner.applicationBinary ); - final String modeName = coldRunner.debuggingOptions.buildInfo.modeName; + final String modeName = coldRunner.debuggingOptions.buildInfo.friendlyModeName; final bool prebuiltMode = coldRunner.applicationBinary != null; if (coldRunner.mainPath == null) { assert(prebuiltMode);