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:

5fd9ef4240/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:

a257efc284/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].*
This commit is contained in:
Arne Molland 2023-06-15 01:43:17 +02:00 committed by GitHub
parent 7d950864a1
commit 6d2b5ea30e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View File

@ -173,7 +173,7 @@ class BuildableMacOSApp extends MacOSApp {
String bundleDirectory(BuildInfo buildInfo) {
return sentenceCase(buildInfo.mode.cliName) + (buildInfo.flavor != null
? ' ${sentenceCase(buildInfo.flavor!)}'
? '-${buildInfo.flavor!}'
: '');
}

View File

@ -167,7 +167,7 @@ group('PrebuiltMacOSApp', () {
const BuildInfo flavoredApp = BuildInfo(BuildMode.release, 'flavor', treeShakeIcons: false);
applicationBundle = macosApp.bundleDirectory(flavoredApp);
expect(applicationBundle, 'Release Flavor');
expect(applicationBundle, 'Release-flavor');
}, overrides: overrides);
});