Skip to content

Compose 1.10.0 | Kotlin 2.3.0#1273

Merged
mikepenz merged 2 commits intodevelopfrom
feature/compose_1.10.x
Dec 19, 2025
Merged

Compose 1.10.0 | Kotlin 2.3.0#1273
mikepenz merged 2 commits intodevelopfrom
feature/compose_1.10.x

Conversation

@mikepenz
Copy link
Owner

Upgrade to Compose 1.10.0, Kotlin 2.3.0

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR upgrades the project to Compose 1.10.0 and Kotlin 2.3.0, with necessary adjustments to handle API changes and minimum SDK requirements.

Key Changes

  • Upgraded version catalog from 0.8.7 to 0.10.1
  • Refactored offline mode configuration in plugin tasks to properly override behavior
  • Added minimum SDK 23 requirement and material-icons-extended dependency for Compose compatibility

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
settings.gradle.kts Updated version catalog to 0.10.1 for Compose/Kotlin upgrade
plugin-build/plugin/src/main/kotlin/com/mikepenz/aboutlibraries/plugin/BaseAboutLibrariesTask.kt Changed to wildcard import and made offlineMode property open for overriding
plugin-build/plugin/src/main/kotlin/com/mikepenz/aboutlibraries/plugin/AboutLibrariesPlugin.kt Removed explicit offline mode setting for findLibraries task
plugin-build/plugin/src/main/kotlin/com/mikepenz/aboutlibraries/plugin/AboutLibrariesIdTask.kt Added override of offlineMode property to force offline mode for this task
app/gradle.properties Added minimum SDK 23 configuration required by updated Compose resources
app/build.gradle.kts Added material-icons-extended dependency for Compose Material support
MIGRATION.md Documented breaking changes and dependency upgrades for v13.2.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"stagingImplementation"(libs.okhttp.core)

// https://mvnrepository.com/artifact/androidx.compose.material/material-icons-core
implementation("androidx.compose.material:material-icons-extended:1.7.8")
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

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

The material-icons-extended dependency is hardcoded instead of using the version catalog (libs.*) pattern used by other dependencies in this file. This is inconsistent with the project's dependency management approach and makes it harder to maintain version consistency across the project. Consider adding this dependency to the version catalog and referencing it via libs.androidx.compose.material.icons.extended or similar.

Suggested change
implementation("androidx.compose.material:material-icons-extended:1.7.8")
implementation(libs.androidx.compose.material.icons.extended)

Copilot uses AI. Check for mistakes.
Comment on lines 6 to +12
import org.gradle.api.tasks.TaskAction

@CacheableTask
abstract class AboutLibrariesIdTask : BaseAboutLibrariesTask() {
// Force offline mode
override val offlineMode: Property<Boolean> = project.objects.property(Boolean::class.java).apply { set(true) }

Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

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

The offlineMode property is being initialized as a non-abstract property directly in the class body, which means it won't be properly managed by Gradle's configuration system. This should be an abstract property annotated with @get:Input to be properly tracked by Gradle's up-to-date checking and configuration cache.

Consider changing this to:

@get:Input
abstract override val offlineMode: Property<Boolean>

And then initialize it in an init block or configuration method to set its value to true.

Suggested change
import org.gradle.api.tasks.TaskAction
@CacheableTask
abstract class AboutLibrariesIdTask : BaseAboutLibrariesTask() {
// Force offline mode
override val offlineMode: Property<Boolean> = project.objects.property(Boolean::class.java).apply { set(true) }
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.TaskAction
@CacheableTask
abstract class AboutLibrariesIdTask : BaseAboutLibrariesTask() {
// Force offline mode
@get:Input
abstract override val offlineMode: Property<Boolean>
init {
offlineMode.convention(true)
}

Copilot uses AI. Check for mistakes.
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.*
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

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

Replacing explicit imports with a wildcard import (import org.gradle.api.tasks.*) is generally considered a best practice violation in Kotlin and Gradle plugin development. Wildcard imports can make it harder to understand dependencies, can lead to naming conflicts, and make it less clear which specific classes are being used. Consider keeping the explicit imports for better code clarity and maintainability.

Suggested change
import org.gradle.api.tasks.*
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction

Copilot uses AI. Check for mistakes.
"stagingImplementation"(libs.okhttp.core)

// https://mvnrepository.com/artifact/androidx.compose.material/material-icons-core
implementation("androidx.compose.material:material-icons-extended:1.7.8")

Choose a reason for hiding this comment

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

⚠️ Use version catalog instead

@mikepenz mikepenz merged commit 48087e0 into develop Dec 19, 2025
9 checks passed
@mikepenz mikepenz deleted the feature/compose_1.10.x branch December 19, 2025 10:53
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.

2 participants