Skip to content

[EXTERNAL] Migrate deprecated buildDir to layout API (#3202) contributed by @AlexanderTalledo#3212

Merged
tonidero merged 1 commit into
mainfrom
external/AlexanderTalledo/migrate-deprecated-build-dir
Mar 11, 2026
Merged

[EXTERNAL] Migrate deprecated buildDir to layout API (#3202) contributed by @AlexanderTalledo#3212
tonidero merged 1 commit into
mainfrom
external/AlexanderTalledo/migrate-deprecated-build-dir

Conversation

@tonidero

@tonidero tonidero commented Mar 11, 2026

Copy link
Copy Markdown
Contributor

Checklist

  • If applicable, unit tests
  • 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


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.

Written by Cursor Bugbot for commit a77487e. This will update automatically on new commits. Configure here.

<!-- 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 -->
@tonidero tonidero requested a review from a team as a code owner March 11, 2026 13:09
@tonidero tonidero enabled auto-merge March 11, 2026 13:50
@tonidero tonidero added this pull request to the merge queue Mar 11, 2026
@codecov

codecov Bot commented Mar 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.32%. Comparing base (4c1280c) to head (a77487e).
⚠️ Report is 2 commits behind head on main.

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.
📢 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.

Merged via the queue into main with commit 9bfe727 Mar 11, 2026
30 checks passed
@tonidero tonidero deleted the external/AlexanderTalledo/migrate-deprecated-build-dir branch March 11, 2026 14:07
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 -->
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.

3 participants