[EXTERNAL] Migrate deprecated kotlinOptions to compilerOptions (#3219) contributed by @AlexanderTalledo#3223
Merged
tonidero merged 1 commit intoMar 12, 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 old `kotlinOptions` used standard internal types that were evaluated immediately while the new `compilerOptions` DSL uses Gradle Properties. - **Performance**: This allows for Lazy Evaluation, meaning the compiler settings are only calculated when actually needed, speeding up the configuration phase of your build. - **Interoperability**: It works seamlessly with other Gradle features like Configuration Caching, which significantly reduces subsequent build times. <!-- Why is this change required? What problem does it solve? --> <!-- Please link to issues following this format: Resolves #999999 --> ### Description Migrate deprecated kotlinOptions to compilerOptions #### Changes - Replaced deprecated `kotlinOptions` by `compilerOptions` #### Testing - Verified that all modules successfully build after migration. <!-- Describe your changes in detail --> <!-- Please describe in detail how you tested your changes --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk build-logic DSL update that keeps the same JVM target (17) but switches to the newer lazy `compilerOptions` API; impact is limited to build configuration. > > **Overview** > Updates `build-logic/convention/build.gradle.kts` to replace deprecated `kotlinOptions` with the new `compilerOptions` DSL for `KotlinCompile`, setting `jvmTarget` via `JvmTarget.JVM_17` (instead of an eager string value). This modernizes the build logic to better support Gradle property-based configuration (e.g., configuration cache) without changing the target JVM version. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit c16ed2d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
rickvdl
approved these changes
Mar 12, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3223 +/- ##
=======================================
Coverage 79.19% 79.19%
=======================================
Files 356 356
Lines 14272 14272
Branches 1945 1945
=======================================
Hits 11302 11302
Misses 2165 2165
Partials 805 805 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Mar 12, 2026
**This is an automatic release.** ## RevenueCat SDK ### ✨ New Features * Expose trackCustomPaywallImpression as experimental public API (#3199) via Rick (@rickvdl) ### 🔄 Other Changes * [EXTERNAL] Migrate deprecated kotlinOptions to compilerOptions (#3219) contributed by @AlexanderTalledo (#3223) via Toni Rico (@tonidero) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk release bookkeeping: bumps version strings and updates docs/changelogs and CI docs deploy paths, without changing runtime logic beyond version reporting. > > **Overview** > Publishes the `9.25.0` release by removing `-SNAPSHOT` across the repo (Gradle `VERSION_NAME`, internal `Config.frameworkVersion`, and sample/test app dependency version catalogs). > > Updates release documentation metadata: adds `9.25.0` to `CHANGELOG.md`, refreshes `CHANGELOG.latest.md`, points `docs/index.html` to `9.25.0`, and changes CircleCI `docs-deploy` to sync docs to the `9.25.0` S3 path. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e8615d4. 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 old
kotlinOptionsused standard internal types that were evaluated immediately while the newcompilerOptionsDSL uses Gradle Properties.Description
Migrate deprecated kotlinOptions to compilerOptions
Changes
kotlinOptionsbycompilerOptionsTesting
contributed by @AlexanderTalledo in #3219
Note
Low Risk
Low risk build configuration change that only affects how the Kotlin JVM target is configured; potential impact is limited to Gradle/Kotlin plugin compatibility.
Overview
Switches
build-logic/convention/build.gradle.ktsfrom deprecatedkotlinOptionsto the newercompilerOptionsDSL forKotlinCompile, settingjvmTargetviaJvmTarget.JVM_17(property-based configuration) while preserving Java/Kotlin targeting at 17.Written by Cursor Bugbot for commit c14bbdb. This will update automatically on new commits. Configure here.