Skip to content

Commit 0f557e3

Browse files
Merge pull request #386 from SKaiNET-developers/Migrate-for-AGP-9-to-Android-KMP-plugin-issue
Migrate for agp 9 to android kmp plugin issue
2 parents a8ae6ed + 448a68e commit 0f557e3

7 files changed

Lines changed: 31 additions & 73 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: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
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)
@@ -16,8 +15,10 @@ plugins {
1615
kotlin {
1716
explicitApi()
1817

19-
androidTarget {
20-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
18+
android {
19+
namespace = "sk.ainet.lang.core"
20+
compileSdk = libs.versions.android.compileSdk.get().toInt()
21+
minSdk = libs.versions.android.minSdk.get().toInt()
2122
compilerOptions {
2223
jvmTarget.set(JvmTarget.JVM_11)
2324
}
@@ -73,19 +74,6 @@ dependencies {
7374
add("kspCommonMainMetadata", project(":skainet-lang:skainet-lang-ksp-processor"))
7475
}
7576

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-
8977
tasks.named("dokkaHtml") {
9078
dependsOn("kspCommonMainKotlinMetadata")
9179
}
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: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
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)
@@ -14,8 +13,10 @@ plugins {
1413
kotlin {
1514
explicitApi()
1615

17-
androidTarget {
18-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
16+
android {
17+
namespace = "sk.ainet.lang.dag"
18+
compileSdk = libs.versions.android.compileSdk.get().toInt()
19+
minSdk = libs.versions.android.minSdk.get().toInt()
1920
compilerOptions {
2021
jvmTarget.set(JvmTarget.JVM_11)
2122
}
@@ -57,24 +58,12 @@ kotlin {
5758
// Ensure KSP metadata task runs before any Kotlin compilation, other KSP tasks, and sourcesJar
5859
tasks.configureEach {
5960
if (name != "kspCommonMainKotlinMetadata" &&
60-
(name.startsWith("compileKotlin") || name.startsWith("ksp") || name.contains("ourcesJar"))) {
61+
(name.startsWith("compileKotlin") || name.startsWith("ksp") || name.contains("ourcesJar"))
62+
) {
6163
dependsOn("kspCommonMainKotlinMetadata")
6264
}
6365
}
6466

6567
dependencies {
6668
add("kspCommonMainMetadata", project(":skainet-lang:skainet-lang-ksp-processor"))
6769
}
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)