diff --git a/build.gradle.kts b/build.gradle.kts index 4565be6..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.8.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.1") + 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.32") + 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 4ee2ebb..c11577d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,23 +1,39 @@ -## Generated by $ ./gradlew refreshVersionsCatalog +[versions] +atomicfu = "0.24.0" +changelog = "2.2.0" +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" +kotlinx-cli = "0.3.6" +kotlinx-coroutines = "1.8.1" +kotlinx-datetime = "0.6.0" +kotlinx-html = "0.11.0" +kotlinx-knit = "0.5.0" +kotlinx-nodejs = "0.0.7" +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" [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-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" } @@ -30,117 +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" } - -[versions] - -tools = "0.15.2-kotlin-2.0.0-RC2" -kotlin = "2.0.0-RC2" -# https://github.com/Kotlin/kotlinx-atomicfu -atomicfu = "0.23.1" -# https://github.com/Kotlin/binary-compatibility-validator -binary-compatibility-validator = "0.14.0" -# https://github.com/JetBrains/gradle-changelog-plugin -changelog = "2.2.0" -# https://github.com/Kotlin/dokka -dokka = "1.9.20" -# https://github.com/Kotlin/kotlin-jupyter -kotlin-jupyter = "0.12.0-192" -# https://github.com/Kotlin/kotlinx-benchmark -kotlinx-benchmark = "0.4.9" -# https://github.com/Kotlin/kotlinx-cli -kotlinx-cli = "0.3.6" -# https://github.com/Kotlin/kotlinx.coroutines -kotlinx-coroutines = "1.8.0" -# https://github.com/Kotlin/kotlinx-datetime -kotlinx-datetime = "0.4.1" -# https://github.com/Kotlin/kotlinx.html -kotlinx-html = "0.11.0" -# https://github.com/Kotlin/kotlinx-knit -kotlinx-knit = "0.4.0" -# https://github.com/Kotlin/kotlinx-nodejs -kotlinx-nodejs = "0.0.7" -# https://github.com/Kotlin/kotlinx.serialization -kotlinx-serialization = "1.6.2" -# https://ktor.io/ -ktor = "2.3.6" -# https://github.com/pdvrieze/xmlutil -xmlutil = "0.86.2" -# https://github.com/Him188/yamlkt -yamlkt = "0.13.0" -# https://github.com/JetBrains/kotlin-wrappers -jsBom = "1.0.0-pre.732" -junit = "5.9.3" -# https://github.com/JetBrains/compose-multiplatform -compose = "1.6.2" -# 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" +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] - -atomicfu-gradle = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin", version.ref = "atomicfu" } +analysis-kotlin-descriptors = { module = "org.jetbrains.dokka:analysis-kotlin-descriptors", version.ref = "dokka" } atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicfu" } - -binary-compatibility-validator = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version.ref = "binary-compatibility-validator" } - +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-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-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-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-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-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-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-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" } - +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" } - -slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } - -logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 79b57d7..c799878 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,5 +2,4 @@ rootProject.name = "gradle-tools" plugins { id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") - id("de.fayard.refreshVersions") version "0.60.5" }