Skip to content

Commit 781dcd7

Browse files
committed
migrate skia lang KMP library modules to the Android-KMP plugin
1 parent a8ae6ed commit 781dcd7

7 files changed

Lines changed: 33 additions & 72 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
alias(libs.plugins.androidLibrary) apply false
33
alias(libs.plugins.kotlinMultiplatform) apply false
4+
alias(libs.plugins.androidMultiplatformLibrary) apply false
45
alias(libs.plugins.jetbrainsKotlinJvm) apply false
56
alias(libs.plugins.vanniktech.mavenPublish) apply false
67
alias(libs.plugins.kover)

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ kotest-property = { module = "io.kotest:kotest-property", version.ref = "kotest"
7575

7676
[plugins]
7777
androidLibrary = { id = "com.android.library", version.ref = "agp" }
78+
androidMultiplatformLibrary = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
7879
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
7980
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
8081
jetbrainsKotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }

skainet-lang/skainet-kan/build.gradle.kts

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
1-
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
21
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
32
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
43

54
plugins {
65
alias(libs.plugins.kotlinMultiplatform)
7-
alias(libs.plugins.androidLibrary)
86
alias(libs.plugins.vanniktech.mavenPublish)
97
alias(libs.plugins.kover)
108
alias(libs.plugins.binary.compatibility.validator)
9+
alias(libs.plugins.androidMultiplatformLibrary)
1110
}
1211

