From 3f0abdc8317863be499c33f07e439302235c9a4b Mon Sep 17 00:00:00 2001 From: julakali Date: Mon, 29 Sep 2025 13:59:20 +0200 Subject: [PATCH 1/2] update compose to 1.9.0 --- README.md | 5 +++-- ...tlinMultiplatformMobileConventionPlugin.kt | 8 ++++++-- .../kalinjul/convention/config/Kotlin.kt | 4 ++-- .../convention/config/Multiplatform.kt | 12 ----------- gradle/libs.versions.toml | 20 +++++++++---------- sample-app/android-app/build.gradle.kts | 2 +- sample-app/shared/build.gradle.kts | 15 ++------------ 7 files changed, 24 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 3a37063..2c42e25 100644 --- a/README.md +++ b/README.md @@ -14,17 +14,18 @@ Supported Compose version: |-----------------|--------------------------| | 1.7 | 0.1.0+ | | 1.8 | 0.2.0+ | +| 1.9 | 0.3.0+ | # Dependency Add the dependency to your commonMain sourceSet (KMP) / Android dependencies (android only): ```kotlin -implementation("io.github.kalinjul.easydocumentscan:documentscanner:0.2.0") +implementation("io.github.kalinjul.easydocumentscan:documentscanner:0.3.0") ``` Or, for your libs.versions.toml: ```toml [versions] -easydocumentscan = "0.2.0" +easydocumentscan = "0.3.0" [libraries] easydocumentscan = { module = "io.github.kalinjul.easydocumentscan:documentscanner", version.ref = "easydocumentscan" } ``` diff --git a/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/KotlinMultiplatformMobileConventionPlugin.kt b/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/KotlinMultiplatformMobileConventionPlugin.kt index b377547..2f582a5 100644 --- a/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/KotlinMultiplatformMobileConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/KotlinMultiplatformMobileConventionPlugin.kt @@ -4,8 +4,8 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import io.github.kalinjul.convention.config.configureAndroidTarget import io.github.kalinjul.convention.config.configureKotlin +import org.jetbrains.kotlin.gradle.dsl.JvmTarget /** * No JVM target, only android + ios @@ -21,7 +21,11 @@ class KotlinMultiplatformMobileConventionPlugin : Plugin { applyDefaultHierarchyTemplate() if (pluginManager.hasPlugin("com.android.library")) { - this.configureAndroidTarget() + androidTarget { + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget((libs.versions.jvmTarget.get()))) + } + } } } configureKotlin() diff --git a/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Kotlin.kt b/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Kotlin.kt index 13d6c27..509b277 100644 --- a/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Kotlin.kt +++ b/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Kotlin.kt @@ -9,8 +9,8 @@ fun Project.configureKotlin() { extensions.configure { targets.all { compilations.all { - compilerOptions.configure { - freeCompilerArgs.add("-Xexpect-actual-classes") + compileTaskProvider.configure { + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") } } } diff --git a/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Multiplatform.kt b/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Multiplatform.kt index 3247525..e22e8a9 100644 --- a/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Multiplatform.kt +++ b/build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Multiplatform.kt @@ -1,18 +1,6 @@ package io.github.kalinjul.convention.config -import org.gradle.api.JavaVersion import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import io.github.kalinjul.convention.libs - -fun KotlinMultiplatformExtension.configureAndroidTarget() { - androidTarget { - compilations.all { - kotlinOptions { - jvmTarget = JavaVersion.toVersion(project.libs.versions.jvmTarget.get()).toString() - } - } - } -} fun KotlinMultiplatformExtension.configureIosTargets(baseName: String? = null) { listOf( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c8cac03..18de672 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,27 +1,27 @@ [versions] -compileSdk = "35" -targetSdk = "35" +compileSdk = "36" +targetSdk = "36" minSdk = "24" # required for exif interface jvmTarget = "17" # https://developer.android.com/build/releases/gradle-plugin#compatibility -agp = "8.7.3" +agp = "8.11.1" #https://github.com/JetBrains/compose-multiplatform -compose-multiplatform = "1.8.0" +compose-multiplatform = "1.9.0" #https://kotlinlang.org/docs/multiplatform-compatibility-guide.html -kotlin = "2.1.20" +kotlin = "2.2.20" # https://github.com/google/ksp -ksp = "2.1.20-1.0.32" +ksp = "2.2.20-2.0.3" # https://developer.android.com/jetpack/androidx/releases/activity -androidxActivity = "1.10.1" +androidxActivity = "1.11.0" # https://developer.android.com/jetpack/androidx/releases/appcompat -androidxAppCompat = "1.7.0" -coreKtx = "1.16.0" +androidxAppCompat = "1.7.1" +coreKtx = "1.17.0" dokka = "1.9.20" -nexus-publish-plugin = "1.3.0" +nexus-publish-plugin = "2.0.0" mlkit-document-scanner = "16.0.0-beta1" [libraries] diff --git a/sample-app/android-app/build.gradle.kts b/sample-app/android-app/build.gradle.kts index 1a3579c..4b9d876 100644 --- a/sample-app/android-app/build.gradle.kts +++ b/sample-app/android-app/build.gradle.kts @@ -7,7 +7,7 @@ plugins { kotlin { androidTarget() sourceSets { - val androidMain by getting { + androidMain { dependencies { implementation(libs.androidx.activity.compose) implementation(libs.androidx.core.ktx) diff --git a/sample-app/shared/build.gradle.kts b/sample-app/shared/build.gradle.kts index 5ee00ad..f18dc54 100644 --- a/sample-app/shared/build.gradle.kts +++ b/sample-app/shared/build.gradle.kts @@ -11,7 +11,7 @@ plugins { kotlin { configureIosTargets() sourceSets { - val commonMain by getting { + commonMain { dependencies { implementation(compose.runtime) implementation(compose.foundation) @@ -20,21 +20,10 @@ kotlin { implementation(projects.documentscanner) } } - val androidMain by getting { + androidMain { dependencies { -// api(libs.androidx.activity.compose) -// api(libs.androidx.core.ktx) } } - val iosX64Main by getting - val iosArm64Main by getting - val iosSimulatorArm64Main by getting - val iosMain by getting { - dependsOn(commonMain) - iosX64Main.dependsOn(this) - iosArm64Main.dependsOn(this) - iosSimulatorArm64Main.dependsOn(this) - } } targets.withType().configureEach { From 76ef5faba88b42d2a4a1f98bd6f6afb5ca87b193 Mon Sep 17 00:00:00 2001 From: julakali Date: Mon, 29 Sep 2025 14:57:04 +0200 Subject: [PATCH 2/2] remove comments --- .../easydocumentscan/DocumentScanner.ios.kt | 28 +------------------ 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt b/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt index a0379c8..7a9a206 100644 --- a/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt +++ b/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt @@ -5,7 +5,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.interop.LocalUIViewController +import androidx.compose.ui.uikit.LocalUIViewController import platform.AVFoundation.AVErrorApplicationIsNotAuthorizedToUseDevice import platform.UIKit.UIButton import platform.UIKit.UIControlEventTouchUpInside @@ -61,19 +61,6 @@ actual fun rememberDocumentScanner( } private fun VNDocumentCameraViewController.setManualMode() { -// val buttons = controller.view.findChildren { it is UIButton } -// buttons.forEach { -// println("${it.accessibilityLabel} ${it}") -// it.findChildren { true }.forEach { -// if (it is UILabel) { -// println(" ${it.text} ${it.accessibilityLabel} $it") -// if (it.text == "Auto") { -// println("Found Auto button") -// } -// } -// } -// } - val autoButton = view.findChild { it.hasChild { val text = (it as? UILabel)?.text @@ -81,19 +68,6 @@ actual fun rememberDocumentScanner( } != null } (autoButton as? UIButton)?.sendActionsForControlEvents(UIControlEventTouchUpInside) - -// var view = autoButton -// println("View hierarchy:") -// while(view != null) { -// println(view) -// view = view.superview -// } - -// val navigationbar = navigationController?.navigationBar -// println("Navigationbar: $navigationbar") -// buttons.find { it.accessibilityLabel?.contains("Filtereinstellungen") == true }?.removeFromSuperview() -// val imageViews = controller.view.findChildren { it is UIImageView } -// imageViews.forEach { it.removeFromSuperview() } } } }