forked from CodandoTV/Netflix-Android
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcom.streamplayer.koin-annotations-setup.gradle.kts
More file actions
53 lines (45 loc) · 1.38 KB
/
com.streamplayer.koin-annotations-setup.gradle.kts
File metadata and controls
53 lines (45 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import extensions.koinAnnotationsDependency
import extensions.koinCompiler
import extensions.koinCoreDependency
import org.gradle.api.artifacts.VersionCatalog
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val libs: VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")
plugins {
id("org.jetbrains.kotlin.multiplatform")
id("com.google.devtools.ksp")
}
kotlin {
sourceSets {
commonMain.dependencies {
implementation(libs.koinCoreDependency())
api(libs.koinAnnotationsDependency())
}
}
// KSP Common sourceSet
sourceSets.named("commonMain").configure {
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
}
// KSP Tasks
dependencies {
add("kspCommonMainMetadata", libs.koinCompiler())
}
// WORKAROUND: ADD this dependsOn("kspCommonMainKotlinMetadata") instead of above dependencies
tasks.withType<KotlinCompile>().configureEach {
if (name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
afterEvaluate {
tasks.filter {
it.name.contains("SourcesJar", true)
}.forEach {
println("SourceJarTask====>${it.name}")
it.dependsOn("kspCommonMainKotlinMetadata")
}
}
ksp {
arg("KOIN_CONFIG_CHECK", "true")
}