summaryrefslogtreecommitdiff
path: root/core/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'core/build.gradle.kts')
-rw-r--r--core/build.gradle.kts27
1 files changed, 23 insertions, 4 deletions
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
index 718fdaa..1dcf4db 100644
--- a/core/build.gradle.kts
+++ b/core/build.gradle.kts
@@ -1,26 +1,45 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
+ alias(libs.plugins.android.kmp.library)
}
kotlin {
jvmToolchain(21)
jvm()
+ androidLibrary {
+ namespace = "coffee.liz.rookery.core"
+ compileSdk = 37
+ minSdk = 26
+ }
sourceSets {
commonMain.dependencies {
implementation(libs.coroutines.core)
api(libs.serialization.json)
+ implementation(libs.kable) // Bluetooth LE on desktop (macOS, Windows, Linux) and Android
}
commonTest.dependencies {
implementation(kotlin("test"))
implementation(libs.coroutines.test)
}
- jvmMain.dependencies {
- implementation(libs.tnoodle.scrambles)
- implementation(libs.dbus.java.core)
- implementation(libs.dbus.java.transport.native)
+ // Plain-JVM code that desktop and Android share: files, tnoodle, AES.
+ val jvmShared by creating {
+ dependsOn(commonMain.get())
+ dependencies {
+ implementation(libs.tnoodle.scrambles)
+ implementation(libs.tnoodle.min2phase) // two-phase solver, for smart-cube scramble corrections
+ }
+ }
+ jvmMain {
+ dependsOn(jvmShared)
+ dependencies {
+ // BlueZ over D-Bus: Linux desktop only
+ implementation(libs.dbus.java.core)
+ implementation(libs.dbus.java.transport.native)
+ }
}
+ androidMain { dependsOn(jvmShared) }
}
}