1312
kotlin {
13+
1414
explicitApi()
1515

16-
androidTarget {
17-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
16+
android {
17+
namespace = "sk.ainet.lang.kan"
18+
compileSdk = libs.versions.android.compileSdk.get().toInt()
19+
minSdk = libs.versions.android.minSdk.get().toInt()
1820
compilerOptions {
1921
jvmTarget.set(JvmTarget.JVM_11)
2022
}
@@ -49,16 +51,3 @@ kotlin {
4951
}
5052
}
5153
}
52-
53-
android {
54-
namespace = "sk.ainet.lang.kan"
55-
compileSdk = libs.versions.android.compileSdk.get().toInt()
56-
57-
defaultConfig {
58-
minSdk = libs.versions.android.minSdk.get().toInt()
59-
}
60-
compileOptions {
61-
sourceCompatibility = JavaVersion.VERSION_11
62-
targetCompatibility = JavaVersion.VERSION_11
63-
}
64-
}

skainet-lang/skainet-lang-core/build.gradle.kts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
import com.android.build.api.dsl.androidLibrary
12
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
23
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
34
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
45

56
plugins {
67
alias(libs.plugins.kotlinMultiplatform)
7-
alias(libs.plugins.androidLibrary)
8+
alias(libs.plugins.androidMultiplatformLibrary)
89
alias(libs.plugins.vanniktech.mavenPublish)
910
alias(libs.plugins.kover)
1011
alias(libs.plugins.binary.compatibility.validator)
@@ -16,8 +17,10 @@ plugins {
1617
kotlin {
1718
explicitApi()
1819

19-
androidTarget {
20-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
20+
android {
21+
namespace = "sk.ainet.lang.core"
22+
compileSdk = libs.versions.android.compileSdk.get().toInt()
23+
minSdk = libs.versions.android.minSdk.get().toInt()
2124
compilerOptions {
2225
jvmTarget.set(JvmTarget.JVM_11)
2326
}
@@ -73,19 +76,6 @@ dependencies {
7376
add("kspCommonMainMetadata", project(":skainet-lang:skainet-lang-ksp-processor"))
7477
}
7578

76-
android {
77-
namespace = "sk.ainet.lang.core"
78-
compileSdk = libs.versions.android.compileSdk.get().toInt()
79-
80-
defaultConfig {
81-
minSdk = libs.versions.android.minSdk.get().toInt()
82-
}
83-
compileOptions {
84-
sourceCompatibility = JavaVersion.VERSION_11
85-
targetCompatibility = JavaVersion.VERSION_11
86-
}
87-
}
88-
8979
tasks.named("dokkaHtml") {
9080
dependsOn("kspCommonMainKotlinMetadata")
9181
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
POM_ARTIFACT_ID=skainet-lang-core
2-
POM_NAME=skainet neural network scripting API
2+
POM_NAME=skainet neural network scripting API
3+
android.enableLegacyVariantApi=true

skainet-lang/skainet-lang-dag/build.gradle.kts

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
1+
import com.android.build.api.dsl.androidLibrary
22
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
33
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
44

55
plugins {
66
alias(libs.plugins.kotlinMultiplatform)
7-
alias(libs.plugins.androidLibrary)
7+
alias(libs.plugins.androidMultiplatformLibrary)
88
alias(libs.plugins.vanniktech.mavenPublish)
99
alias(libs.plugins.kover)
1010
alias(libs.plugins.binary.compatibility.validator)
@@ -14,8 +14,10 @@ plugins {
1414
kotlin {
1515
explicitApi()
1616

17-
androidTarget {
18-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
17+
android {
18+
namespace = "sk.ainet.lang.dag"
19+
compileSdk = libs.versions.android.compileSdk.get().toInt()
20+
minSdk = libs.versions.android.minSdk.get().toInt()
1921
compilerOptions {
2022
jvmTarget.set(JvmTarget.JVM_11)
2123
}
@@ -57,24 +59,12 @@ kotlin {
5759
// Ensure KSP metadata task runs before any Kotlin compilation, other KSP tasks, and sourcesJar
5860
tasks.configureEach {
5961
if (name != "kspCommonMainKotlinMetadata" &&
60-
(name.startsWith("compileKotlin") || name.startsWith("ksp") || name.contains("ourcesJar"))) {
62+
(name.startsWith("compileKotlin") || name.startsWith("ksp") || name.contains("ourcesJar"))
63+
) {
6164
dependsOn("kspCommonMainKotlinMetadata")
6265
}
6366
}
6467

6568
dependencies {
6669
add("kspCommonMainMetadata", project(":skainet-lang:skainet-lang-ksp-processor"))
6770
}
68-
69-
android {
70-
namespace = "sk.ainet.lang.dag"
71-
compileSdk = libs.versions.android.compileSdk.get().toInt()
72-
73-
defaultConfig {
74-
minSdk = libs.versions.android.minSdk.get().toInt()
75-
}
76-
compileOptions {
77-
sourceCompatibility = JavaVersion.VERSION_11
78-
targetCompatibility = JavaVersion.VERSION_11
79-
}
80-
}

skainet-lang/skainet-lang-models/build.gradle.kts

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,32 @@
1-
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
21
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
32
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
43

54
plugins {
65
alias(libs.plugins.kotlinMultiplatform)
7-
alias(libs.plugins.androidLibrary)
6+
alias(libs.plugins.androidMultiplatformLibrary)
87
alias(libs.plugins.vanniktech.mavenPublish)
98
alias(libs.plugins.kover)
109
alias(libs.plugins.binary.compatibility.validator)
1110
}
1211

1312
kotlin {
13+
1414
explicitApi()
1515

16-
androidTarget {
17-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
16+
android {
17+
namespace = "sk.ainet.lang.models"
18+
compileSdk = libs.versions.android.compileSdk.get().toInt()
19+
minSdk = libs.versions.android.minSdk.get().toInt()
1820
compilerOptions {
1921
jvmTarget.set(JvmTarget.JVM_11)
2022
}
2123
}
2224

2325
iosArm64()
2426
iosSimulatorArm64()
25-
macosArm64 ()
26-
linuxX64 ()
27-
linuxArm64 ()
27+
macosArm64()
28+
linuxX64()
29+
linuxArm64()
2830

2931
jvm()
3032

@@ -63,17 +65,4 @@ kotlin {
6365

6466
}
6567
}
66-
}
67-
68-
android {
69-
namespace = "sk.ainet.lang.models"
70-
compileSdk = libs.versions.android.compileSdk.get().toInt()
71-
72-
defaultConfig {
73-
minSdk = libs.versions.android.minSdk.get().toInt()
74-
}
75-
compileOptions {
76-
sourceCompatibility = JavaVersion.VERSION_11
77-
targetCompatibility = JavaVersion.VERSION_11
78-
}
7968
}

0 commit comments

Comments
 (0)