Skip to content

Remove android.nonTransitiveRClass=false and update cross-module R references#6336

Merged
andremion merged 4 commits intov7from
remove-nonTransitiveRClass-false
Apr 7, 2026
Merged

Remove android.nonTransitiveRClass=false and update cross-module R references#6336
andremion merged 4 commits intov7from
remove-nonTransitiveRClass-false

Conversation

@andremion
Copy link
Copy Markdown
Contributor

@andremion andremion commented Apr 7, 2026

Goal

Remove the android.nonTransitiveRClass=false override from gradle.properties to align the project with the AGP 8.0+ default. With non-transitive R classes, each module's generated R class only contains resources declared in that module, preventing accidental coupling between modules and improving build performance.

Implementation

  • Removed android.nonTransitiveRClass=false from gradle.properties.
  • Introduced import aliases for cross-module R class references using a consistent naming convention:
    • import io.getstream.chat.android.ui.common.R as UiCommonR
    • import io.getstream.chat.android.ui.R as UiR
    • import io.getstream.chat.android.compose.R as ComposeR
  • Updated 79 files across 7 modules to use the correct module-scoped R class for each resource reference.
  • Java docs files retain fully qualified R references since Java does not support import aliases.

No UI changes.

Testing

  • Build all modules: ./gradlew compileDebugKotlin passes for all library, sample, docs, and guides modules.
  • Run ./gradlew :stream-chat-android-compose:testCoverage — all tests pass.
  • Run ./gradlew :stream-chat-android-ui-components:testDebugUnitTest — all tests pass.
  • Run ./gradlew spotlessApply detekt apiDump — all pass with no issues.
  • Open the Compose sample and UI Components sample apps and verify they launch and render correctly.

Summary by CodeRabbit

Release Notes

  • Refactor
    • Consolidated resource references across modules to use shared UI library resources instead of local/sample module resources, improving consistency and maintainability of resource sourcing throughout the codebase.

@andremion andremion added the pr:breaking-change Breaking change label Apr 7, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 7, 2026

PR checklist ✅

All required conditions are satisfied:

  • Title length is OK (or ignored by label).
  • At least one pr: label exists.
  • Sections ### Goal, ### Implementation, and ### Testing are filled.

🎉 Great job! This PR is ready for review.

@andremion andremion changed the title Remove disabling non-transitive R classes Remove android.nonTransitiveRClass=false and update cross-module R references Apr 7, 2026
@andremion andremion marked this pull request as ready for review April 7, 2026 09:36
@andremion andremion requested a review from a team as a code owner April 7, 2026 09:36
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 7, 2026

SDK Size Comparison 📏

SDK Before After Difference Status
stream-chat-android-client 5.25 MB 5.82 MB 0.57 MB 🔴
stream-chat-android-ui-components 10.60 MB 10.96 MB 0.36 MB 🟡
stream-chat-android-compose 12.81 MB 12.27 MB -0.54 MB 🚀

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 7, 2026

Walkthrough

Systematically redirects resource references across multiple modules from local R classes to centralized shared resource packages: io.getstream.chat.android.ui.common.R for strings, fonts, and colors, and io.getstream.chat.android.compose.R for drawable/icon resources. Affects sample apps, library modules, and documentation with resource import aliasing and reference substitution.

Changes

