diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e76174a..66b58f2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -tools = "0.14.0-kotlin-1.8.0" -kotlin = "1.8.0" +tools = "0.14.0-kotlin-1.8.10" +kotlin = "1.8.10" atomicfu = "0.19.0" binary-compatibility-validator = "0.12.1" changelog = "2.0.0" diff --git a/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt b/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt index 23e71a7..61afe26 100644 --- a/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt +++ b/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt @@ -128,6 +128,42 @@ public open class KScienceExtension(public val project: Project) { } } + public fun jvmDependencies(dependencyBlock: KotlinDependencyHandler.() -> Unit) { + project.pluginManager.withPlugin("org.jetbrains.kotlin.jvm") { + project.configure { + sourceSets.getByName("main") { + dependencies(dependencyBlock) + } + } + } + + project.pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") { + project.configure { + sourceSets.getByName("jvmMain") { + dependencies(dependencyBlock) + } + } + } + } + + public fun jsDependencies(dependencyBlock: KotlinDependencyHandler.() -> Unit) { + project.pluginManager.withPlugin("org.jetbrains.kotlin.js") { + project.configure { + sourceSets.getByName("main") { + dependencies(dependencyBlock) + } + } + } + + project.pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") { + project.configure { + sourceSets.getByName("jsMain") { + dependencies(dependencyBlock) + } + } + } + } + /** * Mark this module as an application module. JVM application should be enabled separately */