[EXTERNAL] Migrate deprecated buildDir to layout API (#3202) contributed by @AlexanderTalledo#3212
Merged
tonidero merged 1 commit intoMar 11, 2026
Conversation
<!-- Thank you for contributing to Purchases! Before pressing the "Create Pull Request" button, please provide the following: --> ### Checklist - [x] If applicable, unit tests - [x] If applicable, create follow-up issues for `purchases-ios` and hybrids ### Motivation The `project.buildDir` property has been deprecated in Gradle because it relies on "eager" evaluation, which can slow down the builds and cause issues in multi-module projects. The modern replacement is the Layout API, which uses "lazy" properties to ensure the build path is only resolved when actually needed. Therefore, configuration time and build reliability is improved. ### Description Migrate deprecated `buildDir` to `DirectoryProperty` from Layout API. #### Changes - Replaced deprecated `buildDir` by new `layout.buildDirectory` #### Testing - Verified that all affected modules successfully build after migration. - Executed modified tasks independently to verify that behave as expected. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk build-script-only change that updates path resolution for `clean` and Compose compiler report output; potential issues would be limited to build output locations or task configuration. > > **Overview** > Replaces deprecated `project.buildDir`/`rootProject.buildDir` usages with the Gradle Layout API (`layout.buildDirectory`) to avoid eager build directory evaluation. > > Updates the root `clean` task and the `ui/revenuecatui` Compose compiler metrics/report output path (and simplifies the Kotlin compile task type reference via `KotlinCompile` import). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b578fac. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
rickvdl
approved these changes
Mar 11, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3212 +/- ##
=======================================
Coverage 79.32% 79.32%
=======================================
Files 351 351
Lines 14164 14164
Branches 1933 1933
=======================================
Hits 11235 11235
Misses 2126 2126
Partials 803 803 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This was referenced Mar 11, 2026
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Mar 12, 2026
**This is an automatic release.** ## RevenueCat SDK ### ✨ New Features * [EXPERIMENTAL]: Beta Galaxy Store Support (#2903) via Will Taylor (@fire-at-will) ### 🐞 Bugfixes * Skip installation on GCP CLI in run-firebase-test (#3218) via Will Taylor (@fire-at-will) * Fix reduced timeouts being used for HTTP requests when a proxy URL is configured (#3188) via Rick (@rickvdl) ## RevenueCatUI SDK ### 🐞 Bugfixes * Fix missing ripple effect in View-based paywall wrappers (#3206) via Toni Rico (@tonidero) ### Paywallv2 #### ✨ New Features * Rules v0 Integration branch (#3117) via Cesar de la Vega (@vegaro) ### 🔄 Other Changes * [Galaxy]: Add promotionEligibilities comment (#3214) via Will Taylor (@fire-at-will) * [EXTERNAL] Migrate deprecated buildDir to layout API (#3202) contributed by @AlexanderTalledo (#3212) via Toni Rico (@tonidero) * Remove automatic Claude code review workflow (#3211) via Cesar de la Vega (@vegaro) * Remove unused convention plugin (#3195) via Toni Rico (@tonidero) * [EXTERNAL] Integrate convention plugins into Version Catalogs (#3181) contributed by @AlexanderTalledo (#3194) via Toni Rico (@tonidero) * [EXTERNAL] Migrate androidx cardview dependency to version catalogs (#3192) contributed by @AlenxanderTalledo (#3193) via Toni Rico (@tonidero) * Improve AdMob adapter test coverage (#3204) via Pol Miro (@polmiro) * Bump fastlane-plugin-revenuecat_internal from `f5c099b` to `e146447` (#3197) via dependabot[bot] (@dependabot[bot]) * Fix integration tests (#3196) via Toni Rico (@tonidero) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk release bookkeeping: version strings and deployment paths are updated from `9.24.0-SNAPSHOT` to `9.24.0`, plus changelog/docs refresh. Main risk is accidental publishing/docs deployment to the wrong versioned location. > > **Overview** > Cuts the `9.24.0` release by updating all version references from `9.24.0-SNAPSHOT` to `9.24.0` (root `.version`, `gradle.properties`, and `Config.frameworkVersion`), and aligning sample/test app version catalogs to consume the released artifact. > > Updates documentation publishing to point at the `9.24.0` directory (CircleCI S3 sync and `docs/index.html` redirect) and refreshes `CHANGELOG.latest.md`/`CHANGELOG.md` with the `9.24.0` release notes. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 8e6d567. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
purchases-iosand hybridsMotivation
The
project.buildDirproperty has been deprecated in Gradle because it relies on "eager" evaluation, which can slow down the builds and cause issues in multi-module projects. The modern replacement is the Layout API, which uses "lazy" properties to ensure the build path is only resolved when actually needed. Therefore, configuration time and build reliability is improved.Description
Migrate deprecated
buildDirtoDirectoryPropertyfrom Layout API.Changes
buildDirby newlayout.buildDirectoryTesting
Contributed by @AlexanderTalledo in #3202
Note
Low Risk
Low risk build-script maintenance change that only affects Gradle task configuration and output paths. Potential impact is limited to build tooling behavior if any consumers relied on the old
buildDirstring paths.Overview
Replaces deprecated Gradle
buildDirusage with the lazylayout.buildDirectoryAPI.This updates the root
cleantask to deleterootProject.layout.buildDirectory, and adjustsui/revenuecatui’s Compose compiler report/metrics output path (andKotlinCompiletype import) to uselayout.buildDirectoryinstead ofproject.buildDir.Written by Cursor Bugbot for commit a77487e. This will update automatically on new commits. Configure here.