Cohort / File(s) Summary
Gradle Configuration
gradle.properties
Removed android.nonTransitiveRClass configuration property.
Compose Sample App — Resource Migration
stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/.../ChannelsScreenNavigationDrawer.kt, ...LocationPicker.kt, ...CustomLoginActivity.kt, ...UserProfileScreen.kt, stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/.../DirectChannelInfoActivity.kt, ...GroupChannelInfoActivity.kt, ...ChannelMediaAttachmentsActivity.kt, ...ChatsActivity.kt, ...AppToolbar.kt
Updated drawable/string resource lookups to use ComposeR (compose module) or UiCommonR (common UI module) instead of local sample module R.
Compose Library Attachments — Resource Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/.../MediaAttachmentContent.kt, ...MediaGalleryPreviewScreen.kt, ...MediaPreviewActivity.kt, ...MediaGalleryPage.kt, ...MediaGalleryPhotosMenu.kt
Updated string/drawable resource references to use UiCommonR (common UI module) for semantics, error icons, and playback error messages.
Compose Library Channel Info — Resource Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/AddMembersScreen.kt, ...ChannelInfoMemberInfoModalSheet.kt, ...ChannelInfoMemberOptions.kt, ...ChannelInfoOptionItem.kt, ...ChannelInfoScreenModal.kt, ...DirectChannelInfoScreen.kt, ...GroupChannelEditScreen.kt, ...GroupChannelInfoScreen.kt
Switched string resource references (member labels, ban expiry text, channel info options, titles) from local compose module R to UiCommonR (common UI module).
Compose Library Components — Resource Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt, ...attachments/images/ImagesPicker.kt, ...channels/MessageReadStatusIcon.kt, ...messages/MessageReactions.kt, ...messages/PollMessageContent.kt, ...messages/QuotedMessageBodyBuilder.kt, ...moderatedmessage/ModeratedMessageDialog.kt
Updated string/drawable resource lookups to use UiCommonR for content descriptions, button labels, and pluralized semantics strings.
Compose Library Attachments & Permissions — Resource Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt, ...AttachmentMediaPicker.kt, ...AttachmentPicker.kt, ...permission/RequiredPermission.kt
Replaced permission button text and attachment picker error messages from local R to UiCommonR (common UI module).
Compose Library Composer & Utilities — Resource Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/.../AudioRecordingPermission.kt, ...MessageComposerInputCenterContent.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt, ...util/SharedLocationUtils.kt, ...util/extensions/internal/CommandExtensions.kt
Updated placeholder text, permission dialog/snackbar strings, and component factory resource references to use UiCommonR for common strings and ComposeR for compose-specific resources.
Compose Library Tests — Resource Mocking
stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageBodyBuilderTest.kt
Updated test resource mocking to reference UiCommonR for message-deleted and location text resources.
UI Components Sample App — Resource Migration
stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/common/Extensions.kt, ...feature/chat/info/ChatInfoExtensions.kt, ...ChatInfoItem.kt, ...ChatInfoViewHolders.kt, ...group/member/GroupChatInfoMemberOptionView.kt, ...GroupChatInfoMemberOptionsDialogFragment.kt, ...messagelist/decorator/DeletedForMeDecorator.kt, ...options/CustomMessageOptions.kt, ...common/ConfirmationDialogFragment.kt, ...home/HomeFragment.kt, ...userlogin/UserLoginFragment.kt
Switched color, string, drawable, and theme resource references from sample module R to UiR (UI module) and UiCommonR (common UI module) for consistent resource sourcing.
UI Components Library — String & Font Resource Migration
stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/AttachmentActivity.kt, ...AttachmentMediaActivity.kt, ...options/AttachmentGalleryOptionsViewStyle.kt, ...mentions/list/MentionListView.kt, ...messages/composer/MessageComposerViewStyle.kt, ...attachment/picker/AttachmentsPickerDialogFragment.kt, ...poll/CreatePollDialogFragment.kt, ...poll/CreatePollViewModel.kt, ...list/GiphyViewHolderStyle.kt, ...list/MessageListItemStyle.kt, ...list/MessageReplyStyle.kt, ...list/adapter/view/MessageReplyView.kt, ...list/adapter/view/internal/PollView.kt
Updated error toast messages, font resources, and poll-related strings to use UiCommonR (common UI module) instead of local io.getstream.chat.android.ui.R.
UI Components Library — Navigation & Utilities
stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/AttachmentDestination.kt, ...WebLinkDestination.kt, ...utils/PermissionChecker.kt
Updated error message and permission string resource lookups to use UiCommonR (common UI module) for consistent resource sourcing.
Documentation — Java Resource Migration
stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/channels/ChannelListScreen.java, ...ui/general/Configuration.java, ...ui/messages/MessageListScreen.java
Switched sample documentation to reference drawable/layout/style/font resources from io.getstream.chat.android.ui.R and io.getstream.chat.android.ui.common.R instead of docs module local R.
Documentation — Kotlin Resource Migration
stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/Screens.kt, ...compose/guides/CustomizingImageAndVideoPreviews.kt, ...ui/channels/ChannelList.kt, ...ui/channels/ChannelListScreen.kt, ...ui/general/Configuration.kt, ...ui/messages/MessageComposer.kt, ...ui/messages/MessageList.kt, ...ui/messages/MessageListScreen.kt
Updated documentation code samples to use UiR (UI module) and UiCommonR (common UI module) resource aliases instead of docs module R for layout, style, drawable, font, and color resources.
Guides — Resource Migration
stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customizingimageandvideoattachments/ui/CustomPlayButton.kt
Updated play button icon drawable reference from guides module to ComposeR (compose module).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • #6289: Refactoring of permission handling and resource organization that affects similar RequiredPermission and attachment picker files touched in this PR.

Suggested labels

pr:ignore-for-release

Suggested reviewers

  • gpunto
  • VelikovPetar

Poem

