diff --git a/build.gradle.kts b/build.gradle.kts index e9a7bc3..04d479f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,8 +4,10 @@ plugins { `maven-publish` signing `version-catalog` - alias(libs.plugins.changelog) - alias(libs.plugins.dokka) + alias(libs.plugins.org.jetbrains.changelog) + alias(libs.plugins.org.jetbrains.dokka) + alias(libs.plugins.com.github.ben.manes.versions) + alias(libs.plugins.nl.littlerobots.version.catalog.update) } group = "space.kscience" @@ -25,18 +27,18 @@ kotlin.explicitApiWarning() dependencies { api(libs.kotlin.gradle) - api("org.gradle.toolchains:foojay-resolver:0.7.0") + api(libs.foojay.resolver) implementation(libs.binary.compatibility.validator) implementation(libs.changelog.gradle) implementation(libs.dokka.gradle) implementation(libs.kotlin.jupyter.gradle) implementation(libs.kotlin.serialization) implementation(libs.kotlinx.html) - implementation("org.tomlj:tomlj:1.1.0") + implementation(libs.tomlj) // // nexus publishing plugin -// implementation("io.github.gradle-nexus:publish-plugin:1.1.0") +// implementation("io.github.gradle-nexus:publish-plugin:_") - implementation("org.freemarker:freemarker:2.3.31") + implementation(libs.freemarker) testImplementation(kotlin("test")) } @@ -218,4 +220,13 @@ tasks.processResources.configure { // Workaround for https://github.com/gradle/gradle/issues/15568 tasks.withType().configureEach { mustRunAfter(tasks.withType()) -} \ No newline at end of file +} + +versionCatalogUpdate { + keep { + keepUnusedVersions = true + keepUnusedPlugins = true + keepUnusedLibraries = true + } +} + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7fc6f1f..e495236 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,3 @@ kotlin.code.style=official + +nl.littlerobots.vcu.resolver=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d753a01..c11577d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,131 +1,39 @@ [versions] -tools = "0.16.0-kotlin-1.9.22" -kotlin = "1.9.22" -# https://github.com/Kotlin/kotlinx-atomicfu -atomicfu = "0.23.1" -# https://github.com/Kotlin/binary-compatibility-validator -binary-compatibility-validator = "0.13.2" -# https://github.com/JetBrains/gradle-changelog-plugin +atomicfu = "0.24.0" changelog = "2.2.0" -# https://github.com/Kotlin/dokka -dokka = "1.9.10" -# https://github.com/Kotlin/kotlin-jupyter -kotlin-jupyter = "0.12.0-93" -# https://github.com/Kotlin/kotlinx-benchmark +compose = "1.6.10" +dokka = "1.9.20" +jsBom = "1.0.0-pre.751" +# @pin +kotlin = "2.0.0" +kotlin-jupyter = "0.12.0-227" kotlinx-benchmark = "0.4.10" -# https://github.com/Kotlin/kotlinx-cli kotlinx-cli = "0.3.6" -# https://github.com/Kotlin/kotlinx.coroutines -kotlinx-coroutines = "1.8.0-RC2" -# https://github.com/Kotlin/kotlinx-datetime -kotlinx-datetime = "0.4.1" -# https://github.com/Kotlin/kotlinx.html +kotlinx-coroutines = "1.8.1" +kotlinx-datetime = "0.6.0" kotlinx-html = "0.11.0" -# https://github.com/Kotlin/kotlinx-knit -kotlinx-knit = "0.4.0" -# https://github.com/Kotlin/kotlinx-nodejs +kotlinx-knit = "0.5.0" kotlinx-nodejs = "0.0.7" -# https://github.com/Kotlin/kotlinx.serialization -kotlinx-serialization = "1.6.2" -# https://ktor.io/ -ktor = "2.3.8" -# https://github.com/pdvrieze/xmlutil -xmlutil = "0.86.2" -# https://github.com/Him188/yamlkt +kotlinx-serialization = "1.6.3" +ktor = "2.3.11" +logback = "1.5.6" +slf4j = "2.0.13" +# @pin +tools = "0.15.3-kotlin-2.0.0" +xmlutil = "0.86.3" yamlkt = "0.13.0" -# https://github.com/JetBrains/kotlin-wrappers -jsBom = "1.0.0-pre.693" -junit = "5.9.3" -# https://github.com/JetBrains/compose-multiplatform -compose = "1.5.12" -# https://mvnrepository.com/artifact/org.slf4j/slf4j-api -slf4j = "2.0.9" -# https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -logback = "1.4.11" - -[libraries] -atomicfu-gradle = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin", version.ref = "atomicfu" } -atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicfu" } - -binary-compatibility-validator = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version.ref = "binary-compatibility-validator" } - -changelog-gradle = { module = "org.jetbrains.intellij.plugins:gradle-changelog-plugin", version.ref = "changelog" } - -dokka-gradle = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } - -kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } -kotlin-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" } - -kotlin-jupyter-gradle = { module = "org.jetbrains.kotlin:kotlin-jupyter-api-gradle-plugin", version.ref = "kotlin-jupyter" } - -kotlin-js-wrappers = { module = "org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom", version.ref = "jsBom" } - -kotlinx-benchmark-runtime = { module = "org.jetbrains.kotlinx:kotlinx-benchmark-runtime", version.ref = "kotlinx-benchmark" } - -kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-debug = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-debug", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-reactive = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactive", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-reactor = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactor", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-rx2 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-rx2", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-rx3 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-rx3", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-javafx = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-javafx", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-jdk8 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-slf4j = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-slf4j", version.ref = "kotlinx-coroutines" } -kotlinx-coroutines-play-services = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines" } - -kotlinx-cli = { module = "org.jetbrains.kotlinx:kotlinx-cli", version.ref = "kotlinx-cli" } - -kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } - -kotlinx-html = { module = "org.jetbrains.kotlinx:kotlinx-html", version.ref = "kotlinx-html" } - -kotlinx-knit = { module = "org.jetbrains.kotlinx:kotlinx-knit", version.ref = "kotlinx-knit" } - -kotlinx-nodejs = { module = "org.jetbrains.kotlinx:kotlinx-nodejs", version.ref = "kotlinx-nodejs" } - -kotlinx-serialization-cbor = { module = "org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref = "kotlinx-serialization" } -kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" } -kotlinx-serialization-hocon = { module = "org.jetbrains.kotlinx:kotlinx-serialization-hocon", version.ref = "kotlinx-serialization" } -kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } -kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "kotlinx-serialization" } -kotlinx-serialization-properties = { module = "org.jetbrains.kotlinx:kotlinx-serialization-properties", version.ref = "kotlinx-serialization" } - -ktor-bom = { module = "io.ktor:ktor-bom", version.ref = "ktor" } - -xmlutil-core = { module = "io.github.pdvrieze.xmlutil:core", version.ref = "xmlutil" } -xmlutil-ktor = { module = "io.github.pdvrieze.xmlutil:ktor", version.ref = "xmlutil" } -xmlutil-serialization = { module = "io.github.pdvrieze.xmlutil:serialization", version.ref = "xmlutil" } - -yamlkt = { module = "net.mamoe.yamlkt:yamlkt", version.ref = "yamlkt" } - -slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } - -logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } [plugins] -changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" } - -dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } - +com-github-ben-manes-versions = "com.github.ben-manes.versions:0.51.0" compose = { id = "org.jetbrains.compose", version.ref = "compose" } - -ktor = {id = "io.ktor.plugin", version.ref = "ktor"} - gradle-common = { id = "space.kscience.gradle.common", version.ref = "tools" } -gradle-project = { id = "space.kscience.gradle.project", version.ref = "tools" } -gradle-mpp = { id = "space.kscience.gradle.mpp", version.ref = "tools" } gradle-jvm = { id = "space.kscience.gradle.jvm", version.ref = "tools" } -gradle-js = { id = "space.kscience.gradle.js", version.ref = "tools" } -gradle-native = { id = "space.kscience.gradle.native", version.ref = "tools" } -gradle-node = { id = "space.kscience.gradle.node", version.ref = "tools" } - +gradle-mpp = { id = "space.kscience.gradle.mpp", version.ref = "tools" } +gradle-project = { id = "space.kscience.gradle.project", version.ref = "tools" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-android-extensions = { id = "org.jetbrains.kotlin.android.extensions", version.ref = "kotlin" } kotlin-js = { id = "org.jetbrains.kotlin.js", version.ref = "kotlin" } +kotlin-jupyter-api = { id = "org.jetbrains.kotlin.jupyter.api", version.ref = "kotlin-jupyter" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } @@ -138,7 +46,68 @@ kotlin-plugin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", versio kotlin-plugin-scripting = { id = "org.jetbrains.kotlin.plugin.scripting", version.ref = "kotlin" } kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlin-plugin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" } - -kotlin-jupyter-api = { id = "org.jetbrains.kotlin.jupyter.api", version.ref = "kotlin-jupyter" } - kotlinx-benchmark = { id = "org.jetbrains.kotlinx.benchmark", version.ref = "kotlinx-benchmark" } +ktor = { id = "io.ktor.plugin", version.ref = "ktor" } +nl-littlerobots-version-catalog-update = "nl.littlerobots.version-catalog-update:0.8.4" +org-gradle-kotlin-kotlin-dsl = "org.gradle.kotlin.kotlin-dsl:4.4.0" +org-jetbrains-changelog = "org.jetbrains.changelog:2.2.0" +org-jetbrains-dokka = "org.jetbrains.dokka:1.9.20" + +[libraries] +analysis-kotlin-descriptors = { module = "org.jetbrains.dokka:analysis-kotlin-descriptors", version.ref = "dokka" } +atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicfu" } +atomicfu-gradle = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin", version.ref = "atomicfu" } +binary-compatibility-validator = "org.jetbrains.kotlinx:binary-compatibility-validator:0.15.0-Beta.2" +changelog-gradle = { module = "org.jetbrains.intellij.plugins:gradle-changelog-plugin", version.ref = "changelog" } +dokka-base = { module = "org.jetbrains.dokka:dokka-base", version.ref = "dokka" } +dokka-gradle = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } +dokka-gradle-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } +foojay-resolver = "org.gradle.toolchains:foojay-resolver:0.8.0" +freemarker = "org.freemarker:freemarker:2.3.32" +gradle-changelog-plugin = { module = "org.jetbrains.intellij.plugins:gradle-changelog-plugin", version.ref = "changelog" } +kotlin-assignment-compiler-plugin-embeddable = { module = "org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable", version.ref = "kotlin" } +kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +kotlin-js-wrappers = { module = "org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom", version.ref = "jsBom" } +kotlin-jupyter-api-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-jupyter-api-gradle-plugin", version.ref = "kotlin" } +kotlin-jupyter-gradle = { module = "org.jetbrains.kotlin:kotlin-jupyter-api-gradle-plugin", version.ref = "kotlin-jupyter" } +kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" } +kotlin-sam-with-receiver-compiler-plugin-embeddable = { module = "org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable", version.ref = "kotlin" } +kotlin-scripting-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable", version.ref = "kotlin" } +kotlin-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" } +kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } +kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test" } +kotlinx-benchmark-runtime = { module = "org.jetbrains.kotlinx:kotlinx-benchmark-runtime", version.ref = "kotlinx-benchmark" } +kotlinx-cli = { module = "org.jetbrains.kotlinx:kotlinx-cli", version.ref = "kotlinx-cli" } +kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-debug = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-debug", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-javafx = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-javafx", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-jdk8 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-play-services = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-reactive = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactive", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-reactor = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactor", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-rx2 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-rx2", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-rx3 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-rx3", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-slf4j = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-slf4j", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } +kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } +kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } +kotlinx-html = { module = "org.jetbrains.kotlinx:kotlinx-html", version.ref = "kotlinx-html" } +kotlinx-knit = { module = "org.jetbrains.kotlinx:kotlinx-knit", version.ref = "kotlinx-knit" } +kotlinx-nodejs = { module = "org.jetbrains.kotlinx:kotlinx-nodejs", version.ref = "kotlinx-nodejs" } +kotlinx-serialization-cbor = { module = "org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref = "kotlinx-serialization" } +kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" } +kotlinx-serialization-hocon = { module = "org.jetbrains.kotlinx:kotlinx-serialization-hocon", version.ref = "kotlinx-serialization" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } +kotlinx-serialization-properties = { module = "org.jetbrains.kotlinx:kotlinx-serialization-properties", version.ref = "kotlinx-serialization" } +kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "kotlinx-serialization" } +ktor-bom = { module = "io.ktor:ktor-bom", version.ref = "ktor" } +logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } +slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } +tomlj = "org.tomlj:tomlj:1.1.1" +xmlutil-core = { module = "io.github.pdvrieze.xmlutil:core", version.ref = "xmlutil" } +xmlutil-ktor = { module = "io.github.pdvrieze.xmlutil:ktor", version.ref = "xmlutil" } +xmlutil-serialization = { module = "io.github.pdvrieze.xmlutil:serialization", version.ref = "xmlutil" } +yamlkt = { module = "net.mamoe.yamlkt:yamlkt", version.ref = "yamlkt" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e411586..48c0a02 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index c16070c..c799878 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,5 @@ rootProject.name = "gradle-tools" plugins { - id("org.gradle.toolchains.foojay-resolver-convention") version("0.7.0") + id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } diff --git a/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt b/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt index 6f98673..893c18d 100644 --- a/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt +++ b/src/main/kotlin/space/kscience/gradle/KScienceExtension.kt @@ -9,6 +9,7 @@ import org.gradle.api.tasks.testing.Test import org.gradle.jvm.toolchain.JavaLanguageVersion import org.gradle.kotlin.dsl.* import org.gradle.language.jvm.tasks.ProcessResources +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension @@ -230,8 +231,8 @@ public open class KScienceExtension(public val project: Project) { */ public fun useContextReceivers() { project.tasks.withType { - kotlinOptions { - freeCompilerArgs = freeCompilerArgs + "-Xcontext-receivers" + compilerOptions{ + freeCompilerArgs.add("-Xcontext-receivers") } } } @@ -359,10 +360,9 @@ public open class KScienceMppExtension(project: Project) : KScienceExtension(pro project.pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") { project.configure { jvm { - compilations.all { - compilerOptions.configure { - freeCompilerArgs.addAll(defaultKotlinJvmArgs) - } + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions{ + freeCompilerArgs.addAll(defaultKotlinJvmArgs) } block() } @@ -459,8 +459,8 @@ public open class KScienceMppExtension(project: Project) : KScienceExtension(pro ) { js { browser { - webpackTask { - mainOutputFileName.set(bundleName) + commonWebpackConfig{ + outputFileName = bundleName } browserConfig() } diff --git a/src/main/kotlin/space/kscience/gradle/KScienceMPPlugin.kt b/src/main/kotlin/space/kscience/gradle/KScienceMPPlugin.kt index 97d8d58..90ab1f2 100644 --- a/src/main/kotlin/space/kscience/gradle/KScienceMPPlugin.kt +++ b/src/main/kotlin/space/kscience/gradle/KScienceMPPlugin.kt @@ -4,17 +4,17 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.hasPlugin import org.gradle.kotlin.dsl.invoke import org.jetbrains.dokka.gradle.DokkaPlugin +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin import space.kscience.gradle.internal.applySettings import space.kscience.gradle.internal.defaultKotlinCommonArgs public open class KScienceMPPlugin : Plugin { + override fun apply(project: Project): Unit = project.run { - if (!plugins.hasPlugin(KotlinMultiplatformPlugin::class)) { + if (!plugins.hasPlugin("org.jetbrains.kotlin.multiplatform")) { //apply() for some reason it does not work plugins.apply("org.jetbrains.kotlin.multiplatform") } else { @@ -40,13 +40,9 @@ public open class KScienceMPPlugin : Plugin { languageSettings.applySettings() } } - - targets.all { - compilations.all { - kotlinOptions{ - freeCompilerArgs += defaultKotlinCommonArgs - } - } + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions{ + freeCompilerArgs.addAll(defaultKotlinCommonArgs) } if (explicitApi == null) explicitApiWarning() diff --git a/src/main/kotlin/space/kscience/gradle/KScienceProjectPlugin.kt b/src/main/kotlin/space/kscience/gradle/KScienceProjectPlugin.kt index a613654..fdb73f1 100644 --- a/src/main/kotlin/space/kscience/gradle/KScienceProjectPlugin.kt +++ b/src/main/kotlin/space/kscience/gradle/KScienceProjectPlugin.kt @@ -91,7 +91,7 @@ public open class KScienceProjectPlugin : Plugin { repositories { mavenCentral() maven("https://repo.kotlin.link") - maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev") + google() } // Workaround for https://github.com/gradle/gradle/issues/15568 diff --git a/src/main/kotlin/space/kscience/gradle/internal/common.kt b/src/main/kotlin/space/kscience/gradle/internal/common.kt index 1008006..8013390 100644 --- a/src/main/kotlin/space/kscience/gradle/internal/common.kt +++ b/src/main/kotlin/space/kscience/gradle/internal/common.kt @@ -8,9 +8,7 @@ import space.kscience.gradle.KScienceVersions internal val defaultKotlinJvmArgs: List = listOf( - "-Xjvm-default=all", - "-Xlambdas=indy", - /* "-Xjdk-release=${KScienceVersions.JVM_TARGET}"*/ + "-Xjvm-default=all" ) internal val defaultKotlinCommonArgs: List = listOf(