Migrate deprecated buildDir to layout API#3202
Merged
tonidero merged 1 commit intoMar 11, 2026
Conversation
tonidero
approved these changes
Mar 11, 2026
tonidero
left a comment
Contributor
There was a problem hiding this comment.
Again, thank you so much for updating this! Will be part of the next release 👍
a77487e
into
RevenueCat:external/AlexanderTalledo/migrate-deprecated-build-dir
1 check passed
Merged
2 tasks
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Mar 11, 2026
…ted by @AlexanderTalledo (#3212) <!-- 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. Contributed by @AlexanderTalledo in #3202 <!-- CURSOR_SUMMARY --> --- > [!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 `buildDir` string paths. > > **Overview** > Replaces deprecated Gradle `buildDir` usage with the lazy `layout.buildDirectory` API. > > This updates the root `clean` task to delete `rootProject.layout.buildDirectory`, and adjusts `ui/revenuecatui`’s Compose compiler report/metrics output path (and `KotlinCompile` type import) to use `layout.buildDirectory` instead of `project.buildDir`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a77487e. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Alexta <8045196+AlexanderTalledo@users.noreply.github.com>
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
Note
Low Risk
Low risk build-script-only change that updates path resolution for
cleanand Compose compiler report output; potential issues would be limited to build output locations or task configuration.Overview
Replaces deprecated
project.buildDir/rootProject.buildDirusages with the Gradle Layout API (layout.buildDirectory) to avoid eager build directory evaluation.Updates the root
cleantask and theui/revenuecatuiCompose compiler metrics/report output path (and simplifies the Kotlin compile task type reference viaKotlinCompileimport).Written by Cursor Bugbot for commit b578fac. This will update automatically on new commits. Configure here.