diff --git a/README.md b/README.md index 2c42e25..4a01157 100644 --- a/README.md +++ b/README.md @@ -19,15 +19,15 @@ Supported Compose version: # Dependency Add the dependency to your commonMain sourceSet (KMP) / Android dependencies (android only): ```kotlin -implementation("io.github.kalinjul.easydocumentscan:documentscanner:0.3.0") +implementation("io.github.kalinjul.easydocumentscan:documentscanner:0.3.1") ``` Or, for your libs.versions.toml: ```toml [versions] -easydocumentscan = "0.3.0" +easydocumentscan = "0.3.1" [libraries] -easydocumentscan = { module = "io.github.kalinjul.easydocumentscan:documentscanner", version.ref = "easydocumentscan" } +easydocumentscan = { module = "io.github.kalinjul.easydocumentscan:documentscanner-compose", version.ref = "easydocumentscan" } ``` # Usage diff --git a/documentscanner-compose/build.gradle.kts b/documentscanner-compose/build.gradle.kts new file mode 100644 index 0000000..ec46ac5 --- /dev/null +++ b/documentscanner-compose/build.gradle.kts @@ -0,0 +1,43 @@ +@file:OptIn(ExperimentalWasmDsl::class) + +import io.github.kalinjul.convention.config.configureIosTargets +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl + +plugins { + id("io.github.kalinjul.convention.android.library") + id("io.github.kalinjul.convention.kotlin.multiplatform.mobile") + id("io.github.kalinjul.convention.centralPublish") + id("io.github.kalinjul.convention.compose.multiplatform") +} + +description = "Compose Multiplatform Document Scanner for Android/iOS" + +kotlin { + configureIosTargets() + jvm() + wasmJs() { + browser() + } + + sourceSets { + commonMain { + dependencies { + api(projects.documentscannerCore) + implementation(compose.runtime) + implementation(compose.foundation) + } + } + + androidMain { + dependencies { + implementation(libs.mlkit.documentscanner) + implementation(libs.androidx.activity.compose) + } + } + + jvmMain { + dependencies { + } + } + } +} \ No newline at end of file diff --git a/documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/Context+getActivity.kt b/documentscanner-compose/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/Context+getActivity.kt similarity index 100% rename from documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/Context+getActivity.kt rename to documentscanner-compose/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/Context+getActivity.kt diff --git a/documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.android.kt b/documentscanner-compose/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.android.kt similarity index 100% rename from documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.android.kt rename to documentscanner-compose/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.android.kt diff --git a/documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.kt b/documentscanner-compose/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.kt similarity index 100% rename from documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.kt rename to documentscanner-compose/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.kt diff --git a/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt b/documentscanner-compose/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt similarity index 100% rename from documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt rename to documentscanner-compose/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.ios.kt diff --git a/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerDelegate.kt b/documentscanner-compose/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerDelegate.kt similarity index 100% rename from documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerDelegate.kt rename to documentscanner-compose/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerDelegate.kt diff --git a/documentscanner/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/EasyDocumentScanner.jvm.kt b/documentscanner-compose/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/EasyDocumentScanner.jvm.kt similarity index 100% rename from documentscanner/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/EasyDocumentScanner.jvm.kt rename to documentscanner-compose/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/EasyDocumentScanner.jvm.kt diff --git a/documentscanner-compose/src/wasmJsMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.wasmJs.kt b/documentscanner-compose/src/wasmJsMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.wasmJs.kt new file mode 100644 index 0000000..a274b73 --- /dev/null +++ b/documentscanner-compose/src/wasmJsMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScanner.wasmJs.kt @@ -0,0 +1,13 @@ +package io.github.kalinjul.easydocumentscan + +@androidx.compose.runtime.Composable +actual fun rememberDocumentScanner( + onResult: (Result>) -> Unit, + options: DocumentScannerOptions +): DocumentScanner { + return object: DocumentScanner { + override fun scan() { + println("Scanner not implemented for JVM") + } + } +} \ No newline at end of file diff --git a/documentscanner/build.gradle.kts b/documentscanner-core/build.gradle.kts similarity index 87% rename from documentscanner/build.gradle.kts rename to documentscanner-core/build.gradle.kts index f5e2a5c..825ad4c 100644 --- a/documentscanner/build.gradle.kts +++ b/documentscanner-core/build.gradle.kts @@ -1,4 +1,7 @@ +@file:OptIn(ExperimentalWasmDsl::class) + import io.github.kalinjul.convention.config.configureIosTargets +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl plugins { id("io.github.kalinjul.convention.android.library") @@ -12,6 +15,9 @@ description = "Compose Multiplatform Document Scanner for Android/iOS" kotlin { configureIosTargets() jvm() + wasmJs() { + browser() + } sourceSets { commonMain { diff --git a/documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/AndroidImage.kt b/documentscanner-core/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/AndroidImage.kt similarity index 100% rename from documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/AndroidImage.kt rename to documentscanner-core/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/AndroidImage.kt diff --git a/documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.android.kt b/documentscanner-core/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.android.kt similarity index 100% rename from documentscanner/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.android.kt rename to documentscanner-core/src/androidMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.android.kt diff --git a/documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.kt b/documentscanner-core/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.kt similarity index 100% rename from documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.kt rename to documentscanner-core/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.kt diff --git a/documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerException.kt b/documentscanner-core/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerException.kt similarity index 100% rename from documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerException.kt rename to documentscanner-core/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/DocumentScannerException.kt diff --git a/documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/KmpImage.kt b/documentscanner-core/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/KmpImage.kt similarity index 100% rename from documentscanner/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/KmpImage.kt rename to documentscanner-core/src/commonMain/kotlin/io/github/kalinjul/easydocumentscan/KmpImage.kt diff --git a/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.ios.kt b/documentscanner-core/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.ios.kt similarity index 100% rename from documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.ios.kt rename to documentscanner-core/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.ios.kt diff --git a/documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/IosImage.kt b/documentscanner-core/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/IosImage.kt similarity index 100% rename from documentscanner/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/IosImage.kt rename to documentscanner-core/src/iosMain/kotlin/io/github/kalinjul/easydocumentscan/IosImage.kt diff --git a/documentscanner/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.jvm.kt b/documentscanner-core/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.jvm.kt similarity index 100% rename from documentscanner/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.jvm.kt rename to documentscanner-core/src/jvmMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.jvm.kt diff --git a/documentscanner-core/src/wasmJsMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.wasmJs.kt b/documentscanner-core/src/wasmJsMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.wasmJs.kt new file mode 100644 index 0000000..749f6a8 --- /dev/null +++ b/documentscanner-core/src/wasmJsMain/kotlin/io/github/kalinjul/easydocumentscan/ByteArray+toImageBitmap.wasmJs.kt @@ -0,0 +1,5 @@ +package io.github.kalinjul.easydocumentscan + +actual fun ByteArray.toImageBitmap(): androidx.compose.ui.graphics.ImageBitmap { + TODO("Not yet implemented") +} \ No newline at end of file diff --git a/sample-app/shared/build.gradle.kts b/sample-app/shared/build.gradle.kts index f18dc54..4f2f564 100644 --- a/sample-app/shared/build.gradle.kts +++ b/sample-app/shared/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { implementation(compose.foundation) implementation(compose.material3) - implementation(projects.documentscanner) + implementation(projects.documentscannerCompose) } } androidMain { diff --git a/settings.gradle.kts b/settings.gradle.kts index 8658003..9db332d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,7 +18,8 @@ dependencyResolutionManagement { rootProject.name="EasyDocumentScan" -include(":documentscanner") +include(":documentscanner-core") +include(":documentscanner-compose") include(":sample-app:shared") include(":sample-app:android-app")