core/build.gradle.kts
changeset 24 f07de07b90c4
parent 22 d0190e5504a6
child 28 19cf2e8a0627
--- a/core/build.gradle.kts	Wed Mar 12 19:00:20 2025 -0400
+++ b/core/build.gradle.kts	Wed Mar 12 19:49:58 2025 -0400
@@ -1,3 +1,5 @@
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+
 /*
  * AboutOss is an utility library to retrieve and display
  * opensource licenses in Android applications.
@@ -21,7 +23,7 @@
  */
 plugins {
     id("com.android.library")
-    kotlin("android")
+    kotlin("multiplatform")
     id("com.geekorum.build.source-license-checker")
     `maven-publish`
 }
@@ -29,6 +31,34 @@
 group = "com.geekorum.aboutoss"
 version = "0.1.0"
 
+kotlin {
+    androidTarget {
+        compilerOptions {
+            jvmTarget.set(JvmTarget.JVM_17)
+        }
+    }
+
+    jvm("desktop")
+
+    listOf(
+        iosX64(),
+        iosArm64(),
+        iosSimulatorArm64(),
+    ).forEach { iosTarget ->
+        iosTarget.binaries.framework {
+            baseName = "aboutoss-core"
+            isStatic = true
+        }
+    }
+
+    sourceSets {
+        commonMain.dependencies {
+            implementation(libs.okio)
+            implementation(libs.kotlinx.coroutines)
+        }
+    }
+}
+
 android {
     namespace = "com.geekorum.aboutoss.core"
     compileSdk = 35
@@ -53,11 +83,8 @@
         }
     }
     compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
-    }
-    kotlinOptions {
-        jvmTarget = "1.8"
+        sourceCompatibility = JavaVersion.VERSION_17
+        targetCompatibility = JavaVersion.VERSION_17
     }
 
     publishing {
@@ -69,8 +96,6 @@
 }
 
 dependencies {
-    implementation(libs.okio)
-    implementation(libs.kotlinx.coroutines)
 
     testImplementation(libs.junit)
     androidTestImplementation(libs.androidx.test.ext.junit)