Unverified Commit 6d2b5ea3 authored by Arne Molland's avatar Arne Molland Committed by GitHub

Fix inconsistently suffixed macOS flavored bundle directory (#127997)

The current implementation of macOS flavor support (#119564) assumes a bundle directory that differs from both the iOS implementation and the official documentation. The [documentation](https://docs.flutter.dev/deployment/flavors) instructs developers to suffix their Xcode build configurations with `-<flavor>`, but the implementation assumes a space:

https://github.com/flutter/flutter/blob/5fd9ef4240d3fc239f042f49b8eb1ad24260091f/packages/flutter_tools/lib/src/macos/application_package.dart#L174-L178

Whereas the iOS implementation, which is the reference for the docs, assumes a `-<flavor>` suffix:

https://github.com/flutter/flutter/blob/a257efc2841ed7042322fbd043f0983e705d7da2/packages/flutter_tools/lib/src/ios/xcodeproj.dart#L482-L488

This change replaces the empty space with the `-` character which is in line with the documentation and iOS implementation, as well as removing the sentence-casing applied to the flavor name; every bundle built with a flavor keeps the original flavor name in its filename.

*List which issues are fixed by this PR. You must list at least one issue.*
#122684.

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
parent 7d950864
...@@ -173,7 +173,7 @@ class BuildableMacOSApp extends MacOSApp { ...@@ -173,7 +173,7 @@ class BuildableMacOSApp extends MacOSApp {
String bundleDirectory(BuildInfo buildInfo) { String bundleDirectory(BuildInfo buildInfo) {
return sentenceCase(buildInfo.mode.cliName) + (buildInfo.flavor != null return sentenceCase(buildInfo.mode.cliName) + (buildInfo.flavor != null
? ' ${sentenceCase(buildInfo.flavor!)}' ? '-${buildInfo.flavor!}'
: ''); : '');
} }
......
...@@ -167,7 +167,7 @@ group('PrebuiltMacOSApp', () { ...@@ -167,7 +167,7 @@ group('PrebuiltMacOSApp', () {
const BuildInfo flavoredApp = BuildInfo(BuildMode.release, 'flavor', treeShakeIcons: false); const BuildInfo flavoredApp = BuildInfo(BuildMode.release, 'flavor', treeShakeIcons: false);
applicationBundle = macosApp.bundleDirectory(flavoredApp); applicationBundle = macosApp.bundleDirectory(flavoredApp);
expect(applicationBundle, 'Release Flavor'); expect(applicationBundle, 'Release-flavor');
}, overrides: overrides); }, overrides: overrides);
}); });
......
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