-
-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated Kotlin to 2.1.0, Essenty to 2.4.0, AGP to 8.7.3, Gradle to 8.11.1 #825
Conversation
WalkthroughThis pull request introduces several updates across the Decompose library, focusing on dependency version upgrades, build configuration modifications, and minor API adjustments. The changes span multiple files, including build scripts, test configurations, and Gradle wrapper settings. Key updates include upgrading Kotlin, Coroutines, and Android Gradle plugin versions, adding a new browser-related dependency for WebAssembly support, and making small refinements to test configurations and build management. Changes
Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (15)
💤 Files with no reviewable changes (6)
🚧 Files skipped from review as they are similar to previous changes (9)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
4537211
to
e15dac9
Compare
e15dac9
to
6f0b169
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
gradlew.bat (1)
60-64
: Confirm validity of JAVA_HOME
Similarly, these lines provide more explicit instructions for users when JAVA_HOME is invalid. Consider adding a prompt to display the expected path or version of Java if confusion persists.decompose/build.gradle.kts (1)
74-77
: Add usage examples for the new browser dependency
Addingjetbrains-kotlinx-kotlinxBrowser
underwasmJs.main.dependencies
enables browser-specific utilities in WebAssembly builds. Consider documenting or providing usage examples for these utilities, so team members understand how and why to use them.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
gradle/wrapper/gradle-wrapper.jar
is excluded by!**/*.jar
kotlin-js-store/yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
📒 Files selected for processing (15)
decompose/build.gradle.kts
(1 hunks)decompose/src/commonTest/kotlin/com/arkivanov/decompose/router/stack/ChildStackIntegrationTest.kt
(2 hunks)decompose/src/commonTest/kotlin/com/arkivanov/decompose/router/stack/RouterPushTest.kt
(1 hunks)deps.versions.toml
(2 hunks)extensions-compose-experimental/api/android/extensions-compose-experimental.api
(0 hunks)extensions-compose-experimental/api/jvm/extensions-compose-experimental.api
(0 hunks)extensions-compose-experimental/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/experimental/stack/ChildStackTest.kt
(0 hunks)extensions-compose/api/android/extensions-compose.api
(0 hunks)extensions-compose/api/jvm/extensions-compose.api
(0 hunks)extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/ChildrenTest.kt
(0 hunks)extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimationDirectionsTest.kt
(1 hunks)gradle/wrapper/gradle-wrapper.properties
(1 hunks)gradlew
(3 hunks)gradlew.bat
(2 hunks)settings.gradle.kts
(1 hunks)
💤 Files with no reviewable changes (6)
- extensions-compose-experimental/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/experimental/stack/ChildStackTest.kt
- extensions-compose/api/jvm/extensions-compose.api
- extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/ChildrenTest.kt
- extensions-compose/api/android/extensions-compose.api
- extensions-compose-experimental/api/android/extensions-compose-experimental.api
- extensions-compose-experimental/api/jvm/extensions-compose-experimental.api
✅ Files skipped from review due to trivial changes (1)
- gradle/wrapper/gradle-wrapper.properties
🔇 Additional comments (12)
decompose/src/commonTest/kotlin/com/arkivanov/decompose/router/stack/RouterPushTest.kt (2)
3-3
: Acknowledge DelicateDecomposeApi usage
The import ofDelicateDecomposeApi
indicates you're using experimental or delicate API elements. Ensure this aligns with your project's stability requirements before proceeding.
8-8
: Opting-in to DelicateDecomposeApi
By annotating the class with@OptIn(DelicateDecomposeApi::class)
, you accept the unstable or delicate aspects of the API. Confirm thorough testing and monitor future API changes closely to prevent regressions.gradlew.bat (1)
46-50
: Clarify instructions for setting JAVA_HOME
The newly introduced lines improve the clarity of the error messages. Ensure that these messages remain consistent with the project's overall style and provide enough guidance for users.extensions-compose/src/jvmTest/kotlin/com/arkivanov/decompose/extensions/compose/stack/animation/StackAnimationDirectionsTest.kt (1)
96-98
: Confirm logic for newly expected ENTER_FRONT directions
These changes imply that certain transitions now favorENTER_FRONT
. Make sure this aligns with the intended user experience for these transitions, especially if other test cases or production code rely on the previous behavior.gradlew (4)
86-86
: Validate path resolution logic
Usingpwd -P
ensures symbolic links are properly resolved. Confirm no unintended consequences for local or CI environments that rely on custom linking.
147-147
: Remove shellcheck directive with caution
The removal ofSC3045
directive indicates improved compliance; ensure that shells lacking this extension can still execute the script as intended.
155-155
: Continue verifying maximum file descriptor limits
Though you’ve simplified the logic, confirm that systems with unusualulimit
configurations (e.g., very restrictive or no-hard-limit systems) handle these lines gracefully.
204-208
: Properly handle quotes and expansions
Ensuring that environment variables with complex expansions or special characters are handled correctly helps avoid subtle script errors. Thoroughly test this flow on multiple platforms.decompose/src/commonTest/kotlin/com/arkivanov/decompose/router/stack/ChildStackIntegrationTest.kt (2)
6-6
: Ensure explicit usage of experimental API is intentional
You're importingDelicateDecomposeApi
, which indicates certain experimental or delicate features that may change without notice. Please verify that using this API in production or test code is appropriate and that you’ve assessed any risks associated with it.
30-30
: Annotation matches the API usage
Annotating the test class with@OptIn(DelicateDecomposeApi::class)
is necessary to utilize experimental functionalities in your tests. This is fine, but ensure you keep track of changes toDelicateDecomposeApi
in future library versions.settings.gradle.kts (1)
18-18
: Verify plugin version upgrade
The plugin version has been updated to"com.github.arkivanov:gradle-setup-plugin:4cef58cc3b"
. Double-check that any features previously used are still compatible with this new version and that any newly introduced plugin functionality is tested if needed.deps.versions.toml (1)
4-5
: Dependency version updates
The updated versions for Kotlin (2.1.0
), Essenty (2.4.0
), Coroutines (1.9.0
), Android Gradle plugin (8.7.3
), and the addition ofjetbrainsKotlinxBrowser
(0.3
) look appropriate. Ensure that:
- All dependencies are compatible with each other.
- Tests pass and there are no runtime issues introduced by these changes.
Also applies to: 10-10, 12-12, 15-15, 50-50
Summary by CodeRabbit
Release Notes
Dependencies
Build Configuration
Experimental Features
ChildPages
andChildren
function overloadsDelicateDecomposeApi
opt-in for certain test classesTest Improvements