Skip to content

Remove wasabi, jalapeno, and the buildType flavor dimension#22651

Open
jkmassel wants to merge 6 commits intotrunkfrom
jkmassel/remove-buildtype-flavors
Open

Remove wasabi, jalapeno, and the buildType flavor dimension#22651
jkmassel wants to merge 6 commits intotrunkfrom
jkmassel/remove-buildtype-flavors

Conversation

@jkmassel
Copy link
Contributor

@jkmassel jkmassel commented Mar 3, 2026

Description

Removes the three buildType flavors (vanilla, wasabi, jalapeno) and the entire buildType flavor dimension from the project. These flavors existed only for cosmetic differences (app name, icon) and side-by-side installation via applicationIdSuffix, but caused Gradle cache fragmentation across CI jobs since each job compiled a different variant independently.

Variant names simplify from e.g. wordpressVanillaDebug to wordpressDebug. All CI jobs now share the same variant, maximizing Gradle remote cache reuse.

What changed

  • Removed vanilla, wasabi, jalapeno flavor definitions and the buildType dimension from WordPress/build.gradle
  • Moved ENABLE_DEBUG_SETTINGS from vanilla flavor to release buildType
  • Deleted 4 source set directories: wasabi/, jalapeno/, jetpackWasabi/, jetpackJalapeno/
  • Simplified WordPressPublicData and JetpackPublicData (removed flavor-specific package name logic)
  • Updated all CI scripts (lint, unit tests, cache population, diff reports)
  • Updated all Fastlane lanes (build, test, screenshots, prototype builds)
  • Removed .beta/.prealpha permission declarations from Jetpack manifest
  • Cleaned up google-services.json-example
  • Updated documentation (CLAUDE.md, README.md, coding-style.md, etc.)

Testing instructions

Build verification:

  1. ./gradlew assembleWordpressDebug
  • Build succeeds
  1. ./gradlew assembleJetpackDebug
  • Build succeeds
  1. ./gradlew lintWordpressRelease
  • Lint passes
  1. ./gradlew testWordpressDebugUnitTest
  • Unit tests pass
  1. Check CI pipeline
  • All CI jobs pass with the updated variant names

🤖 Generated with Claude Code

The three buildType flavors (vanilla, wasabi, jalapeno) existed only for
cosmetic differences (app name, icon) and side-by-side installation via
applicationIdSuffix. They caused Gradle cache fragmentation across CI
jobs since each job compiled a different variant independently.

This removes the entire buildType flavor dimension, simplifying variant
names from e.g. wordpressVanillaDebug to wordpressDebug. All CI jobs
now share the same variant, maximizing Gradle remote cache reuse.

- Remove vanilla, wasabi, jalapeno flavor definitions from build.gradle
- Remove the buildType flavor dimension (keep only app dimension)
- Move ENABLE_DEBUG_SETTINGS to release buildType (false) vs default (true)
- Delete wasabi, jalapeno, jetpackWasabi, jetpackJalapeno source sets
- Simplify WordPressPublicData and JetpackPublicData
- Update all CI scripts, Fastlane lanes, and documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dangermattic
Copy link
Collaborator

dangermattic commented Mar 3, 2026

1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.

Generated by 🚫 Danger

jkmassel and others added 2 commits March 3, 2026 13:49
The diff tools compare against the base branch (trunk), which still
uses the old variant names (wordpressVanillaRelease). Until this PR
merges, these jobs will fail when checking out trunk. soft_fail
prevents them from blocking the build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prototype builds upload to Firebase App Distribution, which expects
the .prealpha package suffix (from the old jalapeno flavor). Adding
applicationIdSuffix ".prealpha" to the debug buildType preserves this
and also maintains side-by-side installation with production apps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Mar 3, 2026

App Icon📲 You can test the changes from this Pull Request in Jetpack Android by scanning the QR code below to install the corresponding build.

App NameJetpack Android
Build TypeDebug
Versionpr22651-c97d937
Build Number1485
Application IDcom.jetpack.android.prealpha
Commitc97d937
Installation URL04vuknh1bsc58
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Mar 3, 2026

App Icon📲 You can test the changes from this Pull Request in WordPress Android by scanning the QR code below to install the corresponding build.

App NameWordPress Android
Build TypeDebug
Versionpr22651-c97d937
Build Number1485
Application IDorg.wordpress.android.prealpha
Commitc97d937
Installation URL43s82697e7rlo
Note: Google Login is not supported on these builds.

@jkmassel jkmassel requested review from ParaskP7 and adalpari March 3, 2026 22:03
FLAVOR_app only exists with multi-dimension flavors. With the
buildType dimension removed, use BuildConfig.FLAVOR instead
(which now contains "wordpress" or "jetpack" directly).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Mar 3, 2026

Codecov Report

❌ Patch coverage is 0% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 38.12%. Comparing base (a390930) to head (c97d937).
⚠️ Report is 9 commits behind head on trunk.

Files with missing lines Patch % Lines
...press/android/util/publicdata/JetpackPublicData.kt 0.00% 9 Missing ⚠️
...ess/android/util/publicdata/WordPressPublicData.kt 0.00% 4 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##            trunk   #22651   +/-   ##
=======================================
  Coverage   38.12%   38.12%           
=======================================
  Files        2263     2263           
  Lines      115827   115816   -11     
  Branches    16090    16084    -6     
=======================================
  Hits        44157    44157           
+ Misses      68045    68034   -11     
  Partials     3625     3625           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jkmassel jkmassel marked this pull request as ready for review March 4, 2026 19:01
@jkmassel jkmassel self-assigned this Mar 4, 2026
@jkmassel jkmassel added this to the 26.7 milestone Mar 4, 2026
@jkmassel jkmassel requested a review from nbradbury March 4, 2026 19:01
@nbradbury
Copy link
Contributor

@jkmassel All four test steps pass and CI is clear, so this looks good to me. I'll wait for others to take a look before approving.

}

debug {
applicationIdSuffix ".prealpha"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Any special reason why debug variant is adding prealpha now? Is it just a preference, or maybe to avoid CI conflicts, since it seems to be using that in jalapeño?
Just a nitpick, but we don't really have alpha or beta. So, it looks a bit strange.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good question @adalpari , and I'll try to answer for @jkmassel (if I might, and until he adds his answer)... 😊 🙏

  • Ideally we would have that applicationIdSuffix set to .debug, this is the default way of doing that, so that we have two apps installed on the same device side-by-side, both, the debug and release apps.
  • With Jetpack/WordPress, this debug version of the app was either the .beta (for Wasabi) or the .prealpha (for Jalapeno), so we could have chosen either one or the other, same result.
  • Choosing .prealpha (or .beta) instead of going for a new .debug suffix is (IMHO) the right call as it will prevent us from (possibly) breaking something Firebase related (see google-services.json). This is because otherwise, we would need to add such new .debug Firebase project(s), for both Jetpack and WordPress, and then go through the hoops-and-loops of this process, possibly breaking things in-between (of course, until we then fix them). For example, see the Jetpack configuration in Firebase:
image

As such, and having said that, I think Jeremy make the right call here, doing what he did. 💯 🤞

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choosing .prealpha (or .beta) instead of going for a new .debug suffix is (IMHO) the right call as it will prevent us from (possibly) breaking something Firebase related

This was the reasoning – I wanted to be able to continue to upload to Firebase for PR builds without needing to modify remote configuration.

If we want to squash this down too I'm good with it, but maybe a subsequent PR?

Copy link
Contributor

@adalpari adalpari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me, and testing steps work as expected, so I'm approving it.

(Just left a minor question)

Copy link
Contributor

@ParaskP7 ParaskP7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👋 @jkmassel and thanks for this change, this is awesome and I am excited for you on this change, long overdue! 🥇 ❤️ 🙇

FYI: I've identified a couple of changes that you might want to apply before merging this, thus I am requesting changes, bear with me for just that bit, please... 🙏 (nothing too serious)


# Dependency Analysis Plugin
dependency.analysis.android.ignored.variants=release,wordpressVanillaDebug,wordpressVanillaRelease,wordpressWasabiDebug,wordpressWasabiRelease,wordpressJalapenoRelease,jetpackVanillaDebug,jetpackVanillaRelease,jetpackWasabiDebug,jetpackWasabiRelease,jetpackJalapenoRelease
dependency.analysis.android.ignored.variants=release,wordpressDebug,wordpressRelease,jetpackDebug,jetpackRelease
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning (⚠️): This change will break the Dependency Analysis process, please update it to:

dependency.analysis.android.ignored.variants=release,wordpressRelease,jetpackRelease

This change will effectively allow the wordpressDebug and jetpackDebug variants to be scanned. Otherwise, nothing will be scanned and this process with just build successfully in a few seconds, but without doing anything. 😊


FYI: Note that the previous version of the configuration was ignoring all of them variants, except those two below:

  • wordpressJalapenoDebug
  • jetpackJalapenoDebug

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pretty sure that change goes with #22651 (comment) – after this PR lands, I'll fix up the dependency analysis job in a subsequent PR?

LMK if I'm wrong!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually no @jkmassel , this change and Dependency Analysis are two different things, and don't relate with each other. With this change, if merged this as is, it will affect this scheduled build, and this Sunday (if this gets merged, and not fixed by then), it will alter (or break) this Grafana view for JP/WPAndroid and those stats (plus Slack reporting, etc).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, the change is pretty simple and (very) low effort, just this replace L14 with this, that's all:

dependency.analysis.android.ignored.variants=release,wordpressRelease,jetpackRelease

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied your suggestion in c97d937, thanks!!

@jkmassel jkmassel requested a review from ParaskP7 March 5, 2026 16:05
Move the jalapeno/jetpackJalapeno debug icon resources into
debug and jetpackDebug source sets so debug builds retain a
visually distinct app icon and "Pre-Alpha" app name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ParaskP7
Copy link
Contributor

ParaskP7 commented Mar 6, 2026

FYI: Almost everything has been resolved, and when this change gets pushed, it'll be all ✅ from my side! Cc @jkmassel

@jkmassel jkmassel enabled auto-merge (squash) March 6, 2026 18:25
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 6, 2026

@jkmassel jkmassel requested a review from dcalhoun March 6, 2026 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants