From b461adde71cd6dc571c4b3446f7b4cff4e263722 Mon Sep 17 00:00:00 2001 From: Suresh G Date: Sun, 27 Oct 2024 13:13:45 -0700 Subject: [PATCH] chore: make sandboxing testing easy --- README.md | 6 +- gradle/libs.versions.toml | 2 +- ...ev.suresh.plugin.repos.settings.gradle.kts | 12 +- sandbox/build.gradle.kts | 4 +- sandbox/gradle.properties | 2 +- sandbox/gradle/libs.versions.toml | 671 ------------------ sandbox/settings.gradle.kts | 48 +- sandbox/src/jvmMain/kotlin/Main.kt | 4 + sandbox/src/main/kotlin/Main.kt | 4 - 9 files changed, 44 insertions(+), 709 deletions(-) delete mode 100644 sandbox/gradle/libs.versions.toml create mode 100644 sandbox/src/jvmMain/kotlin/Main.kt delete mode 100644 sandbox/src/main/kotlin/Main.kt diff --git a/README.md b/README.md index 56b05ab..4b7bca1 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,11 @@ $ sdk u java 21.0.4-zulu $ ./gradlew build ``` -For testing, a separate [sandbox project](/sandbox) is available with the plugin applied in `settings.gradle.kts`. -First publish the plugin to the local maven repository and then run the sandbox project by setting the `test.version` in -sandbox [gradle.properties](/sandbox/gradle.properties). +For testing, a separate [sandbox project](/sandbox) is available with the plugin and version catalog applied in +`settings.gradle.kts`. First publish the plugin to the local maven repository and then run the sandbox project. ```bash $ ./gradlew publishToMavenLocal - # Set the test.version in sandbox/gradle.properties $ ./gradlew -p sandbox :build $ ./gradlew -p sandbox :dependencyUpdates ``` diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 83b4b89..d72ee28 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] java = "24" kotlin = "2.1.0-Beta2" -kotlin-ksp = "2.1.0-Beta2-1.0.25" +kotlin-ksp = "2.1.0-Beta2-1.0.26" kotlin-jvmtarget = "21" kotlin-dsl-jvmtarget = "21" kotlin-api-version = "2.1" diff --git a/plugins/src/main/kotlin/dev.suresh.plugin.repos.settings.gradle.kts b/plugins/src/main/kotlin/dev.suresh.plugin.repos.settings.gradle.kts index dacd410..2c2485f 100644 --- a/plugins/src/main/kotlin/dev.suresh.plugin.repos.settings.gradle.kts +++ b/plugins/src/main/kotlin/dev.suresh.plugin.repos.settings.gradle.kts @@ -11,8 +11,10 @@ import org.tomlj.Toml val versionCatalog by lazy { // A hack to read version catalog from settings - Toml.parse(file("$rootDir/gradle/libs.versions.toml").readText()).getTable("versions") - ?: error("Unable to parse the version catalog!") + runCatching { + Toml.parse(file("$rootDir/gradle/libs.versions.toml").readText()).getTable("versions") + } + .getOrNull() } pluginManagement { @@ -123,7 +125,7 @@ fun RepositoryHandler.googleAndroid() { fun RepositoryHandler.nodeJS() { exclusiveContent { forRepository { - ivy(versionCatalog.getString("repo-nodejs").orEmpty()) { + ivy(versionCatalog?.getString("repo-nodejs").orEmpty()) { name = "Node Distributions at $url" patternLayout { artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]") } metadataSources { artifact() } @@ -135,7 +137,7 @@ fun RepositoryHandler.nodeJS() { } fun RepositoryHandler.kobWeb() { - maven(url = versionCatalog.getString("repo-kobweb").orEmpty()) { + maven(url = versionCatalog?.getString("repo-kobweb").orEmpty()) { name = "KobWeb Repo" content { includeGroupAndSubgroups("com.varabyte") } } @@ -145,7 +147,7 @@ fun RepositoryHandler.mavenSnapshot() { val mvnSnapshot = providers.gradleProperty("enableMavenSnapshot").orNull.toBoolean() if (mvnSnapshot) { logger.lifecycle("❖ Maven Snapshot is enabled!") - maven(url = versionCatalog.getString("repo-mvn-snapshot").orEmpty()) { + maven(url = versionCatalog?.getString("repo-mvn-snapshot").orEmpty()) { mavenContent { snapshotsOnly() } } } diff --git a/sandbox/build.gradle.kts b/sandbox/build.gradle.kts index 878475c..5c030d0 100644 --- a/sandbox/build.gradle.kts +++ b/sandbox/build.gradle.kts @@ -4,10 +4,12 @@ import tasks.* plugins { dev.suresh.plugin.root - dev.suresh.plugin.kotlin.jvm + dev.suresh.plugin.kotlin.mpp com.gradleup.shadow } +kotlin { jvmTarget(project) } + description = "Sandbox App" application { mainClass = "MainKt" } diff --git a/sandbox/gradle.properties b/sandbox/gradle.properties index ec66d2c..b701679 100644 --- a/sandbox/gradle.properties +++ b/sandbox/gradle.properties @@ -56,4 +56,4 @@ enableMavenSnapshot=false debug=false # Sandbox Testing -test.version=0.13.0 \ No newline at end of file +# test.version=x.y.z \ No newline at end of file diff --git a/sandbox/gradle/libs.versions.toml b/sandbox/gradle/libs.versions.toml deleted file mode 100644 index 9a458d5..0000000 --- a/sandbox/gradle/libs.versions.toml +++ /dev/null @@ -1,671 +0,0 @@ -[versions] -java = "21" -kotlin = "2.1.0-Beta2" -kotlin-ksp = "2.1.0-Beta2-1.0.25" -kotlin-jvmtarget = "21" -kotlin-dsl-jvmtarget = "21" -kotlin-api-version = "2.1" -kotlin-lang-version = "2.1" -gradle = "8.11-rc-1" -java-vendor = "Oracle" -java-jvmArguments = "--enable-preview" -java-addModules = "jdk.incubator.vector" - -# Additional metadata -group = "dev.suresh.sandbox" -app-mainclass = "dev.suresh.AppKt" -dev-name = "sureshg" -dev-email = "email@suresh.dev" -org-name = "suresh.dev" -org-url = "https://suresh.dev" - -# Gradle Dependencies Versions -kotlinx-kover = "0.9.0-RC" -kotlinx-io = "0.5.4" -kotlinx-atomicfu = "0.26.0" -kotlinx-coroutines = "1.9.0" -kotlinx-datetime = "0.6.1" -kotlinx-serialization = "1.7.3" -kotlinx-rpc = "0.1.0" -kotlinx-collections-immutable = "0.3.8" -kotlinx-lincheck = "2.34" -kotlinx-html = "0.11.0" -kotlinx-browser = "0.2" -kotlinx-benchmark = "0.4.12" -kotlinx-metadata = "0.9.0" -kotlinx-reflect-lite = "1.1.0" -kotlinx-bcv = "0.16.3" -kotlin-dokka = "2.0.0-Beta" -kotlin-wrappers = "1.0.0-pre.820" -kotlin-redacted = "1.11.0-alpha01" -kotlinx-multik = "0.2.3" -kotlinx-dataframe = "0.13.1" -kotlinx-kandy = "0.5.0" -evas = "1.1.0" -kopy = "0.12.0+2.0.21" -poko = "0.17.2" -mappie = "0.8.0" -akkurate = "0.10.0" -konsist = "0.16.1" -karakum = "1.0.0-alpha.40-K2" -seskar = "3.42.0" -spring-boot = "3.3.4" -spring-depmgmt = "1.1.6" -ktor = "3.0.0" -ktor-cohort = "2.5.1" -otel = "1.43.0" -otel-instr = "2.9.0" -otel-instr-alpha = "2.9.0-alpha" -otel-semconv = "1.28.0-alpha" -otel-samplers = "1.40.0-alpha" -elastic-otel = "0.4.0" -okio = "3.9.1" -sslcontext-kickstart = "8.3.7" -ksp-auto-service = "1.2.0" -gradle-kotlin-dsl = "4.3.1" -zip-prefixer = "0.3.1" -ajalt-mordant = "3.0.0" -ajalt-clikt = "5.0.1" -ajalt-colormath = "3.6.0" -classgraph = "4.8.177" -cache4k = "0.11.0" -intellij-coverage = "1.0.754" -intellij-markdown = "0.7.3" -jgit = "6.5.0.202303070854-r" -jte = "3.1.13" -jimfs = "1.3.0" -sshj = "0.38.0" -jsch = "0.2.20" -pty4j = "0.13.2" -junit = "5.11.3" -koin = "4.0.0" -kotest = "6.0.0.M1" -mockk = "1.13.13" -mokkery = "2.4.0" -wiremock = "3.9.2" -wiremock-kotlin = "2.1.1" -okhttp = "5.0.0-alpha.14" -slf4j = "2.1.0-alpha1" -logback = "1.5.11" -logback-tyler = "0.7" -log4j = "3.0.0-beta2" -jmh = "1.37" -mrjar = "0.1.1" -ktfmt = "0.52" -google-javaformat = "1.24.0" -palantir-javaformat = "2.50.0" -google-auto-service = "1.1.1" -google-tink = "1.15.0" -graalvm = "24.1.0" -jspecify = "1.0.0" -rsocket = "0.16.0" -jctools = "4.0.5" -kotlin-codepoints = "0.9.0" -kotlin-logging = "7.0.0" -kotlin-bignum = "0.3.10" -kotlin-diff = "0.7.0" -kotlin-retry = "2.0.1" -kotlinx-jsonpath = "3.0.2" -kotlinx-json-schema = "0.2.3" -kotlin-cryptography = "0.4.0" -uri-kmp = "0.0.18" -urlencoder = "1.5.0" -bytesize = "2.0.0-beta04" -cash-turbine = "1.2.0" -cardiologist = "0.2.2" -kmp-store5 = "5.1.0-alpha04" -kmp-settings = "1.2.0" -kmp-appdirs = "1.2.0" -parsus = "0.6.1" -java-keyring = "1.0.3" -java-keychain = "1.1.0" -webjars-xterm = "5.1.0" -arrow-suspendapp = "0.4.1-alpha.5" -exposed = "0.55.0" -postgresql = "42.7.4" -hikariCP = "6.0.0" -h2 = "2.3.232" -micrometer = "1.13.3" -swagger-ui = "5.17.14" -hoplite = "2.8.0" -config4k = "0.6.0" -shedlock = "5.15.0" -sherlock = "1.0.1" -sqids = "0.1.0" -tsid = "2.1.1" -expiringmap = "0.5.10" -otp = "2.0.3" -password4j = "1.8.2" -apache-commons-imaging = "1.0-alpha3" -testcontainers = "1.20.3" -sourceBuddy = "2.5.0" -tcp-javanioproxy = "1.6" -kubernetes-client = "21.0.2" -reflect-typeparamresolver = "1.0.2" -reflect-typetools = "0.6.3" -async-profiler = "3.0" -ap-loader-all = "3.0-9" -openjdk-jmc = "9.0.0" -airlift-aircompressor = "2.0.2" -airlift-security = "275" -directory-keystore = "1.1.0" -maven-mima = "3.0.0-alpha-3" -maven-archeologist = "0.0.10" -jfree-chart = "1.5.4" -jfree-svg = "5.0.6" -xchart = "3.8.7" -batik = "1.17" -twelvemonkeys = "3.12.0" -okapibarcode = "0.4.1" -chasm = "0.7.1" -kfswatch = "1.3.0" -langchain4j = "0.35.0" -jlama = "0.5.1" -ldaptive = "2.3.2" -chicory = "0.0.12" - -# Compose -jetbrains-compose = "1.7.0" -jetbrains-compose-viewmodel = "2.8.3" -jetbrains-compose-nav = "2.8.0-alpha10" -jetbrains-compose-adaptive = "1.0.0" -kobweb = "0.19.2" -detekt = "1.23.7" -detekt-compose-rules = "0.4.16" -compose-icons = "1.1.0" -compose-routing = "0.4.0" -kottie = "2.0.1" -mosaic = "0.14.0" - -# NPM Dependencies -npm-highlightjs = "11.10.0" -npm-kotlin-playground = "1.30.0" -npm-xtermjs = "5.5.0" -npm-vega-lite = "5.19.0" -npm-jsjoda-tz = "2.21.1" -swagger-style = "https://unpkg.com/swagger-ui-themes@3.0.1/themes/3.x/theme-flattop.css" - -# Plugin versions -benmanes = "0.51.0" -foojay-resolver = "0.8.0" -gradle-develocity = "3.18.1" -nmcp = "0.0.9" -nexus-publish = "2.0.0" -vanniktech-publish = "0.30.0" -shadow = "8.3.3" -spotless = "7.0.0.BETA3" -semver-plugin = "0.8.0" -tasktree = "4.0.0" -sigstore = "1.0.0" -reproducible-builds = "1.0" -autonomousapps-depanalysis = "2.2.0" -autonomousapps-bestpractices = "0.10" -graalvm-nativeimage = "0.10.3" -github-depgraph = "0.1.0" -github-changelog = "2.2.0" -wire-plugin = "5.1.0" -buildkonfig = "0.15.2" -gmazzo-buildconfig = "3.1.0" -cyclonedx-plugin = "1.10.0" -modulegraph = "0.10.1" -cash-molecule = "1.4.3" -npm-publish-plugin = "3.4.3" -exposed-plugin = "0.2.1" -jib-plugin = "3.4.4" -jib-nativeimage-extn = "0.1.0" -includegit-plugin = "0.1.6" -kmp-hierarchy = "1.1" -tomlj = "1.1.1" - -# Repositories -repo-mvn-snapshot = "https://oss.sonatype.org/content/repositories/snapshots" -repo-mvn-snapshots01 = "https://s01.oss.sonatype.org/content/repositories/snapshots/" -repo-nodejs = "https://nodejs.org/dist/" -repo-kobweb = "https://us-central1-maven.pkg.dev/varabyte-repos/public" - -[libraries] -# External plugins for precompiled script plugins (build-logic) -# https://plugins.gradle.org/plugin/org.jetbrains.kotlin.multiplatform -build-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin" , version.ref = "kotlin"} -build-kotlin-noarg = { module = "org.jetbrains.kotlin:kotlin-noarg" , version.ref = "kotlin"} -build-kotlin-atomicfu = { module = "org.jetbrains.kotlin:atomicfu" , version.ref = "kotlin"} -build-kotlin-allopen = { module = "org.jetbrains.kotlin:kotlin-allopen" , version.ref = "kotlin"} -build-kotlin-powerassert = { module = "org.jetbrains.kotlin:kotlin-power-assert" , version.ref = "kotlin"} -build-kotlin-jsplainobjects = { module = "org.jetbrains.kotlin:js-plain-objects" , version.ref = "kotlin"} -build-kotlinx-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization" , version.ref = "kotlin"} -build-kotlin-compose-compiler = { module = "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable" , version.ref = "kotlin"} -build-kotlinx-atomicfu = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin" , version.ref = "kotlinx-atomicfu"} -build-kotlinx-benchmark = { module = "org.jetbrains.kotlinx:kotlinx-benchmark-plugin" , version.ref = "kotlinx-benchmark"} -build-kotlin-dsl = { module = "org.gradle.kotlin:gradle-kotlin-dsl-plugins" , version.ref = "gradle-kotlin-dsl"} -build-dokka-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin" , version.ref = "kotlin-dokka"} -build-kotlin-ksp = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin" , version.ref = "kotlin-ksp"} -build-kopy-plugin = { module = "com.javiersc.kotlin:kopy-gradle-plugin" , version.ref = "kopy"} -build-redacted-plugin = { module = "dev.zacsweers.redacted:redacted-compiler-plugin-gradle" , version.ref = "kotlin-redacted"} -build-kmp-hierarchy = { module = "io.github.terrakok:kmp-hierarchy" , version.ref = "kmp-hierarchy"} -build-benmanesversions = { module = "com.github.ben-manes:gradle-versions-plugin" , version.ref = "benmanes"} -build-gradle-develocity = { module = "com.gradle:develocity-gradle-plugin" , version.ref = "gradle-develocity" } -build-mrjar-plugin = { module = "me.champeau.gradle.mrjar:plugin" , version.ref = "mrjar"} -build-jte-plugin = { module = "gg.jte:jte-gradle-plugin" , version.ref = "jte"} -build-nmcp-plugin = { module = "com.gradleup.nmcp:nmcp" , version.ref = "nmcp"} -build-nexus-plugin = { module = "io.github.gradle-nexus:publish-plugin" , version.ref = "nexus-publish"} -build-vanniktech-publish = { module = "com.vanniktech:gradle-maven-publish-plugin" , version.ref = "vanniktech-publish"} -build-spotless-plugin = { module = "com.diffplug.spotless:spotless-plugin-gradle" , version.ref = "spotless"} -build-shadow-plugin = { module = "com.gradleup.shadow:shadow-gradle-plugin" , version.ref = "shadow"} -build-tasktree = { module = "com.dorongold.plugins:task-tree" , version.ref = "tasktree" } -build-sigstore = { module = "dev.sigstore:sigstore-gradle-sign-plugin" , version.ref = "sigstore" } -build-sigstore-base = { module = "dev.sigstore:sigstore-gradle-sign-base-plugin" , version.ref = "sigstore" } -build-dependencyanalysis = { module = "com.autonomousapps:dependency-analysis-gradle-plugin" , version.ref = "autonomousapps-depanalysis" } -build-bestpractices-plugin = { module = "com.autonomousapps:plugin-best-practices-plugin" , version.ref = "autonomousapps-bestpractices" } -build-semver-plugin = { module = "com.javiersc.semver:semver-gradle-plugin" , version.ref = "semver-plugin" } -build-zip-prefixer = { module = "net.e175.klaus:zip-prefixer" , version.ref = "zip-prefixer" } -build-foojay-resolver = { module = "org.gradle.toolchains:foojay-resolver" , version.ref = "foojay-resolver" } -build-cyclonedx-plugin = { module = "org.cyclonedx:cyclonedx-gradle-plugin" , version.ref = "cyclonedx-plugin" } -build-kotlinx-kover = { module = "org.jetbrains.kotlinx:kover-gradle-plugin" , version.ref = "kotlinx-kover" } -build-nativeimage-plugin = { module = "org.graalvm.buildtools:native-gradle-plugin" , version.ref = "graalvm-nativeimage"} -build-github-depgraph = { module = "org.gradle:github-dependency-graph-gradle-plugin" , version.ref = "github-depgraph"} -build-wire-plugin = { module = "com.squareup.wire:wire-gradle-plugin" , version.ref = "wire-plugin"} -build-poko-plugin = { module = "dev.drewhamilton.poko:poko-gradle-plugin" , version.ref = "poko"} -build-kotlinx-bcv = { module = "org.jetbrains.kotlinx:binary-compatibility-validator" , version.ref = "kotlinx-bcv"} -build-buildkonfig-plugin = { module = "com.codingfeline.buildkonfig:buildkonfig-gradle-plugin" , version.ref = "buildkonfig"} -build-gmazzo-buildconfig = { module = "com.github.gmazzo.buildconfig:plugin" , version.ref = "gmazzo-buildconfig"} -build-mokkery-plugin = { module = "dev.mokkery:mokkery-gradle" , version.ref = "mokkery"} -build-mappie-plugin = { module = "tech.mappie:gradle-plugin" , version.ref = "mappie"} -build-cash-molecule-plugin = { module = "app.cash.molecule:molecule-gradle-plugin" , version.ref = "cash-molecule"} -build-modulegraph-plugin = { module = "dev.iurysouza:modulegraph" , version.ref = "modulegraph"} -build-npm-publish-plugin = { module = "dev.petuska:npm-publish-gradle-plugin" , version.ref = "npm-publish-plugin"} -build-exposed-plugin = { module = "gradle.plugin.com.jetbrains.exposed.gradle:plugin" , version.ref = "exposed-plugin"} -build-intellij-coverage = { module = "org.jetbrains.intellij.deps:intellij-coverage-reporter" , version.ref = "intellij-coverage" } -build-github-changelog = { module = "org.hildan.gradle:gradle-github-changelog" , version.ref = "github-changelog" } -build-jimfs = { module = "com.google.jimfs:jimfs" , version.ref = "jimfs" } -build-jib-plugin = { module = "com.google.cloud.tools:jib-gradle-plugin" , version.ref = "jib-plugin" } -build-jib-nativeimage-extn = { module = "com.google.cloud.tools:jib-native-image-extension-gradle" , version.ref = "jib-nativeimage-extn" } -build-includegit-plugin = { module = "me.champeau.gradle.includegit:plugin" , version.ref = "includegit-plugin" } -build-karakum-plugin = { module = "io.github.sgrishchenko:karakum-gradle-plugin" , version.ref = "karakum" } -build-tomlj = { module = "org.tomlj:tomlj" , version.ref = "tomlj" } -build-reproducible-builds = { module = "org.gradlex:reproducible-builds" , version.ref = "reproducible-builds" } -build-bytesize = { module = "me.saket.bytesize:bytesize" , version.ref = "bytesize" } - - -# Gradle Dependencies -kotlin-bom = { module = "org.jetbrains.kotlin:kotlin-bom" , version.ref = "kotlin"} -kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib" , version.ref = "kotlin"} -kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect" , version.ref = "kotlin"} -kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test" , version.ref = "kotlin"} -kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit" , version.ref = "kotlin"} -kotlin-test-junit5 = { module = "org.jetbrains.kotlin:kotlin-test-junit5" , version.ref = "kotlin"} -kotlin-metadata-jvm = { module = "org.jetbrains.kotlin:kotlin-metadata-jvm" , version.ref = "kotlin"} -kotlin-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable" , version.ref = "kotlin"} -kotlinx-coroutines-bom = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-bom" , 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-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-debug = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-debug" , version.ref = "kotlinx-coroutines"} -kotlinx-serialization-bom = { module = "org.jetbrains.kotlinx:kotlinx-serialization-bom" , version.ref = "kotlinx-serialization" } -kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core" , version.ref = "kotlinx-serialization"} -kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json" , version.ref = "kotlinx-serialization"} -kotlinx-serialization-json-io = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json-io" , version.ref = "kotlinx-serialization"} -kotlinx-serialization-hocon = { module = "org.jetbrains.kotlinx:kotlinx-serialization-hocon" , version.ref = "kotlinx-serialization"} -kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime" , version.ref = "kotlinx-datetime"} -kotlinx-io-core = { module = "org.jetbrains.kotlinx:kotlinx-io-core" , version.ref = "kotlinx-io"} -kotlinx-lincheck = { module = "org.jetbrains.kotlinx:lincheck" , version.ref = "kotlinx-lincheck"} -kotlinx-reflect-lite = { module = "org.jetbrains.kotlinx:kotlinx.reflect.lite" , version.ref = "kotlinx-reflect-lite"} -kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable" , version.ref = "kotlinx-collections-immutable"} -kotlinx-html = { module = "org.jetbrains.kotlinx:kotlinx-html" , version.ref = "kotlinx-html"} -kotlinx-browser = { module = "org.jetbrains.kotlinx:kotlinx-browser" , version.ref = "kotlinx-browser"} -kotlinx-bench-runtime = { module = "org.jetbrains.kotlinx:kotlinx-benchmark-runtime" , version.ref = "kotlinx-benchmark"} -kotlin-ksp-api = { module = "com.google.devtools.ksp:symbol-processing-api" , version.ref = "kotlin-ksp"} -kotlin-redacted-annotations = { module = "dev.zacsweers.redacted:redacted-compiler-plugin-annotations" , version.ref = "kotlin-redacted"} -kotlin-cryptography-core = { module = "dev.whyoleg.cryptography:cryptography-core" , version.ref = "kotlin-cryptography"} -kotlin-cryptography-random = { module = "dev.whyoleg.cryptography:cryptography-random" , version.ref = "kotlin-cryptography"} -kotlin-cryptography-webcrypto = { module = "dev.whyoleg.cryptography:cryptography-provider-webcrypto" , version.ref = "kotlin-cryptography"} -jspecify = { module = "org.jspecify:jspecify" , version.ref = "jspecify"} - -ktor-bom = { module = "io.ktor:ktor-bom" , version.ref = "ktor"} -ktor-serialization = { module = "io.ktor:ktor-serialization" , version.ref = "ktor"} -ktor-server-core = { module = "io.ktor:ktor-server-core" , version.ref = "ktor"} -ktor-server-cio = { module = "io.ktor:ktor-server-cio" , version.ref = "ktor"} -ktor-server-jetty = { module = "io.ktor:ktor-server-jetty" , version.ref = "ktor"} -ktor-server-netty = { module = "io.ktor:ktor-server-netty" , version.ref = "ktor"} -ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation" , version.ref = "ktor"} -ktor-server-metrics-micrometer = { module = "io.ktor:ktor-server-metrics-micrometer" , version.ref = "ktor"} -ktor-server-call-logging = { module = "io.ktor:ktor-server-call-logging" , version.ref = "ktor"} -ktor-server-call-id = { module = "io.ktor:ktor-server-call-id" , version.ref = "ktor"} -ktor-server-cors = { module = "io.ktor:ktor-server-cors" , version.ref = "ktor"} -ktor-server-hsts = { module = "io.ktor:ktor-server-hsts" , version.ref = "ktor"} -ktor-server-swagger = { module = "io.ktor:ktor-server-swagger" , version.ref = "ktor"} -ktor-server-openapi = { module = "io.ktor:ktor-server-openapi" , version.ref = "ktor"} -ktor-server-http-redirect = { module = "io.ktor:ktor-server-http-redirect" , version.ref = "ktor"} -ktor-server-compression = { module = "io.ktor:ktor-server-compression" , version.ref = "ktor"} -ktor-server-rate-limit = { module = "io.ktor:ktor-server-rate-limit" , version.ref = "ktor"} -ktor-server-double-receive = { module = "io.ktor:ktor-server-double-receive" , version.ref = "ktor"} -ktor-server-host-common = { module = "io.ktor:ktor-server-host-common" , version.ref = "ktor"} -ktor-server-resources = { module = "io.ktor:ktor-server-resources" , version.ref = "ktor"} -ktor-server-auth = { module = "io.ktor:ktor-server-auth" , version.ref = "ktor"} -ktor-server-auth-jwt = { module = "io.ktor:ktor-server-auth-jwt" , version.ref = "ktor"} -ktor-server-default-headers = { module = "io.ktor:ktor-server-default-headers" , version.ref = "ktor"} -ktor-server-status-pages = { module = "io.ktor:ktor-server-status-pages" , version.ref = "ktor"} -ktor-server-partial-content = { module = "io.ktor:ktor-server-partial-content" , version.ref = "ktor"} -ktor-server-auto-head = { module = "io.ktor:ktor-server-auto-head-response" , version.ref = "ktor"} -ktor-server-forwarded-header = { module = "io.ktor:ktor-server-forwarded-header" , version.ref = "ktor"} -ktor-server-html = { module = "io.ktor:ktor-server-html-builder" , version.ref = "ktor"} -ktor-server-websockets = { module = "io.ktor:ktor-server-websockets" , version.ref = "ktor"} -ktor-server-sse = { module = "io.ktor:ktor-server-sse" , version.ref = "ktor"} -ktor-server-test-host = { module = "io.ktor:ktor-server-test-host" , version.ref = "ktor"} -ktor-serialization-json = { module = "io.ktor:ktor-serialization-kotlinx-json" , version.ref = "ktor"} -ktor-serialization-xml = { module = "io.ktor:ktor-serialization-kotlinx-xml" , version.ref = "ktor"} - -ktor-client-core = { module = "io.ktor:ktor-client-core" , version.ref = "ktor"} -ktor-client-cio = { module = "io.ktor:ktor-client-cio" , version.ref = "ktor"} -ktor-client-java = { module = "io.ktor:ktor-client-java" , version.ref = "ktor"} -ktor-client-js = { module = "io.ktor:ktor-client-js" , version.ref = "ktor"} -ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp" , version.ref = "ktor"} -ktor-client-jetty = { module = "io.ktor:ktor-client-jetty" , version.ref = "ktor"} -ktor-client-serialization = { module = "io.ktor:ktor-client-serialization" , version.ref = "ktor"} -ktor-client-websockets = { module = "io.ktor:ktor-client-websockets" , version.ref = "ktor"} -ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation" , version.ref = "ktor"} -ktor-client-auth = { module = "io.ktor:ktor-client-auth" , version.ref = "ktor"} -ktor-client-logging = { module = "io.ktor:ktor-client-logging" , version.ref = "ktor"} -ktor-client-resources = { module = "io.ktor:ktor-client-resources" , version.ref = "ktor"} -ktor-client-encoding = { module = "io.ktor:ktor-client-encoding" , version.ref = "ktor"} -ktor-client-mock = { module = "io.ktor:ktor-client-mock" , version.ref = "ktor"} - -# krpc -kotlinx-rpc-runtime = { module = "org.jetbrains.kotlinx:kotlinx-rpc-runtime" , version.ref = "kotlinx-rpc"} -kotlinx-rpc-runtime-client = { module = "org.jetbrains.kotlinx:kotlinx-rpc-runtime-client" , version.ref = "kotlinx-rpc"} -kotlinx-rpc-runtime-server = { module = "org.jetbrains.kotlinx:kotlinx-rpc-runtime-server" , version.ref = "kotlinx-rpc"} -kotlinx-rpc-transport-ktor-client = { module = "org.jetbrains.kotlinx:kotlinx-rpc-transport-ktor-client" , version.ref = "kotlinx-rpc"} -kotlinx-rpc-transport-ktor-server = { module = "org.jetbrains.kotlinx:kotlinx-rpc-transport-ktor-server" , version.ref = "kotlinx-rpc"} -kotlinx-rpc-runtime-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-rpc-runtime-serialization-json" , version.ref = "kotlinx-rpc"} - -evas = { module = "io.sellmair:evas" , version.ref = "evas"} -mappie-api = { module = "tech.mappie:mappie-api" , version.ref = "mappie" } -konsist = { module = "com.lemonappdev:konsist" , version.ref = "konsist" } -akkurate-core = { module = "dev.nesk.akkurate:akkurate-core" , version.ref = "akkurate"} -akkurate-ksp-plugin = { module = "dev.nesk.akkurate:akkurate-ksp-plugin" , version.ref = "akkurate"} - -okio-bom = { module = "com.squareup.okio:okio-bom" , version.ref = "okio"} -okio = { module = "com.squareup.okio:okio" , version.ref = "okio"} -okio-fakefilesystem = { module = "com.squareup.okio:okio-fakefilesystem" , version.ref = "okio"} -arrow-suspendapp = { module = "io.arrow-kt:suspendapp" , version.ref = "arrow-suspendapp" } -arrow-suspendapp-ktor = { module = "io.arrow-kt:suspendapp-ktor" , version.ref = "arrow-suspendapp" } -kmp-appdirs = { module = "ca.gosyer:kotlin-multiplatform-appdirs" , version.ref = "kmp-appdirs"} - -airlift-aircompressor = { module = "io.airlift:aircompressor" , version.ref = "airlift-aircompressor"} -airlift-security = { module = "io.airlift:security" , version.ref = "airlift-security"} -airlift-security-jwks = { module = "io.airlift:security-jwks" , version.ref = "airlift-security"} -directory-keystore = { module = "com.github.marschall:directory-keystore" , version.ref = "directory-keystore"} -pty4j = { module = "org.jetbrains.pty4j:pty4j" , version.ref = "pty4j"} -sshj = { module = "com.hierynomus:sshj" , version.ref = "sshj"} -jsch = { module = "com.github.mwiede:jsch" , version.ref = "jsch"} -sslcontext-kickstart = { module = "io.github.hakky54:sslcontext-kickstart" , version.ref = "sslcontext-kickstart"} - -ktor-cohort-core = { module = "com.sksamuel.cohort:cohort-ktor" , version.ref = "ktor-cohort"} -ktor-cohort-hikari = { module = "com.sksamuel.cohort:cohort-hikari" , version.ref = "ktor-cohort"} -rsocket-ktor-client = { module = "io.rsocket.kotlin:rsocket-ktor-client" , version.ref = "rsocket"} -rsocket-ktor-server = { module = "io.rsocket.kotlin:rsocket-ktor-server" , version.ref = "rsocket"} -uri-kmp = { module = "com.eygraber:uri-kmp" , version.ref = "uri-kmp"} -kotlinx-jsonpath = { module = "com.eygraber:jsonpathkt-kotlinx" , version.ref = "kotlinx-jsonpath"} -kotlinx-json-schema = { module = "io.github.optimumcode:json-schema-validator" , version.ref = "kotlinx-json-schema"} -urlencoder = { module = "net.thauvin.erik.urlencoder:urlencoder-lib" , version.ref = "urlencoder"} -chasm = { module = "io.github.charlietap.chasm:chasm" , version.ref = "chasm"} - -logback-classic = { module = "ch.qos.logback:logback-classic" , version.ref = "logback"} -exposeb-bom = { module = "org.jetbrains.exposed:exposed-bom" , version.ref = "exposed"} -exposed-core = { module = "org.jetbrains.exposed:exposed-core" , version.ref = "exposed"} -exposed-dao = { module = "org.jetbrains.exposed:exposed-dao" , version.ref = "exposed"} -exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc" , version.ref = "exposed"} -exposed-java-time = { module = "org.jetbrains.exposed:exposed-java-time" , version.ref = "exposed"} -exposed-kotlin-datetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime" , version.ref = "exposed"} -exposed-crypt = { module = "org.jetbrains.exposed:exposed-crypt" , version.ref = "exposed"} -exposed-json = { module = "org.jetbrains.exposed:exposed-json" , version.ref = "exposed"} -exposed-money = { module = "org.jetbrains.exposed:exposed-money" , version.ref = "exposed"} -postgresql = { module = "org.postgresql:postgresql" , version.ref = "postgresql"} -hikariCP = { module = "com.zaxxer:HikariCP" , version.ref = "hikariCP"} -micrometer-prometheus = { module = "io.micrometer:micrometer-registry-prometheus" , version.ref = "micrometer"} -h2 = { module = "com.h2database:h2" , version.ref = "h2"} -shedlock-jdbc = { module = "net.javacrumbs.shedlock:shedlock-provider-jdbc" , version.ref = "shedlock"} -sherlock-sql = { module = "com.coditory.sherlock:sherlock-sql" , version.ref = "sherlock"} -config4k = { module = "io.github.config4k:config4k" , version.ref = "config4k"} -hoplite-hocon = { module = "com.sksamuel.hoplite:hoplite-hocon" , version.ref = "hoplite"} -expiringmap = { module = "net.jodah:expiringmap" , version.ref = "expiringmap"} -password4j = { module = "com.password4j:password4j" , version.ref = "password4j"} -otp-java = { module = "com.github.bastiaanjansen:otp-java" , version.ref = "otp"} - -# Database IDs -sqids = { module = "org.sqids:sqids" , version.ref = "sqids"} -tsid = { module = "io.hypersistence:hypersistence-tsid" , version.ref = "tsid"} - -kotlin-retry = { module = "com.michael-bull.kotlin-retry:kotlin-retry" , version.ref = "kotlin-retry" } -kotlin-retry-result = { module = "com.michael-bull.kotlin-retry:kotlin-retry-result" , version.ref = "kotlin-retry" } -cardiologist = { module = "io.github.kevincianfarini.cardiologist:cardiologist" , version.ref = "cardiologist" } -kotest-core = { module = "io.kotest:kotest-assertions-core" , version.ref = "kotest"} -kotest-junit5 = { module = "io.kotest:kotest-runner-junit5" , version.ref = "kotest"} -intellij-markdown = { module = "org.jetbrains:markdown" , version.ref = "intellij-markdown"} -kotlin-logging = { module = "io.github.oshai:kotlin-logging" , version.ref = "kotlin-logging"} -kotlin-bignum = { module = "com.ionspin.kotlin:bignum" , version.ref = "kotlin-bignum"} -kotlin-bignum-serialization = { module = "com.ionspin.kotlin:bignum-serialization-kotlinx" , version.ref = "kotlin-bignum"} -kotlin-codepoints = { module = "de.cketti.unicode:kotlin-codepoints" , version.ref = "kotlin-codepoints"} -kotlin-codepoints-deluxe = { module = "de.cketti.unicode:kotlin-codepoints-deluxe" , version.ref = "kotlin-codepoints"} -kotlin-diff = { module = "io.github.petertrr:kotlin-multiplatform-diff" , version.ref = "kotlin-diff"} -cash-turbine = { module = "app.cash.turbine:turbine" , version.ref = "cash-turbine" } -store5 = { module = "org.mobilenativefoundation.store:store5" , version.ref = "kmp-store5" } -parsus = { module = "me.alllex.parsus:parsus" , version.ref = "parsus" } -cache4k = { module = "io.github.reactivecircus.cache4k:cache4k" , version.ref = "cache4k" } - -ajalt-mordant = { module = "com.github.ajalt.mordant:mordant" , version.ref = "ajalt-mordant"} -ajalt-mordant-coroutines = { module = "com.github.ajalt.mordant:mordant-coroutines" , version.ref = "ajalt-mordant"} -ajalt-mordant-markdown = { module = "com.github.ajalt.mordant:mordant-markdown" , version.ref = "ajalt-mordant"} -ajalt-mordant-jvm-ffm = { module = "com.github.ajalt.mordant:mordant-jvm-ffm" , version.ref = "ajalt-mordant"} -ajalt-colormath = { module = "com.github.ajalt.colormath:colormath" , version.ref = "ajalt-colormath"} -ajalt-clikt-core = { module = "com.github.ajalt.clikt:clikt-core" , version.ref = "ajalt-clikt"} -ajalt-clikt = { module = "com.github.ajalt.clikt:clikt" , version.ref = "ajalt-clikt"} -ajalt-clikt-markdown = { module = "com.github.ajalt.clikt:clikt-markdown" , version.ref = "ajalt-clikt"} -mosaic-runtime = { module = "com.jakewharton.mosaic:mosaic-runtime" , version.ref = "mosaic"} -jgit = { module = "org.eclipse.jgit:org.eclipse.jgit" , version.ref = "jgit" } -jte = { module = "gg.jte:jte" , version.ref = "jte" } -jte-runtime = { module = "gg.jte:jte-runtime" , version.ref = "jte" } -jte-models = { module = "gg.jte:jte-models" , version.ref = "jte" } -jte-native = { module = "gg.jte:native-resources" , version.ref = "jte" } -jte-kotlin = { module = "gg.jte:jte-kotlin" , version.ref = "jte" } -junit-bom = { module = "org.junit:junit-bom" , version.ref = "junit"} -junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" , version.ref = "junit"} -junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api" , version.ref = "junit"} -junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine" , version.ref = "junit"} -junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params" , version.ref = "junit"} -wiremock = { module = "org.wiremock:wiremock" , version.ref = "wiremock"} -wiremock-standalone = { module = "org.wiremock:wiremock-standalone" , version.ref = "wiremock"} -wiremock-kotlin = { module = "com.marcinziolo:kotlin-wiremock" , version.ref = "wiremock-kotlin"} -okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver" , version.ref = "okhttp"} -okhttp-tls = { module = "com.squareup.okhttp3:okhttp-tls" , version.ref = "okhttp"} - -graal-sdk = { module = "org.graalvm.sdk:graal-sdk" , version.ref = "graalvm"} -graal-polyglot = { module = "org.graalvm.polyglot:polyglot" , version.ref = "graalvm"} -graal-wasm = { module = "org.graalvm.polyglot:wasm" , version.ref = "graalvm"} -google-auto-service-apt = { module = "com.google.auto.service:auto-service" , version.ref = "google-auto-service"} -google-auto-annotations = { module = "com.google.auto.service:auto-service-annotations" , version.ref = "google-auto-service"} -google-tink = { module = "com.google.crypto.tink:tink" , version.ref = "google-tink"} -ksp-auto-service = { module = "dev.zacsweers.autoservice:auto-service-ksp" , version.ref = "ksp-auto-service"} -koin-bom = { module = "io.insert-koin:koin-bom" , version.ref = "koin"} -koin-core = { module = "io.insert-koin:koin-core" , version.ref = "koin"} -koin-core-coroutines = { module = "io.insert-koin:koin-core-coroutines" , version.ref = "koin"} -koin-ktor = { module = "io.insert-koin:koin-ktor" , version.ref = "koin"} -koin-slf4j = { module = "io.insert-koin:koin-logger-slf4j" , version.ref = "koin"} -koin-annotations = { module = "io.insert-koin:koin-annotations" , version.ref = "koin"} -koin-ksp-compiler = { module = "io.insert-koin:koin-ksp-compiler" , version.ref = "koin"} -koin-test = { module = "io.insert-koin:koin-test" , version.ref = "koin"} -koin-test-junit5 = { module = "io.insert-koin:koin-test-junit5" , version.ref = "koin"} -mockk = { module = "io.mockk:mockk" , version.ref = "mockk"} -classgraph = { module = "io.github.classgraph:classgraph" , version.ref = "classgraph"} -jctools-core = { module = "org.jctools:jctools-core" , version.ref = "jctools"} -slf4j-api = { module = "org.slf4j:slf4j-api" , version.ref = "slf4j"} -slf4j-simple = { module = "org.slf4j:slf4j-simple" , version.ref = "slf4j"} -slf4j-nop = { module = "org.slf4j:slf4j-nop" , version.ref = "slf4j"} -slf4j-jul = { module = "org.slf4j:jul-to-slf4j" , version.ref = "slf4j"} -logback-core = { module = "ch.qos.logback:logback-core" , version.ref = "logback"} -logback-tyler = { module = "ch.qos.logback.tyler:tyler-base" , version.ref = "logback-tyler"} -slf4j-jpl = { module = "org.slf4j:slf4j-jdk-platform-logging" , version.ref = "slf4j"} -log4j-bom = { module = "org.apache.logging.log4j:log4j-bom" , version.ref = "log4j"} -log4j-core = { module = "org.apache.logging.log4j:log4j-core" , version.ref = "log4j"} -log4j-jpl = { module = "org.apache.logging.log4j:log4j-jpl" , version.ref = "log4j"} - -java-keyring = { module = "com.github.javakeyring:java-keyring" , version.ref = "java-keyring"} -java-keychain = { module = "pt.davidafsilva.apple:jkeychain" , version.ref = "java-keychain"} -webjars-xterm = { module = "org.webjars.npm:xterm" , version.ref = "webjars-xterm" } - -kotlin-wrappers-bom = { module = "org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom" , version.ref = "kotlin-wrappers" } -seskar-core = { module = "io.github.turansky.seskar:seskar-core" , version.ref = "seskar"} -multiplatform-settings-core = { module = "com.russhwolf:multiplatform-settings" , version.ref = "kmp-settings" } -multiplatform-settings-coroutines = { module = "com.russhwolf:multiplatform-settings-coroutines" , version.ref = "kmp-settings" } -multiplatform-settings-no-arg = { module = "com.russhwolf:multiplatform-settings-no-arg" , version.ref = "kmp-settings" } -multiplatform-settings-serialization = { module = "com.russhwolf:multiplatform-settings-serialization" , version.ref = "kmp-settings" } - -apache-commons-imaging = { module = "org.apache.commons:commons-imaging" , version.ref = "apache-commons-imaging" } -testcontainers-bom = { module = "org.testcontainers:testcontainers-bom" , version.ref = "testcontainers"} -testcontainers-core = { module = "org.testcontainers:testcontainers" } -testcontainers-postgresql = { module = "org.testcontainers:postgresql" } -testcontainers-cassandra = { module = "org.testcontainers:cassandra" } -testcontainers-k3s = { module = "org.testcontainers:k3s" } -testcontainers-clickhouse = { module = "org.testcontainers:clickhouse" } -testcontainers-junit5 = { module = "org.testcontainers:junit-jupiter" } -kubernetes-client = { module = "io.kubernetes:client-java" , version.ref = "kubernetes-client"} - -tcp-javanioproxy = { module = "com.github.terma:javaniotcpproxy" , version.ref = "tcp-javanioproxy"} -reflect-typeparamresolver = { module = "net.harawata.reflection:typeparameterresolver" , version.ref = "reflect-typeparamresolver"} -reflect-typetools = { module = "net.jodah:typetools" , version.ref = "reflect-typetools"} -sourceBuddy = { module = "com.javax0.sourcebuddy:SourceBuddy" , version.ref = "sourceBuddy"} -maven-mima = { module = "eu.maveniverse.maven.mima:mima" , version.ref = "maven-mima"} -maven-archeologist = { module = "com.squareup.tools.build:maven-archeologist" , version.ref = "maven-archeologist"} - -ap-converter = { module = "tools.profiler:async-profiler-converter" , version.ref = "async-profiler" } -ap-loader-all = { module = "me.bechberger:ap-loader-all" , version.ref = "ap-loader-all"} -jmc-common = { module = "org.openjdk.jmc:common" , version.ref = "openjdk-jmc"} -jmc-jfr = { module = "org.openjdk.jmc:flightrecorder" , version.ref = "openjdk-jmc"} -jmc-jfr-rules = { module = "org.openjdk.jmc:flightrecorder.rules" , version.ref = "openjdk-jmc"} -jmc-jfr-rulesjdk = { module = "org.openjdk.jmc:flightrecorder.rules.jdk" , version.ref = "openjdk-jmc"} - -# Charts -xchart = { module = "org.knowm.xchart:xchart" , version.ref = "xchart"} -jfree-chart = { module = "org.jfree:jfreechart" , version.ref = "jfree-chart"} -jfree-svg = { module = "org.jfree:org.jfree.svg" , version.ref = "jfree-svg"} -batiksvg-all = { module = "org.apache.xmlgraphics:batik-all" , version.ref = "batik"} -imageio-extns = { module = "com.twelvemonkeys.imageio:imageio" , version.ref = "twelvemonkeys"} - -# Barcode/QrCode -okapibarcode = { module = "uk.org.okapibarcode:okapibarcode" , version.ref = "okapibarcode"} - -# OpenTelemetry -otel-bom = { module = "io.opentelemetry:opentelemetry-bom" , version.ref = "otel"} -otel-api = { module = "io.opentelemetry:opentelemetry-api" , version.ref = "otel"} -otel-extension-kotlin = { module = "io.opentelemetry:opentelemetry-extension-kotlin" , version.ref = "otel"} -otel-autoconfigure = { module = "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" , version.ref = "otel"} -otel-autoconfigure-spi = { module = "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi" , version.ref = "otel"} -otel-semconv = { module = "io.opentelemetry.semconv:opentelemetry-semconv" , version.ref = "otel-semconv"} -otel-samplers = { module = "io.opentelemetry.contrib:opentelemetry-samplers" , version.ref = "otel-samplers"} - -otel-instr-bom = { module = "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom" , version.ref = "otel-instr"} -otel-instr-javaagent = { module = "io.opentelemetry.javaagent:opentelemetry-javaagent" , version.ref = "otel-instr"} -otel-instr-annotations = { module = "io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations" , version.ref = "otel-instr"} -otel-instr-api = { module = "io.opentelemetry.instrumentation:opentelemetry-instrumentation-api" , version.ref = "otel-instr"} -otel-instr-extension-api = { module = "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api" , version.ref = "otel-instr-alpha"} -otel-instr-ktor = { module = "io.opentelemetry.instrumentation:opentelemetry-ktor-2.0" , version.ref = "otel-instr-alpha"} -otel-instr-coroutines = { module = "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-kotlinx-coroutines" , version.ref = "otel-instr-alpha"} -otel-instr-logback-appender = { module = "io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0" , version.ref = "otel-instr-alpha"} -otel-instr-logback-mdc = { module = "io.opentelemetry.instrumentation:opentelemetry-logback-mdc-1.0" , version.ref = "otel-instr-alpha"} - -# Compose -compose-runtime = { module = "org.jetbrains.compose.runtime:runtime" , version.ref = "jetbrains-compose" } -compose-html-core = { module = "org.jetbrains.compose.html:html-core" , version.ref = "jetbrains-compose" } -compose-navigation = { module = "org.jetbrains.androidx.navigation:navigation-compose" , version.ref = "jetbrains-compose-nav" } -compose-lifecycle-viewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose" , version.ref = "jetbrains-compose-viewmodel" } -compose-material3-windowsize = { module = "org.jetbrains.compose.material3:material3-window-size-class" , version.ref = "jetbrains-compose" } -compose-material3-adaptive = { module = "org.jetbrains.compose.material3.adaptive:adaptive" , version.ref = "jetbrains-compose-adaptive" } -compose-material3-adaptive-layout = { module = "org.jetbrains.compose.material3.adaptive:adaptive-layout" , version.ref = "jetbrains-compose-adaptive" } -compose-material3-adaptive-nav = { module = "org.jetbrains.compose.material3.adaptive:adaptive-navigation" , version.ref = "jetbrains-compose-adaptive" } -compose-routing = { module = "app.softwork:routing-compose" , version.ref = "compose-routing" } -compose-icons-fontAwesome = { module = "br.com.devsrsouza.compose.icons:font-awesome" , version.ref = "compose-icons" } -detekt-compose-rules = { module = "io.nlopez.compose.rules:detekt" , version.ref = "detekt-compose-rules" } -compose-kottie = { module = "io.github.ismai117:kottie" , version.ref = "kottie" } -evas-compose = { module = "io.sellmair:evas-compose" , version.ref = "evas" } - -kobweb-api = { module = "com.varabyte.kobweb:kobweb-api" , version.ref = "kobweb" } -kobweb-core = { module = "com.varabyte.kobweb:kobweb-core " , version.ref = "kobweb" } -kobweb-silk = { module = "com.varabyte.kobweb:kobweb-silk" , version.ref = "kobweb" } -kobwebx-markdown = { module = "com.varabyte.kobwebx:kobwebx-markdown" , version.ref = "kobweb" } -silk-foundation = { module = "com.varabyte.kobweb:silk-foundation" , version.ref = "kobweb" } -silk-icons-fa = { module = "com.varabyte.kobwebx:silk-icons-fa" , version.ref = "kobweb" } -silk-icons-mdi = { module = "com.varabyte.kobwebx:silk-icons-mdi" , version.ref = "kobweb" } - -# Native -kfswatch = { module = "io.github.irgaly.kfswatch:kfswatch" , version.ref = "kfswatch" } - -# Wasm -chicory = { module = "com.dylibso.chicory:runtime" , version.ref = "chicory" } - -# AI/ML -langchain4j = { module = "dev.langchain4j:langchain4j" , version.ref = "langchain4j" } -langchain4j-jlama = { module = "dev.langchain4j:langchain4j-jlama" , version.ref = "langchain4j" } -jlama-core = { module = "com.github.tjake:jlama-core" , version.ref = "jlama" } -jlama-native = { module = "com.github.tjake:jlama-native" , version.ref = "jlama" } - -ldaptive = { module = "org.ldaptive:ldaptive" , version.ref = "ldaptive" } - -[bundles] -ajalt = ["ajalt-colormath", - "ajalt-mordant", - "ajalt-mordant-coroutines", - "ajalt-mordant-markdown", - "ajalt-clikt-core", - "ajalt-clikt", - "ajalt-clikt-markdown"] - -json-extra = ["kotlinx-jsonpath", "kotlinx-json-schema"] -keystore = ["sslcontext-kickstart", "directory-keystore"] -otel = ["otel-instr-annotations", - "otel-autoconfigure", - "otel-semconv", - "otel-instr-ktor", - "otel-instr-logback-mdc", - "otel-instr-logback-appender"] -otel-agent-extn = ["otel-autoconfigure-spi", - "otel-instr-api", - "otel-instr-extension-api", - "otel-semconv"] - - -[plugins] -kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform" , version.ref = "kotlin"} -kotlin-powerassert = { id = "org.jetbrains.kotlin.plugin.power-assert" , version.ref = "kotlin"} -kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen" , version.ref = "kotlin"} -kotlin-js-plainobjects = { id = "org.jetbrains.kotlin.plugin.js-plain-objects" , version.ref = "kotlin"} -kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose" , version.ref = "kotlin"} -kotlinx-atomicfu = { id = "org.jetbrains.kotlinx.atomicfu" , version.ref = "kotlinx-atomicfu"} -kotlinx-benchmark = { id = "org.jetbrains.kotlinx.benchmark" , version.ref = "kotlinx-benchmark" } -kotlinx-rpc = { id = "org.jetbrains.kotlinx.rpc.plugin" , version.ref = "kotlinx-rpc" } -kotlinx-rpc-platform = { id = "org.jetbrains.kotlinx.rpc.platform" , version.ref = "kotlinx-rpc" } -jetbrains-compose = { id = "org.jetbrains.compose" , version.ref = "jetbrains-compose"} -ktor = { id = "io.ktor.plugin" , version.ref = "ktor" } -exposed = { id = "com.jetbrains.exposed.gradle.plugin" , version.ref = "exposed-plugin" } -karakum = { id = "io.github.sgrishchenko.karakum" , version.ref = "karakum" } -seskar = { id = "io.github.turansky.seskar" , version.ref = "seskar" } -jte = { id = "gg.jte.gradle" , version.ref = "jte" } -benmanes = { id = "com.github.ben-manes.versions" , version.ref = "benmanes" } -spotless = { id = "com.diffplug.spotless" , version.ref = "spotless" } -semver = { id = "com.javiersc.semver" , version.ref = "semver-plugin" } -reproducible-builds = { id = "org.gradlex.reproducible-builds" , version.ref = "reproducible-builds" } -autonomousapps-depanalysis = { id = "com.autonomousapps.dependency-analysis" , version.ref = "autonomousapps-depanalysis" } -autonomousapps-bestpractices = { id = "com.autonomousapps.plugin-best-practices-plugin" , version.ref = "autonomousapps-bestpractices" } -sigstore = { id = "dev.sigstore.sign" , version.ref = "sigstore" } -sigstore-base = { id = "dev.sigstore.sign-base" , version.ref = "sigstore" } -graalvm-nativeimage = { id = "org.graalvm.buildtools.native" , version.ref = "graalvm-nativeimage"} -buildkonfig = { id = "com.codingfeline.buildkonfig" , version.ref = "buildkonfig"} -detekt = { id = "io.github.detekt.gradle.compiler-plugin" , version.ref = "detekt"} -vanniktech-publish = { id = "com.vanniktech.maven.publish" , version.ref = "vanniktech-publish" } -kobweb-application = { id = "com.varabyte.kobweb.application" , version.ref = "kobweb" } -kobweb-library = { id = "com.varabyte.kobweb.library" , version.ref = "kobweb" } -kobwebx-markdown = { id = "com.varabyte.kobwebx.markdown" , version.ref = "kobweb" } -spring-boot = { id = "org.springframework.boot" , version.ref = "spring-boot" } -spring-depmgmt = { id = "io.spring.dependency-management" , version.ref = "spring-depmgmt" } -kopy = { id = "com.javiersc.kotlin.kopy" , version.ref = "kopy" } -mappie = { id = "tech.mappie.plugin" , version.ref = "mappie" } -poko = { id = "dev.drewhamilton.poko" , version.ref = "poko" } diff --git a/sandbox/settings.gradle.kts b/sandbox/settings.gradle.kts index e825006..cda199e 100644 --- a/sandbox/settings.gradle.kts +++ b/sandbox/settings.gradle.kts @@ -3,45 +3,49 @@ pluginManagement { repositories { gradlePluginPortal() - mavenCentral() mavenLocal() + mavenCentral() } - val testVersion = extra["test.version"].toString() - plugins { - listOf("repos", "root", "kotlin.jvm", "kotlin.mpp").forEach { - // Use individual plugin marker artifact - // id("dev.suresh.plugin.$it") version testVersion - } - } - - resolutionStrategy { - eachPlugin { - if (requested.id.id.startsWith("dev.suresh.plugin")) { - // Or directly use the plugin artifact - useModule("dev.suresh.build:plugins:$testVersion") - } - } - } + // val testVersion = extra["test.version"].toString() + // + // 1. Use individual plugin marker artifact + // + // plugins { + // listOf("repos", "root", "kotlin.jvm", "kotlin.mpp").forEach { + // id("dev.suresh.plugin.$it") version testVersion + // } + // } + + // 2. Or directly use the main plugin artifact + // + // resolutionStrategy { + // eachPlugin { + // if (requested.id.id.startsWith("dev.suresh.plugin")) { + // useModule("dev.suresh.build:plugins:$testVersion") + // } + // } + // } } dependencyResolutionManagement { repositories { + mavenLocal() mavenCentral() gradlePluginPortal() - mavenLocal() } - repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS + + repositoriesMode = RepositoriesMode.PREFER_SETTINGS versionCatalogs { - create("mylibs") { - from("dev.suresh.build:catalog:${extra["test.version"]}") + create("libs") { + from("dev.suresh.build:catalog:+") version("java", "21") } } } -plugins { id("dev.suresh.plugin.repos") } +plugins { id("dev.suresh.plugin.repos") version "+" } enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") diff --git a/sandbox/src/jvmMain/kotlin/Main.kt b/sandbox/src/jvmMain/kotlin/Main.kt new file mode 100644 index 0000000..003a9d6 --- /dev/null +++ b/sandbox/src/jvmMain/kotlin/Main.kt @@ -0,0 +1,4 @@ +fun main() { + println("Hello, sandbox project! 🏖") + println("Java: ${System.getProperty("java.runtime.version")}, Kotlin: ${KotlinVersion.CURRENT}") +} diff --git a/sandbox/src/main/kotlin/Main.kt b/sandbox/src/main/kotlin/Main.kt deleted file mode 100644 index 726fe49..0000000 --- a/sandbox/src/main/kotlin/Main.kt +++ /dev/null @@ -1,4 +0,0 @@ -fun main() { - println("Hello, sandbox project! 🏖") - println("Kotlin: ${KotlinVersion.CURRENT}") -}