🐰 Resources scattered far and wide,
Now gathered to a common guide!
From many modules to one place,
A cleaner path, a stronger base.
Share the strings, share the style,
Our code's now organized with guile! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.87% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: removing android.nonTransitiveRClass=false and updating cross-module R references, which matches the core objective of the PR.
Description check ✅ Passed The PR description includes Goal, Implementation, and Testing sections covering why the change was made, what was modified, and how it was validated. All required sections are present and adequately filled with relevant details.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch remove-nonTransitiveRClass-false

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/info/ChatInfoExtensions.kt`:
- Around line 186-212: The branch results for group vs direct channels are
inverted for several ChannelInfoViewEvent mappings; in ChatInfoExtensions.kt
locate the mapping handling
ChannelInfoViewEvent.MuteConversationError/UnmuteConversationError,
LeaveChannelError, and DeleteChannelError (and their paired group variants) and
swap the two branches of the if (isGroupChannel) expressions so that when
isGroupChannel is true it returns the conversation string resource and when
false it returns the group string resource (update the mappings for
mute/leave/delete events accordingly).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4d814f09-2fc7-446f-820d-51579f187690

📥 Commits

Reviewing files that changed from the base of the PR and between 85f4558 and e443aa1.

📒 Files selected for processing (79)
  • gradle.properties
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsScreenNavigationDrawer.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/DirectChannelInfoActivity.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/attachments/ChannelMediaAttachmentsActivity.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/chats/ChatsActivity.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppToolbar.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/location/LocationPicker.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPage.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/internal/MediaGalleryPhotosMenu.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/AddMembersScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberInfoModalSheet.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptions.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoOptionItem.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/ChannelInfoScreenModal.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelEditScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/info/GroupChannelInfoScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageReactions.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageBodyBuilder.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentFilePicker.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentMediaPicker.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentPicker.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/permission/RequiredPermission.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/AudioRecordingPermission.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/MessageComposerInputCenterContent.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/SharedLocationUtils.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/extensions/internal/CommandExtensions.kt
  • stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageBodyBuilderTest.kt
  • stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/channels/ChannelListScreen.java
  • stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/general/Configuration.java
  • stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/messages/MessageListScreen.java
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/Screens.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/CustomizingImageAndVideoPreviews.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/channels/ChannelList.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/channels/ChannelListScreen.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/general/Configuration.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/messages/MessageComposer.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/messages/MessageList.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/messages/MessageListScreen.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/common/Extensions.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/info/ChatInfoExtensions.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/info/ChatInfoItem.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/info/ChatInfoViewHolders.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/info/group/member/GroupChatInfoMemberOptionView.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/info/group/member/GroupChatInfoMemberOptionsDialogFragment.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/messagelist/decorator/DeletedForMeDecorator.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/chat/messagelist/options/CustomMessageOptions.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/common/ConfirmationDialogFragment.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/home/HomeFragment.kt
  • stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/userlogin/UserLoginFragment.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/AttachmentActivity.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/AttachmentMediaActivity.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/options/AttachmentGalleryOptionsViewStyle.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/mentions/list/MentionListView.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/composer/MessageComposerViewStyle.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/composer/attachment/picker/AttachmentsPickerDialogFragment.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/composer/attachment/picker/poll/CreatePollDialogFragment.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/composer/attachment/picker/poll/CreatePollViewModel.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/GiphyViewHolderStyle.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/MessageListItemStyle.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/MessageReplyStyle.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/adapter/view/MessageReplyView.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/adapter/view/internal/PollView.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/AttachmentDestination.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/WebLinkDestination.kt
  • stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/utils/PermissionChecker.kt
  • stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customizingimageandvideoattachments/ui/CustomPlayButton.kt
💤 Files with no reviewable changes (1)
  • gradle.properties

@andremion andremion force-pushed the remove-nonTransitiveRClass-false branch from e443aa1 to 73c3375 Compare April 7, 2026 09:58
… non-transitive R classes. This migration aligns the project with modern defaults, improves build performance (smaller R classes, better incremental compilation), and prevents accidental coupling between modules.
@andremion andremion force-pushed the remove-nonTransitiveRClass-false branch from 73c3375 to 8f7856c Compare April 7, 2026 10:57
@andremion andremion enabled auto-merge (squash) April 7, 2026 10:57
@andremion andremion force-pushed the remove-nonTransitiveRClass-false branch from 8f7856c to b041f80 Compare April 7, 2026 12:01
@andremion andremion disabled auto-merge April 7, 2026 12:12
@andremion andremion enabled auto-merge (squash) April 7, 2026 12:20
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Apr 7, 2026

@andremion andremion merged commit 165c93a into v7 Apr 7, 2026
15 checks passed
@andremion andremion deleted the remove-nonTransitiveRClass-false branch April 7, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:breaking-change Breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants