Skip to content

fix: gradle configuration cache issues#11132

Open
wmontwe wants to merge 7 commits into
thunderbird:mainfrom
wmontwe:fix-gradle-configuration-cache-issues
Open

fix: gradle configuration cache issues#11132
wmontwe wants to merge 7 commits into
thunderbird:mainfrom
wmontwe:fix-gradle-configuration-cache-issues

Conversation

@wmontwe

@wmontwe wmontwe commented Jun 12, 2026

Copy link
Copy Markdown
Member

Contribution Summary

Resolves #11133

Linked Issue/Ticket: #10392

Description

While exploring Gradle Isolated Projects as alternative solution for #10392, I found that our project configuration has Gradle Configuration Cache issues:

  • 1133 problems were found storing the configuration cache, 416 of which seem unique.

As Android Studio Quail 1 partially depends on Isolated Projects, I fixed most of the findings. See also: Known Issues

Remaining is our mokkery dependency with 4 findings:

  • Plugin 'dev.mokkery': Project ':feature:mail:message:composer' cannot dynamically look up a property in the parent project ':feature:mail:message'
  • Plugin 'dev.mokkery': Project ':feature:mail:message:list:internal' cannot dynamically look up a property in the parent project ':feature:mail:message:list'
  • Plugin 'dev.mokkery': Project ':feature:notification:api' cannot dynamically look up a property in the parent project ':feature:notification'
  • Plugin 'dev.mokkery': Project ':feature:notification:impl' cannot dynamically look up a property in the parent project ':feature:notification'

I won't tackle these for now as the current state is enough to continue investigation.

To test these changes add this to gradle.properties:

org.gradle.tooling.parallel=true
org.gradle.unsafe.isolated-projects=true

AI Disclosure

Select one of the following (mandatory)

  • This contribution does not include any changes created or assisted by AI.
  • This contribution includes changes assisted by AI.
  • This contribution includes changes created by AI.

Contribution Checklist

  • I have read and affirm that my contribution adheres to Mozilla’s Community Participation Guidelines
  • This contribution is in Kotlin where possible
  • This contribution does not use merge commits
  • This contribution adheres to the existing codestyle (run gradlew spotlessCheck to check and gradlew spotlessApply to format your source code; will be checked by CI).
  • This contribution does not break existing unit tests (run gradlew testDebugUnitTest; will be checked by CI).
  • This contribution includes tests for any new functionality, and maintains tests for any updated functionality.
  • This PR has a descriptive title and body that accurately outlines all changes made, and contains a reference to any issues that it fixes (e.g. Closes #XXX or Fixes #XXX).

@wmontwe wmontwe requested a review from a team as a code owner June 12, 2026 14:54
@wmontwe wmontwe requested a review from jbott-tbird June 12, 2026 14:54
@github-actions github-actions Bot added the tb-team Tasks and features handled by project maintainers label Jun 12, 2026
@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Validation Passed: All report and feature-flag labels are correctly set.

@wmontwe wmontwe requested a review from rafaeltonholo June 12, 2026 14:54
@wmontwe wmontwe removed the request for review from jbott-tbird June 12, 2026 14:54
@wmontwe wmontwe assigned rafaeltonholo and unassigned jbott-tbird Jun 12, 2026
@wmontwe wmontwe added the report: exclude Exclude changes from user-facing reports (internal, minor, or not relevant to users). label Jun 12, 2026
@wmontwe wmontwe force-pushed the fix-gradle-configuration-cache-issues branch from df320d5 to e6f64d0 Compare June 12, 2026 15:01
@wmontwe wmontwe changed the title Fix gradle configuration cache issues fix: gradle configuration cache issues Jun 12, 2026
@wmontwe wmontwe force-pushed the fix-gradle-configuration-cache-issues branch from e6f64d0 to bc481b9 Compare June 12, 2026 17:07
@wmontwe wmontwe mentioned this pull request Jun 16, 2026
3 tasks
@wmontwe wmontwe force-pushed the fix-gradle-configuration-cache-issues branch 2 times, most recently from 7c5e428 to 56eed9d Compare June 16, 2026 13:07
@wmontwe wmontwe force-pushed the fix-gradle-configuration-cache-issues branch from 56eed9d to b363a1e Compare June 16, 2026 14:04
@rafaeltonholo rafaeltonholo added the merge block: soft freeze PR to main is blocked: risky code or feature flag enablement must wait until soft freeze lifts. label Jun 16, 2026
@wmontwe wmontwe force-pushed the fix-gradle-configuration-cache-issues branch from b363a1e to eb1edb1 Compare June 16, 2026 14:10
@dani-zilla

Copy link
Copy Markdown
Contributor

I was looking at this a little bit to see how it would affect the mokkery removal PR. Obviously build fails for that reason here, but it is successful on that branch. I'm not sure if it should be merged separately if this breaks, but the build and tests work. A quick skim of it looks good, but I can go into more detail in that review. Would we want to make sure we merge this and the mokkery removal PR at the same time?

@wmontwe

wmontwe commented Jun 18, 2026

Copy link
Copy Markdown
Member Author

This should fail with violations caused by mokkery when the following is enabled:

org.gradle.tooling.parallel=true
org.gradle.unsafe.isolated-projects=true

It should not fail when they are disabled:

org.gradle.tooling.parallel=false
org.gradle.unsafe.isolated-projects=false

But as I fixed mokkery now, that branch could be merged and will include these changes too. It just won't create a merge commit then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge block: soft freeze PR to main is blocked: risky code or feature flag enablement must wait until soft freeze lifts. report: exclude Exclude changes from user-facing reports (internal, minor, or not relevant to users). tb-team Tasks and features handled by project maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reduce Gradle configuration cache violations

4 participants