Skip to content

Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build)#158

Merged
eseidel merged 5 commits into
shorebird/devfrom
shorebird/bump-flutter-flavorizr
Jun 5, 2026
Merged

Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build)#158
eseidel merged 5 commits into
shorebird/devfrom
shorebird/bump-flutter-flavorizr

Conversation

@eseidel

@eseidel eseidel commented Jun 5, 2026

Copy link
Copy Markdown

What

Fixes the remaining red check on shorebird/devShorebird Android Tests — by bumping flutter_flavorizr from a stale fork pin to the published ^2.5.0.

Why it was failing

Two flavor tests fail on 3.44.1 with:

flutter build apk --flavor=internal → exit 1
build.gradle.kts line 19:
  Product Flavor playStore contains custom resource values, but the feature is disabled.

The test (shorebird_tests, our own) scaffolds flavors with flutter_flavorizr pinned to wjlee611/flutter_flavorizr@chore/temp-migrate-3-29 — a fork for Flutter 3.29 support (AngeloAvv/flutter_flavorizr#291, which was closed unmerged). The AGP that ships with 3.44.1 disables resValues by default, and the 3.29-era generator emits resValue in product flavors without enabling the build feature, so the generated project won't configure.

Fix

Move to the published flutter_flavorizr ^2.5.0 (May 2026) — it's well past 3.29 and generates AGP-8-compatible flavor config. Also drops the stale fork pin and the felangel "revert once 3.29 support is released" TODO (that intent is now satisfied by the published package).

Verification

Relying on CI (the Android Tests run a real flutter build apk --flavor, which is the exact thing that was failing). The flavor-id and resource tests should go green.

For fork-maintenance review (Brandon owns the fork now).

eseidel added 3 commits June 4, 2026 20:47
The Shorebird Android Tests' flavor builds fail on 3.44.1:

    Product Flavor playStore contains custom resource values,
    but the feature is disabled.

The test scaffolds flavors with flutter_flavorizr pinned to a fork at a
Flutter-3.29-era ref (AngeloAvv/flutter_flavorizr#291, which was never
merged). The AGP that ships with 3.44.1 disables resValues by default, and
the 3.29-era generator doesn't enable the build feature, so the generated
project won't configure.

Move to the published flutter_flavorizr ^2.5.0, which has moved well past
3.29 and generates AGP-8-compatible flavor config. Removes the stale fork
pin + felangel TODO.
flutter_flavorizr 2.5.0 added an interactive 'Do you want to proceed?
(Y/n)' confirmation, which throws 'No terminal attached to stdout' in CI
(both Android Tests and the Smoke build). The -f/--force flag runs it
non-interactively.
@eseidel eseidel enabled auto-merge (squash) June 5, 2026 04:04
@eseidel eseidel requested a review from bdero June 5, 2026 04:09
@eseidel eseidel marked this pull request as draft June 5, 2026 15:38
auto-merge was automatically disabled June 5, 2026 15:38

Pull request was converted to draft

@eseidel

eseidel commented Jun 5, 2026

Copy link
Copy Markdown
Author

Fixing the iOS build still.

eseidel added 2 commits June 5, 2026 08:44
…ive)

2.5.0 replaced Ruby xcodeproj with dart_xcodeproj; its generated .pbxproj
breaks 'flutter build ipa --no-codesign --flavor' (unsigned flavor archive
demands a Development Team). All versions emit identical visible signing
settings, so it's the dart_xcodeproj generation, not config — and the old
fork worked precisely because it used Ruby xcodeproj.

2.4.2 is the last Ruby-xcodeproj release and still carries the 3.29/AGP-8
resValues fix that the 3.29-era fork lacked, so it should green both the
Android (resValues) and Smoke (iOS flavor) builds.
There is no single flutter_flavorizr version that greens both checks:
2.5.0 fixes the AGP-8 resValues issue but its dart_xcodeproj rewrite breaks
the unsigned iOS flavor archive; 2.4.2 (last Ruby-xcodeproj release) fixes
iOS but predates the resValues fix.

So pin 2.4.2 (iOS works) and post-fix the one thing it misses: append
android.defaults.buildfeatures.resvalues=true to the generated
gradle.properties so the flavored 'flutter build apk' configures under AGP 8.
Wraps flavorizr rather than forking it.
@eseidel eseidel requested a review from bdero June 5, 2026 16:06
@eseidel eseidel marked this pull request as ready for review June 5, 2026 16:06
@eseidel eseidel merged commit f7221fb into shorebird/dev Jun 5, 2026
7 checks passed
@eseidel eseidel deleted the shorebird/bump-flutter-flavorizr branch June 5, 2026 16:06
mrnpro pushed a commit to Flutter-Code-Push/flutter that referenced this pull request Jun 16, 2026
…rebirdtech#158)

* Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build)

The Shorebird Android Tests' flavor builds fail on 3.44.1:

    Product Flavor playStore contains custom resource values,
    but the feature is disabled.

The test scaffolds flavors with flutter_flavorizr pinned to a fork at a
Flutter-3.29-era ref (AngeloAvv/flutter_flavorizr#291, which was never
merged). The AGP that ships with 3.44.1 disables resValues by default, and
the 3.29-era generator doesn't enable the build feature, so the generated
project won't configure.

Move to the published flutter_flavorizr ^2.5.0, which has moved well past
3.29 and generates AGP-8-compatible flavor config. Removes the stale fork
pin + felangel TODO.

* Pass -f to flutter_flavorizr (skip interactive prompt under CI)

flutter_flavorizr 2.5.0 added an interactive 'Do you want to proceed?
(Y/n)' confirmation, which throws 'No terminal attached to stdout' in CI
(both Android Tests and the Smoke build). The -f/--force flag runs it
non-interactively.

* Pin flutter_flavorizr to 2.4.2 (Ruby xcodeproj, fixes iOS flavor archive)

2.5.0 replaced Ruby xcodeproj with dart_xcodeproj; its generated .pbxproj
breaks 'flutter build ipa --no-codesign --flavor' (unsigned flavor archive
demands a Development Team). All versions emit identical visible signing
settings, so it's the dart_xcodeproj generation, not config — and the old
fork worked precisely because it used Ruby xcodeproj.

2.4.2 is the last Ruby-xcodeproj release and still carries the 3.29/AGP-8
resValues fix that the 3.29-era fork lacked, so it should green both the
Android (resValues) and Smoke (iOS flavor) builds.

* Enable resValues build feature after flavorizr (fix flavored APK)

There is no single flutter_flavorizr version that greens both checks:
2.5.0 fixes the AGP-8 resValues issue but its dart_xcodeproj rewrite breaks
the unsigned iOS flavor archive; 2.4.2 (last Ruby-xcodeproj release) fixes
iOS but predates the resValues fix.

So pin 2.4.2 (iOS works) and post-fix the one thing it misses: append
android.defaults.buildfeatures.resvalues=true to the generated
gradle.properties so the flavored 'flutter build apk' configures under AGP 8.
Wraps flavorizr rather than forking it.
bdero pushed a commit that referenced this pull request Jun 22, 2026
* Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build)

The Shorebird Android Tests' flavor builds fail on 3.44.1:

    Product Flavor playStore contains custom resource values,
    but the feature is disabled.

The test scaffolds flavors with flutter_flavorizr pinned to a fork at a
Flutter-3.29-era ref (AngeloAvv/flutter_flavorizr#291, which was never
merged). The AGP that ships with 3.44.1 disables resValues by default, and
the 3.29-era generator doesn't enable the build feature, so the generated
project won't configure.

Move to the published flutter_flavorizr ^2.5.0, which has moved well past
3.29 and generates AGP-8-compatible flavor config. Removes the stale fork
pin + felangel TODO.

* Pass -f to flutter_flavorizr (skip interactive prompt under CI)

flutter_flavorizr 2.5.0 added an interactive 'Do you want to proceed?
(Y/n)' confirmation, which throws 'No terminal attached to stdout' in CI
(both Android Tests and the Smoke build). The -f/--force flag runs it
non-interactively.

* Pin flutter_flavorizr to 2.4.2 (Ruby xcodeproj, fixes iOS flavor archive)

2.5.0 replaced Ruby xcodeproj with dart_xcodeproj; its generated .pbxproj
breaks 'flutter build ipa --no-codesign --flavor' (unsigned flavor archive
demands a Development Team). All versions emit identical visible signing
settings, so it's the dart_xcodeproj generation, not config — and the old
fork worked precisely because it used Ruby xcodeproj.

2.4.2 is the last Ruby-xcodeproj release and still carries the 3.29/AGP-8
resValues fix that the 3.29-era fork lacked, so it should green both the
Android (resValues) and Smoke (iOS flavor) builds.

* Enable resValues build feature after flavorizr (fix flavored APK)

There is no single flutter_flavorizr version that greens both checks:
2.5.0 fixes the AGP-8 resValues issue but its dart_xcodeproj rewrite breaks
the unsigned iOS flavor archive; 2.4.2 (last Ruby-xcodeproj release) fixes
iOS but predates the resValues fix.

So pin 2.4.2 (iOS works) and post-fix the one thing it misses: append
android.defaults.buildfeatures.resvalues=true to the generated
gradle.properties so the flavored 'flutter build apk' configures under AGP 8.
Wraps flavorizr rather than forking it.
bdero pushed a commit that referenced this pull request Jun 25, 2026
* Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build)

The Shorebird Android Tests' flavor builds fail on 3.44.1:

    Product Flavor playStore contains custom resource values,
    but the feature is disabled.

The test scaffolds flavors with flutter_flavorizr pinned to a fork at a
Flutter-3.29-era ref (AngeloAvv/flutter_flavorizr#291, which was never
merged). The AGP that ships with 3.44.1 disables resValues by default, and
the 3.29-era generator doesn't enable the build feature, so the generated
project won't configure.

Move to the published flutter_flavorizr ^2.5.0, which has moved well past
3.29 and generates AGP-8-compatible flavor config. Removes the stale fork
pin + felangel TODO.

* Pass -f to flutter_flavorizr (skip interactive prompt under CI)

flutter_flavorizr 2.5.0 added an interactive 'Do you want to proceed?
(Y/n)' confirmation, which throws 'No terminal attached to stdout' in CI
(both Android Tests and the Smoke build). The -f/--force flag runs it
non-interactively.

* Pin flutter_flavorizr to 2.4.2 (Ruby xcodeproj, fixes iOS flavor archive)

2.5.0 replaced Ruby xcodeproj with dart_xcodeproj; its generated .pbxproj
breaks 'flutter build ipa --no-codesign --flavor' (unsigned flavor archive
demands a Development Team). All versions emit identical visible signing
settings, so it's the dart_xcodeproj generation, not config — and the old
fork worked precisely because it used Ruby xcodeproj.

2.4.2 is the last Ruby-xcodeproj release and still carries the 3.29/AGP-8
resValues fix that the 3.29-era fork lacked, so it should green both the
Android (resValues) and Smoke (iOS flavor) builds.

* Enable resValues build feature after flavorizr (fix flavored APK)

There is no single flutter_flavorizr version that greens both checks:
2.5.0 fixes the AGP-8 resValues issue but its dart_xcodeproj rewrite breaks
the unsigned iOS flavor archive; 2.4.2 (last Ruby-xcodeproj release) fixes
iOS but predates the resValues fix.

So pin 2.4.2 (iOS works) and post-fix the one thing it misses: append
android.defaults.buildfeatures.resvalues=true to the generated
gradle.properties so the flavored 'flutter build apk' configures under AGP 8.
Wraps flavorizr rather than forking it.
bdero pushed a commit that referenced this pull request Jul 7, 2026
* Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build)

The Shorebird Android Tests' flavor builds fail on 3.44.1:

    Product Flavor playStore contains custom resource values,
    but the feature is disabled.

The test scaffolds flavors with flutter_flavorizr pinned to a fork at a
Flutter-3.29-era ref (AngeloAvv/flutter_flavorizr#291, which was never
merged). The AGP that ships with 3.44.1 disables resValues by default, and
the 3.29-era generator doesn't enable the build feature, so the generated
project won't configure.

Move to the published flutter_flavorizr ^2.5.0, which has moved well past
3.29 and generates AGP-8-compatible flavor config. Removes the stale fork
pin + felangel TODO.

* Pass -f to flutter_flavorizr (skip interactive prompt under CI)

flutter_flavorizr 2.5.0 added an interactive 'Do you want to proceed?
(Y/n)' confirmation, which throws 'No terminal attached to stdout' in CI
(both Android Tests and the Smoke build). The -f/--force flag runs it
non-interactively.

* Pin flutter_flavorizr to 2.4.2 (Ruby xcodeproj, fixes iOS flavor archive)

2.5.0 replaced Ruby xcodeproj with dart_xcodeproj; its generated .pbxproj
breaks 'flutter build ipa --no-codesign --flavor' (unsigned flavor archive
demands a Development Team). All versions emit identical visible signing
settings, so it's the dart_xcodeproj generation, not config — and the old
fork worked precisely because it used Ruby xcodeproj.

2.4.2 is the last Ruby-xcodeproj release and still carries the 3.29/AGP-8
resValues fix that the 3.29-era fork lacked, so it should green both the
Android (resValues) and Smoke (iOS flavor) builds.

* Enable resValues build feature after flavorizr (fix flavored APK)

There is no single flutter_flavorizr version that greens both checks:
2.5.0 fixes the AGP-8 resValues issue but its dart_xcodeproj rewrite breaks
the unsigned iOS flavor archive; 2.4.2 (last Ruby-xcodeproj release) fixes
iOS but predates the resValues fix.

So pin 2.4.2 (iOS works) and post-fix the one thing it misses: append
android.defaults.buildfeatures.resvalues=true to the generated
gradle.properties so the flavored 'flutter build apk' configures under AGP 8.
Wraps flavorizr rather than forking it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants