From 0722b66f593de31f896d7b2349c6b509187bcbb9 Mon Sep 17 00:00:00 2001 From: Shane Thompson Date: Tue, 7 May 2024 13:26:26 -0600 Subject: [PATCH 1/2] All module using version catalog, and able to run publishToMavenLocal on all modules. --- build.gradle.kts | 69 ++-------- client/build.gradle.kts | 20 +-- demo/build.gradle.kts | 34 ++--- demo/src/main/proguard.pro | 3 + gradle.properties | 2 +- gradle/serverlibs.versions.toml | 130 ++++++++++++++++++ processor/build.gradle.kts | 15 +- server-aws/build.gradle.kts | 38 +++-- server-azure/build.gradle.kts | 19 +-- server-core/build.gradle.kts | 75 ++++------ .../com/lightningkite/lightningdb/Database.kt | 2 +- server-dynamodb/build.gradle.kts | 31 ++--- server-firebase/build.gradle.kts | 14 +- server-ktor/build.gradle.kts | 27 ++-- server-memcached/build.gradle.kts | 17 +-- server-mongo/build.gradle.kts | 27 ++-- server-postgresql/build.gradle.kts | 34 ++--- server-redis/build.gradle.kts | 21 ++- server-sentry/build.gradle.kts | 17 +-- server-sentry9/build.gradle.kts | 19 ++- server-sftp/build.gradle.kts | 17 +-- server-testing/build.gradle.kts | 13 +- server/build.gradle.kts | 11 +- settings.gradle.kts | 24 ++++ shared/build.gradle.kts | 11 +- 25 files changed, 343 insertions(+), 347 deletions(-) create mode 100644 gradle/serverlibs.versions.toml diff --git a/build.gradle.kts b/build.gradle.kts index 98f0f048..4199c9c6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,63 +1,16 @@ -import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask -import com.sun.xml.fastinfoset.sax.Properties -import org.owasp.dependencycheck.gradle.extension.DependencyCheckExtension - +plugins { + alias(serverlibs.plugins.dokka) apply false + alias(serverlibs.plugins.kotlinJvm) apply false + alias(serverlibs.plugins.kotlinMultiplatform) apply false + alias(serverlibs.plugins.androidApp) apply false + alias(serverlibs.plugins.androidLibrary) apply false + alias(serverlibs.plugins.graalVmNative) apply false + alias(serverlibs.plugins.shadow) apply false +} buildscript { - val kotlinVersion:String by extra - repositories { -// mavenLocal() -// maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") - google() - gradlePluginPortal() - mavenCentral() - } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") - classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20") - classpath("com.lightningkite:deploy-helpers:0.0.7") - classpath("com.android.tools.build:gradle:7.4.2") - classpath("org.owasp:dependency-check-gradle:9.1.0") - classpath("com.github.ben-manes:gradle-versions-plugin:0.51.0") - } -} -val localProps = project.rootProject.file("local.properties").takeIf { it.exists() }?.inputStream()?.use { stream -> - java.util.Properties().apply { load(stream) } -} -allprojects { - apply(plugin = "org.owasp.dependencycheck") - apply(plugin = "com.github.ben-manes.versions") - configure { - localProps?.getProperty("nvdApiKey")?.let { - nvd.apiKey = it - } + classpath(serverlibs.deployHelpers) + classpath(serverlibs.proguard) } - group = "com.lightningkite.lightningserver" - repositories { - mavenLocal() -// maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") - google() - mavenCentral() - - } - tasks.withType { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } - tasks.withType { - rejectVersionIf { - isNonStable(candidate.version) && !isNonStable(currentVersion) - } - } -} -apply(plugin = "org.owasp.dependencycheck") -tasks.withType { - rejectVersionIf { - isNonStable(candidate.version) && !isNonStable(currentVersion) - } -} -fun isNonStable(version: String): Boolean { - val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.uppercase().contains(it) } - val regex = "^[0-9,.v-]+(-r)?$".toRegex() - val isStable = stableKeyword || regex.matches(version) - return isStable.not() } \ No newline at end of file diff --git a/client/build.gradle.kts b/client/build.gradle.kts index d10f0e47..9a2270be 100644 --- a/client/build.gradle.kts +++ b/client/build.gradle.kts @@ -4,20 +4,15 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("multiplatform") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("com.android.library") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinMultiplatform) + alias(serverlibs.plugins.androidLibrary) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -repositories { - maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") -} - -val kotlinVersion: String by project kotlin { targetHierarchy.default() androidTarget { @@ -36,13 +31,12 @@ kotlin { iosX64() iosArm64() iosSimulatorArm64() -// androidTarget() sourceSets { val commonMain by getting { dependencies { api(project(":shared")) - api("com.lightningkite.kiteui:library:main-SNAPSHOT") + api(serverlibs.kiteUI) } kotlin { srcDir(file("build/generated/ksp/common/commonMain/kotlin")) @@ -109,6 +103,6 @@ android { targetCompatibility = JavaVersion.VERSION_17 } dependencies { - coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4") + coreLibraryDesugaring(serverlibs.androidDesugaring) } } \ No newline at end of file diff --git a/demo/build.gradle.kts b/demo/build.gradle.kts index 6cd850f4..7b4e4fdc 100644 --- a/demo/build.gradle.kts +++ b/demo/build.gradle.kts @@ -2,32 +2,16 @@ import org.gradle.api.internal.file.archive.ZipFileTree import proguard.gradle.ProGuardTask plugins { - kotlin("jvm") - kotlin("plugin.serialization") - id("com.google.devtools.ksp") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.ksp) application - id("org.graalvm.buildtools.native") version "0.9.24" - id("com.github.johnrengelman.shadow") version "7.1.0" -} - -buildscript { - dependencies { - classpath("com.guardsquare:proguard-gradle:7.3.2") - } + alias(serverlibs.plugins.graalVmNative) + alias(serverlibs.plugins.shadow) } group = "com.lightningkite.lightningserver" -repositories { - mavenLocal() - maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") - maven { url = uri("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") } - maven { url = uri("https://maven.pkg.jetbrains.space/public/p/ktor/eap") } - mavenCentral() -} - -val ktorVersion:String by project dependencies { api(project(":server-aws")) api(project(":server-azure")) @@ -42,8 +26,8 @@ dependencies { api(project(":server-sentry")) api(project(":server-sftp")) ksp(project(":processor")) - implementation("com.lightningkite:kotliner-cli:1.0.3") - implementation("io.ktor:ktor-server-call-logging:$ktorVersion") + implementation(serverlibs.kotlinerCli) + implementation(serverlibs.ktorCallLogging) testImplementation("org.jetbrains.kotlin:kotlin-test-junit") } @@ -82,6 +66,6 @@ tasks.create("proguardTest", ProGuardTask::class) { // this.libraryjars("${System.getProperty("java.home")}/lib/rt.jar".also { println("rt jar is ${it}") }) this.libraryjars(configurations.runtimeClasspath) this.configuration("src/main/proguard.pro") -// this.keep("name: 'com.lightningkite.lightningserver.demo.**'") -// this.keep("com.lightningkite.lightningserver.demo.AwsHandler") +// this.keepnames("com.lightningkite.lightningserver.demo.**") +// this.keepnames("com.lightningkite.lightningserver.demo.AwsHandler") } \ No newline at end of file diff --git a/demo/src/main/proguard.pro b/demo/src/main/proguard.pro index 1edbbed1..0b482070 100644 --- a/demo/src/main/proguard.pro +++ b/demo/src/main/proguard.pro @@ -13,6 +13,9 @@ -keep class io.ktor.** { *; } -keep class kotlinx.coroutines.** { *; } +-keepnames com.lightningkite.lightningserver.demo.** +-keepnames com.lightningkite.lightningserver.demo.AwsHandler + -dontwarn jakarta.** -dontwarn org.osgi.** -dontwarn javax.** diff --git a/gradle.properties b/gradle.properties index 8be3a4d8..e0b29ec5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,4 +6,4 @@ kspVersion=1.9.23-1.0.19 kotlinVersion=1.9.23 kotlinXSerialization=1.6.3 coroutines=1.8.0 -ktorVersion=2.3.9 +ktorVersion=2.3.9 \ No newline at end of file diff --git a/gradle/serverlibs.versions.toml b/gradle/serverlibs.versions.toml new file mode 100644 index 00000000..b11c1b81 --- /dev/null +++ b/gradle/serverlibs.versions.toml @@ -0,0 +1,130 @@ +[versions] +kotlin="1.9.23" +coroutines="1.8.0" +dokka="1.9.20" +ksp="1.9.23-1.0.20" +agp="8.2.0" +graalVmNative="0.9.24" +shadow="7.1.0" + +ktor="2.3.9" +logBackClassic ="1.5.3" +kotlinHtmlJvm="0.11.0" +oneTimePass="2.4.0" +serializationLibs="1.6.3" +serializationXmlUtil="0.86.3" +xmlUtilJvm="0.86.3" +bson="5.0.1" +kbson="0.5.0" +kaml="0.58.0" +bouncyCastle="1.77" +angusMail="2.0.3" +javaJwt="4.4.0" +awssdk="2.17.232" +awsVersion="2.25.24" +dynamodb="2.23.4" +orgCrac="0.1.3" +lambdaJavaCore="1.2.3" +lambdaJavaEvents="3.11.4" +lambdaJavaLog4j2="1.6.0" +exposed="0.49.0" +azureFunctions="3.1.0" +azureStorage="12.25.3" +firebaseAdmin="9.2.0" +memcached="2.4.8" +embedMongo="4.12.3" +mongoDriver="5.0.1" +postgresql="42.7.3" +embeddedPostgres="2.0.6" +lettuce="6.3.2.RELEASE" +guava="33.0.0-jre" +hierynomusSshj="0.38.0" +embeddedRedis="0.8.3" +sentry="7.6.0" +sentry9="1.7.30" +kiteUI="main-SNAPSHOT" +androidDesugaring="2.0.4" +proguard="7.3.2" +kotlinerCli="1.0.3" + +[libraries] +kotlinCompiler={module="org.jetbrains.kotlin:kotlin-compiler", version.ref="kotlin"} +serialization={module="org.jetbrains.kotlin:kotlin-serialization", version.ref="kotlin"} +kotlinTest={module="org.jetbrains.kotlin:kotlin-test-junit", version.ref="kotlin"} +ksp={module="com.google.devtools.ksp:symbol-processing-api", version.ref="ksp"} +ktorContentNegotiation={module="io.ktor:ktor-client-content-negotiation", version.ref="ktor"} +ktorJson={module="io.ktor:ktor-serialization-kotlinx-json", version.ref="ktor"} +ktorWebsockets={module="io.ktor:ktor-server-websockets-jvm", version.ref="ktor"} +ktorCore={module="io.ktor:ktor-server-core-jvm", version.ref="ktor"} +ktorCioJvm={module="io.ktor:ktor-server-cio-jvm", version.ref="ktor"} +ktorClientCio={module="io.ktor:ktor-client-cio", version.ref="ktor"} +ktorNetty={module="io.ktor:ktor-server-netty-jvm", version.ref="ktor"} +ktorCors={module="io.ktor:ktor-server-cors-jvm", version.ref="ktor"} +ktorTestHost={module="io.ktor:ktor-server-test-host-jvm", version.ref="ktor"} +ktorCallLogging={module="io.ktor:ktor-server-call-logging", version.ref="ktor"} +coroutinesCore={module="org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +logBackClassic={module="ch.qos.logback:logback-classic", version.ref= "logBackClassic" } +kotlinHtmlJvm={module="org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref="kotlinHtmlJvm"} +oneTimePass = {module="dev.turingcomplete:kotlin-onetimepassword", version.ref="oneTimePass"} +serializationProperties={module="org.jetbrains.kotlinx:kotlinx-serialization-properties", version.ref="serializationLibs"} +serializationCbor={module="org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref="serializationLibs"} +kotlinJvmHtml={module="org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref="kotlinHtmlJvm"} +mongoBson={module="org.mongodb:bson", version.ref="bson"} +kBson={module="com.github.jershell:kbson", version.ref="kbson"} +xmlUtilJvm={module="io.github.pdvrieze.xmlutil:serialization-jvm", version.ref="xmlUtilJvm"} +kaml={module="com.charleskorn.kaml:kaml", version.ref="kaml"} +kotlinStdLib={module="org.jetbrains.kotlin:kotlin-stdlib", version.ref="kotlin"} +kotlinReflect={module="org.jetbrains.kotlin:kotlin-reflect", version.ref="kotlin"} +bouncyCastleBcprov ={module="org.bouncycastle:bcprov-jdk18on", version.ref="bouncyCastle"} +bouncyCastleBcpkix={module="org.bouncycastle:bcpkix-jdk18on", version.ref="bouncyCastle"} +angusMail={module="org.eclipse.angus:angus-mail", version.ref="angusMail"} +javaJwt={module="com.auth0:java-jwt", version.ref="javaJwt"} +deployHelpers={module="com.lightningkite:deploy-helpers", version="0.0.7"} +coroutinesReactive={module="org.jetbrains.kotlinx:kotlinx-coroutines-reactive", version.ref="coroutines"} +coroutinesJdk={module="org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref="coroutines"} +awssdk={module="software.amazon.awssdk:s3", version.ref="awssdk"} +dynamodb={module="software.amazon.awssdk:dynamodb", version.ref="dynamodb"} +awsS3={module="software.amazon.awssdk:s3", version.ref="awsVersion"} +awsLambda={module="software.amazon.awssdk:lambda", version.ref="awsVersion"} +awsSes={module="software.amazon.awssdk:ses", version.ref="awsVersion"} +awsRds={module="software.amazon.awssdk:rds", version.ref="awsVersion"} +awsApiGateway={module="software.amazon.awssdk:apigatewaymanagementapi", version.ref="awsVersion"} +awsCloudWatch={module="software.amazon.awssdk:cloudwatch", version.ref="awsVersion"} +orgCrac={module="io.github.crac:org-crac", version.ref="orgCrac"} +lambdaJavaCore={module="com.amazonaws:aws-lambda-java-core", version.ref="lambdaJavaCore"} +lambdaJavaEvents={module="com.amazonaws:aws-lambda-java-events", version.ref="lambdaJavaEvents"} +lambdaJavaLog4j2={module="com.amazonaws:aws-lambda-java-log4j2", version.ref="lambdaJavaLog4j2"} +exposedCore={module="org.jetbrains.exposed:exposed-core", version.ref="exposed"} +exposedJavaTime={module="org.jetbrains.exposed:exposed-java-time", version.ref="exposed"} +exposedJdbc={module="org.jetbrains.exposed:exposed-jdbc", version.ref="exposed"} +azureFunctions={module="com.microsoft.azure.functions:azure-functions-java-library", version.ref="azureFunctions"} +azureStorage={module="com.azure:azure-storage-blob", version.ref="azureStorage"} +firebaseAdmin={module="com.google.firebase:firebase-admin", version.ref="firebaseAdmin"} +memcached={module="com.googlecode.xmemcached:xmemcached", version.ref="memcached"} +embedMongo={module="de.flapdoodle.embed:de.flapdoodle.embed.mongo", version.ref="embedMongo"} +mongoDriver={module="org.mongodb:mongodb-driver-kotlin-coroutine", version.ref="mongoDriver"} +postgresql={module="org.postgresql:postgresql", version.ref="postgresql"} +embeddedPostgres={module="io.zonky.test:embedded-postgres", version.ref="embeddedPostgres"} +lettuce={module="io.lettuce:lettuce-core", version.ref="lettuce"} +embeddedRedis={module="org.signal:embedded-redis", version.ref="embeddedRedis"} +guava={module="com.google.guava:guava", version.ref="guava"} +hierynomusSshj={module="com.hierynomus:sshj", version.ref="hierynomusSshj"} +sentry={module="io.sentry:sentry", version.ref="sentry"} +sentry9={module="io.sentry:sentry", version.ref="sentry9"} +sentry9Logback={module="io.sentry:sentry-logback", version.ref="sentry9"} +kiteUI={module="com.lightningkite.kiteui:library", version.ref="kiteUI"} +androidDesugaring={module="com.android.tools:desugar_jdk_libs", version.ref="androidDesugaring"} +proguard={module="com.guardsquare:proguard-gradle", version.ref="proguard"} +kotlinerCli={module="com.lightningkite:kotliner-cli", version.ref="kotlinerCli"} + + +[plugins] +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +androidApp = {id="com.android.application", version.ref = "agp"} +androidLibrary = { id="com.android.library", version.ref = "agp"} +dokka={id="org.jetbrains.dokka", version.ref="dokka"} +ksp={id="com.google.devtools.ksp", version.ref="ksp"} +serialization={id="org.jetbrains.kotlin.plugin.serialization", version.ref="kotlin"} +graalVmNative={id="org.graalvm.buildtools.native", version.ref="graalVmNative"} +shadow={id="com.github.johnrengelman.shadow", version.ref="shadow"} \ No newline at end of file diff --git a/processor/build.gradle.kts b/processor/build.gradle.kts index aed7924a..882028de 100644 --- a/processor/build.gradle.kts +++ b/processor/build.gradle.kts @@ -1,12 +1,8 @@ -import com.lightningkite.deployhelpers.developer -import com.lightningkite.deployhelpers.github -import com.lightningkite.deployhelpers.mit -import com.lightningkite.deployhelpers.standardPublishing -import java.util.Properties +import com.lightningkite.deployhelpers.* plugins { - kotlin("jvm") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } @@ -14,9 +10,10 @@ plugins { val kotlinVersion:String by project val kspVersion:String by project + dependencies { - implementation("com.google.devtools.ksp:symbol-processing-api:$kspVersion") - implementation("org.jetbrains.kotlin:kotlin-compiler:$kotlinVersion") + implementation(serverlibs.ksp) + implementation(serverlibs.kotlinCompiler) } standardPublishing { diff --git a/server-aws/build.gradle.kts b/server-aws/build.gradle.kts index 8dae33ed..093e41bf 100644 --- a/server-aws/build.gradle.kts +++ b/server-aws/build.gradle.kts @@ -4,39 +4,33 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.dokka) + alias(serverlibs.plugins.serialization) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project -val coroutines: String by project -val awsVersion = "2.25.24" dependencies { api(project(":server-dynamodb")) api(project(":server-core")) - api("io.github.crac:org-crac:0.1.3") - api("software.amazon.awssdk:s3:$awsVersion") - api("software.amazon.awssdk:lambda:$awsVersion") - api("software.amazon.awssdk:ses:$awsVersion") - api("software.amazon.awssdk:rds:$awsVersion") - api("software.amazon.awssdk:apigatewaymanagementapi:$awsVersion") - api("software.amazon.awssdk:cloudwatch:$awsVersion") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:$coroutines") - api("com.amazonaws:aws-lambda-java-core:1.2.3") - api("com.amazonaws:aws-lambda-java-events:3.11.4") - runtimeOnly("com.amazonaws:aws-lambda-java-log4j2:1.6.0") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.orgCrac) + api(serverlibs.awsS3) + api(serverlibs.awsLambda) + api(serverlibs.awsSes) + api(serverlibs.awsRds) + api(serverlibs.awsApiGateway) + api(serverlibs.awsCloudWatch) + api(serverlibs.orgCrac) + api(serverlibs.lambdaJavaCore) + api(serverlibs.lambdaJavaEvents) + api(serverlibs.lambdaJavaLog4j2) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) - ksp(project(":processor")) kspTest(project(":processor")) } - ksp { arg("generateFields", "true") } diff --git a/server-azure/build.gradle.kts b/server-azure/build.gradle.kts index a6db5c61..735d9325 100644 --- a/server-azure/build.gradle.kts +++ b/server-azure/build.gradle.kts @@ -4,24 +4,20 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project dependencies { api(project(":server-core")) - api("com.microsoft.azure.functions:azure-functions-java-library:3.1.0") - api("com.azure:azure-storage-blob:12.25.3") - - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.azureFunctions) + api(serverlibs.azureStorage) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) - ksp(project(":processor")) kspTest(project(":processor")) } @@ -48,7 +44,6 @@ tasks.withType().configureEach kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString() } - standardPublishing { name.set("Lightning-server-Server") description.set("An implementation of LightningServer Engine using Azure Functions, and FileSystem using Azure Blob Storage.") diff --git a/server-core/build.gradle.kts b/server-core/build.gradle.kts index e9cae016..81dc787a 100644 --- a/server-core/build.gradle.kts +++ b/server-core/build.gradle.kts @@ -4,59 +4,39 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val ktorVersion: String by project -val kotlinVersion: String by project -val logBack: String by project -val coroutines: String by project -val kotlinXSerialization: String by project dependencies { api(project(":shared")) - - // Security -// implementation("com.google.protobuf:protobuf-java:3.21.1") -// implementation("io.netty:netty-codec-http:4.1.77.Final") -// implementation("io.netty:netty-common:4.1.77.Final") -// implementation("com.google.oauth-client:google-oauth-client:1.34.1") -// implementation("com.fasterxml.jackson.core:jackson-databind:2.13.3") - // End Security - - implementation("ch.qos.logback:logback-classic:1.5.3") - -// implementation("com.lightningkite.khrysalis:jvm-runtime:$khrysalisVersion") - - api("io.ktor:ktor-client-content-negotiation-jvm:$ktorVersion") - api("io.ktor:ktor-client-cio-jvm:$ktorVersion") - api("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") - - implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines") - api("org.jetbrains.kotlinx:kotlinx-html-jvm:0.11.0") - - api("dev.turingcomplete:kotlin-onetimepassword:2.4.0") - api("org.jetbrains.kotlinx:kotlinx-serialization-properties:$kotlinXSerialization") - api("org.jetbrains.kotlinx:kotlinx-serialization-cbor:$kotlinXSerialization") - api("io.github.pdvrieze.xmlutil:serialization-jvm:0.86.3") - api("org.mongodb:bson:5.0.1") - api("com.github.jershell:kbson:0.5.0") - api("com.charleskorn.kaml:kaml:0.58.0") - api(kotlin("reflect")) - - implementation("org.bouncycastle:bcprov-jdk18on:1.77") - implementation("org.bouncycastle:bcpkix-jdk18on:1.77") - - api("org.eclipse.angus:angus-mail:2.0.3") - - testImplementation("com.auth0:java-jwt:4.4.0") - - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.ktorJson) + api(serverlibs.ktorCioJvm) + api(serverlibs.ktorClientCio) + api(serverlibs.ktorContentNegotiation) + implementation(serverlibs.coroutinesCore) + implementation(serverlibs.logBackClassic) + implementation(serverlibs.kotlinStdLib) + implementation(serverlibs.coroutinesCore) + api(serverlibs.kotlinHtmlJvm) + api(serverlibs.oneTimePass) + api(serverlibs.serializationProperties) + api(serverlibs.serializationCbor) + api(serverlibs.xmlUtilJvm) + api(serverlibs.mongoBson) + api(serverlibs.kBson) + api(serverlibs.kaml) + api(serverlibs.kotlinReflect) + implementation(serverlibs.bouncyCastleBcprov) + implementation(serverlibs.bouncyCastleBcpkix) + + api(serverlibs.angusMail) + testImplementation(serverlibs.javaJwt) + testImplementation(serverlibs.kotlinTest) ksp(project(":processor")) kspTest(project(":processor")) @@ -83,7 +63,6 @@ tasks.withType().configureEach kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString() } - standardPublishing { name.set("Lightning-server-Server") description.set("A set of tools to fill in/replace what Ktor is lacking in.") diff --git a/server-core/src/main/kotlin/com/lightningkite/lightningdb/Database.kt b/server-core/src/main/kotlin/com/lightningkite/lightningdb/Database.kt index cc41d067..bc90cee7 100644 --- a/server-core/src/main/kotlin/com/lightningkite/lightningdb/Database.kt +++ b/server-core/src/main/kotlin/com/lightningkite/lightningdb/Database.kt @@ -1,5 +1,6 @@ package com.lightningkite.lightningdb +import com.lightningkite.lightningserver.auth.oauth.prepareModels import com.lightningkite.lightningserver.metrics.Metricable import com.lightningkite.lightningserver.serialization.Serialization import com.lightningkite.lightningserver.serverhealth.HealthCheckable @@ -8,7 +9,6 @@ import kotlinx.serialization.KSerializer import kotlinx.serialization.Serializable import kotlinx.serialization.serializer import kotlin.reflect.KType -import kotlin.reflect.typeOf /** * An abstracted model for communicating with a Database. diff --git a/server-dynamodb/build.gradle.kts b/server-dynamodb/build.gradle.kts index 58df043b..feaf3eab 100644 --- a/server-dynamodb/build.gradle.kts +++ b/server-dynamodb/build.gradle.kts @@ -4,36 +4,25 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -repositories { - mavenLocal() - maven(url = "https://s3-us-west-2.amazonaws.com/dynamodb-local/release") - maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") - maven { url = uri("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") } - maven { url = uri("https://maven.pkg.jetbrains.space/public/p/ktor/eap") } - mavenCentral() -} - -val kotlinVersion: String by project -val khrysalisVersion: String by project dependencies { api(project(":server-core")) -// api(platform("software.amazon.awssdk:s3:2.17.232")) - api("software.amazon.awssdk:dynamodb:2.23.4") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.8.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.8.0") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + implementation(serverlibs.coroutinesJdk) + implementation(serverlibs.coroutinesReactive) + api(platform(serverlibs.awssdk)) + api(serverlibs.dynamodb) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) ksp(project(":processor")) kspTest(project(":processor")) + testImplementation(project(":server-testing")) } ksp { diff --git a/server-firebase/build.gradle.kts b/server-firebase/build.gradle.kts index 05bad889..ab3bbb7d 100644 --- a/server-firebase/build.gradle.kts +++ b/server-firebase/build.gradle.kts @@ -4,21 +4,17 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project dependencies { api(project(":server-core")) - - api("com.google.firebase:firebase-admin:9.2.0") - + api(serverlibs.firebaseAdmin) ksp(project(":processor")) kspTest(project(":processor")) } diff --git a/server-ktor/build.gradle.kts b/server-ktor/build.gradle.kts index a2142b11..75c94d0b 100644 --- a/server-ktor/build.gradle.kts +++ b/server-ktor/build.gradle.kts @@ -4,28 +4,23 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val ktorVersion: String by project -val kotlinVersion: String by project dependencies { api(project(":server-core")) - api("io.ktor:ktor-server-websockets-jvm:$ktorVersion") - api("io.ktor:ktor-server-core-jvm:$ktorVersion") - api("io.ktor:ktor-server-cio-jvm:$ktorVersion") - api("io.ktor:ktor-server-netty-jvm:$ktorVersion") - api("io.ktor:ktor-server-cors-jvm:$ktorVersion") - - testImplementation("io.ktor:ktor-server-test-host-jvm:$ktorVersion") - - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") - + api(serverlibs.ktorWebsockets) + api(serverlibs.ktorCioJvm) + api(serverlibs.ktorNetty) + api(serverlibs.ktorCore) + api(serverlibs.ktorCors) + testImplementation(serverlibs.ktorTestHost) + testImplementation(serverlibs.kotlinTest) ksp(project(":processor")) kspTest(project(":processor")) } diff --git a/server-memcached/build.gradle.kts b/server-memcached/build.gradle.kts index 9a96912e..45902d80 100644 --- a/server-memcached/build.gradle.kts +++ b/server-memcached/build.gradle.kts @@ -4,22 +4,19 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project -val coroutines: String by project dependencies { api(project(":server-core")) - api("com.googlecode.xmemcached:xmemcached:2.4.8") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutines") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.memcached) + implementation(serverlibs.coroutinesReactive) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) ksp(project(":processor")) kspTest(project(":processor")) diff --git a/server-mongo/build.gradle.kts b/server-mongo/build.gradle.kts index 686b8c9b..505a4070 100644 --- a/server-mongo/build.gradle.kts +++ b/server-mongo/build.gradle.kts @@ -4,28 +4,25 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion:String by project -val coroutines:String by project -val kotlinXSerialization:String by project dependencies { api(project(":server-core")) - implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutines") - implementation("de.flapdoodle.embed:de.flapdoodle.embed.mongo:4.12.3") - api("org.mongodb:mongodb-driver-kotlin-coroutine:5.0.1") - + implementation(serverlibs.kotlinStdLib) + implementation(serverlibs.coroutinesCore) + implementation(serverlibs.coroutinesReactive) + implementation(serverlibs.embedMongo) + implementation(serverlibs.mongoDriver) + ksp(project(":processor")) kspTest(project(":processor")) testImplementation(project(":server-testing")) - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + testImplementation(serverlibs.kotlinTest) } ksp { @@ -71,4 +68,4 @@ standardPublishing { } -//tasks.getByName("sourceJar").dependsOn("kspKotlin") \ No newline at end of file +tasks.getByName("sourceJar").dependsOn("kspKotlin") \ No newline at end of file diff --git a/server-postgresql/build.gradle.kts b/server-postgresql/build.gradle.kts index 712554b4..b8fe9903 100644 --- a/server-postgresql/build.gradle.kts +++ b/server-postgresql/build.gradle.kts @@ -4,36 +4,24 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -repositories { - mavenLocal() - maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") - maven { url = uri("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") } - maven { url = uri("https://maven.pkg.jetbrains.space/public/p/ktor/eap") } - mavenCentral() -} - -val kotlinVersion: String by project -val khrysalisVersion: String by project -val exposedVersion = "0.49.0" dependencies { api(project(":server-core")) - api("org.jetbrains.exposed:exposed-core:$exposedVersion") - api("org.jetbrains.exposed:exposed-java-time:$exposedVersion") - api("org.jetbrains.exposed:exposed-jdbc:$exposedVersion") - api("org.postgresql:postgresql:42.7.3") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.2") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.exposedCore) + api(serverlibs.exposedJavaTime) + api(serverlibs.exposedJdbc) + api(serverlibs.postgresql) + api(serverlibs.embeddedPostgres) + implementation(serverlibs.coroutinesJdk) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) - testImplementation("io.zonky.test:embedded-postgres:2.0.6") ksp(project(":processor")) kspTest(project(":processor")) } diff --git a/server-redis/build.gradle.kts b/server-redis/build.gradle.kts index 11dab04f..dc43ff3d 100644 --- a/server-redis/build.gradle.kts +++ b/server-redis/build.gradle.kts @@ -4,24 +4,21 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project -val coroutines:String by project dependencies { api(project(":server-core")) - api("io.lettuce:lettuce-core:6.3.2.RELEASE") - api("org.signal:embedded-redis:0.8.3") - api("com.google.guava:guava:33.0.0-jre") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutines") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.lettuce) + api(serverlibs.embeddedRedis) + api(serverlibs.guava) + implementation(serverlibs.coroutinesReactive) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) ksp(project(":processor")) kspTest(project(":processor")) diff --git a/server-sentry/build.gradle.kts b/server-sentry/build.gradle.kts index 52c8124c..4aad0408 100644 --- a/server-sentry/build.gradle.kts +++ b/server-sentry/build.gradle.kts @@ -4,22 +4,19 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project -val coroutines: String by project dependencies { api(project(":server-core")) - api("io.sentry:sentry:7.6.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutines") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.sentry) + implementation(serverlibs.coroutinesReactive) + testImplementation(serverlibs.kotlinTest) ksp(project(":processor")) kspTest(project(":processor")) } diff --git a/server-sentry9/build.gradle.kts b/server-sentry9/build.gradle.kts index f8692108..f0620b8f 100644 --- a/server-sentry9/build.gradle.kts +++ b/server-sentry9/build.gradle.kts @@ -4,23 +4,20 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project -val coroutines: String by project dependencies { api(project(":server-core")) - api("io.sentry:sentry:1.7.30") - api("io.sentry:sentry-logback:1.7.30") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutines") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + api(serverlibs.sentry9) + api(serverlibs.sentry9Logback) + implementation(serverlibs.coroutinesReactive) + testImplementation(serverlibs.kotlinTest) ksp(project(":processor")) kspTest(project(":processor")) } diff --git a/server-sftp/build.gradle.kts b/server-sftp/build.gradle.kts index 0502f0cd..eb102a62 100644 --- a/server-sftp/build.gradle.kts +++ b/server-sftp/build.gradle.kts @@ -4,22 +4,19 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project -val coroutines:String by project dependencies { api(project(":server-core")) - implementation("com.hierynomus:sshj:0.38.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive:$coroutines") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit") + implementation(serverlibs.hierynomusSshj) + implementation(serverlibs.coroutinesReactive) + testImplementation(serverlibs.kotlinTest) testImplementation(project(":server-testing")) ksp(project(":processor")) kspTest(project(":processor")) diff --git a/server-testing/build.gradle.kts b/server-testing/build.gradle.kts index 4709c97c..e5e4b4d2 100644 --- a/server-testing/build.gradle.kts +++ b/server-testing/build.gradle.kts @@ -4,20 +4,17 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project dependencies { api(project(":server-core")) - api("org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion") - + api(serverlibs.kotlinTest) ksp(project(":processor")) kspTest(project(":processor")) } diff --git a/server/build.gradle.kts b/server/build.gradle.kts index e7c39313..dd3479ac 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -4,18 +4,15 @@ import com.lightningkite.deployhelpers.mit import com.lightningkite.deployhelpers.standardPublishing plugins { - kotlin("jvm") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinJvm) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } -val kotlinVersion: String by project -val khrysalisVersion: String by project dependencies { - api(project(":server-aws")) api(project(":server-azure")) api(project(":server-core")) diff --git a/settings.gradle.kts b/settings.gradle.kts index c4fa1f37..6b7ccc9a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -4,10 +4,34 @@ pluginManagement { val kotlinVersion: String by settings val kspVersion: String by settings + repositories { + mavenLocal() + google() + gradlePluginPortal() + mavenCentral() + maven { url = uri("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") } + maven { url = uri("https://maven.pkg.jetbrains.space/public/p/ktor/eap") } + maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/") + maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") + } + plugins { kotlin("plugin.serialization") version kotlinVersion id("com.google.devtools.ksp") version kspVersion } + + dependencyResolutionManagement { + repositories { + mavenLocal() + google() + gradlePluginPortal() + mavenCentral() + } + + versionCatalogs { + create("serverlibs") { from(files("gradle/serverlibs.versions.toml"))} + } + } } include(":client") diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index fa8a0d5c..cc888c0a 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -1,11 +1,11 @@ import com.lightningkite.deployhelpers.* plugins { - kotlin("multiplatform") - id("com.google.devtools.ksp") - kotlin("plugin.serialization") - id("com.android.library") - id("org.jetbrains.dokka") + alias(serverlibs.plugins.kotlinMultiplatform) + alias(serverlibs.plugins.ksp) + alias(serverlibs.plugins.serialization) + alias(serverlibs.plugins.androidLibrary) + alias(serverlibs.plugins.dokka) id("signing") `maven-publish` } @@ -21,7 +21,6 @@ ksp { kotlin { applyDefaultHierarchyTemplate() androidTarget { - publishLibraryVariants("release", "debug") compilations.all { kotlinOptions { jvmTarget = "17" From 7cc7216c03322be8f89a4e588605b1d573bc34f8 Mon Sep 17 00:00:00 2001 From: Shane Thompson Date: Tue, 7 May 2024 15:05:21 -0600 Subject: [PATCH 2/2] versions.toml file organized to have the various sections in alphabetical order. --- gradle/serverlibs.versions.toml | 184 ++++++++++++++++---------------- 1 file changed, 91 insertions(+), 93 deletions(-) diff --git a/gradle/serverlibs.versions.toml b/gradle/serverlibs.versions.toml index b11c1b81..d5baffab 100644 --- a/gradle/serverlibs.versions.toml +++ b/gradle/serverlibs.versions.toml @@ -1,130 +1,128 @@ [versions] -kotlin="1.9.23" -coroutines="1.8.0" -dokka="1.9.20" -ksp="1.9.23-1.0.20" agp="8.2.0" -graalVmNative="0.9.24" -shadow="7.1.0" - -ktor="2.3.9" -logBackClassic ="1.5.3" -kotlinHtmlJvm="0.11.0" -oneTimePass="2.4.0" -serializationLibs="1.6.3" -serializationXmlUtil="0.86.3" -xmlUtilJvm="0.86.3" -bson="5.0.1" -kbson="0.5.0" -kaml="0.58.0" -bouncyCastle="1.77" +androidDesugaring="2.0.4" angusMail="2.0.3" -javaJwt="4.4.0" -awssdk="2.17.232" awsVersion="2.25.24" -dynamodb="2.23.4" -orgCrac="0.1.3" -lambdaJavaCore="1.2.3" -lambdaJavaEvents="3.11.4" -lambdaJavaLog4j2="1.6.0" -exposed="0.49.0" +awssdk="2.17.232" azureFunctions="3.1.0" azureStorage="12.25.3" -firebaseAdmin="9.2.0" -memcached="2.4.8" +bouncyCastle="1.77" +bson="5.0.1" +coroutines="1.8.0" +dokka="1.9.20" +dynamodb="2.23.4" embedMongo="4.12.3" -mongoDriver="5.0.1" -postgresql="42.7.3" embeddedPostgres="2.0.6" -lettuce="6.3.2.RELEASE" +embeddedRedis="0.8.3" +exposed="0.49.0" +firebaseAdmin="9.2.0" +graalVmNative="0.9.24" guava="33.0.0-jre" hierynomusSshj="0.38.0" -embeddedRedis="0.8.3" -sentry="7.6.0" -sentry9="1.7.30" +javaJwt="4.4.0" +kaml="0.58.0" +kbson="0.5.0" kiteUI="main-SNAPSHOT" -androidDesugaring="2.0.4" -proguard="7.3.2" +kotlin="1.9.23" +kotlinHtmlJvm="0.11.0" kotlinerCli="1.0.3" +ksp="1.9.23-1.0.20" +ktor="2.3.9" +lambdaJavaCore="1.2.3" +lambdaJavaEvents="3.11.4" +lambdaJavaLog4j2="1.6.0" +lettuce="6.3.2.RELEASE" +logBackClassic ="1.5.3" +memcached="2.4.8" +mongoDriver="5.0.1" +oneTimePass="2.4.0" +orgCrac="0.1.3" +postgresql="42.7.3" +proguard="7.3.2" +sentry9="1.7.30" +sentry="7.6.0" +serializationLibs="1.6.3" +serializationXmlUtil="0.86.3" +shadow="7.1.0" +xmlUtilJvm="0.86.3" [libraries] +androidDesugaring={module="com.android.tools:desugar_jdk_libs", version.ref="androidDesugaring"} +angusMail={module="org.eclipse.angus:angus-mail", version.ref="angusMail"} +awsApiGateway={module="software.amazon.awssdk:apigatewaymanagementapi", version.ref="awsVersion"} +awsCloudWatch={module="software.amazon.awssdk:cloudwatch", version.ref="awsVersion"} +awsLambda={module="software.amazon.awssdk:lambda", version.ref="awsVersion"} +awsRds={module="software.amazon.awssdk:rds", version.ref="awsVersion"} +awsS3={module="software.amazon.awssdk:s3", version.ref="awsVersion"} +awsSes={module="software.amazon.awssdk:ses", version.ref="awsVersion"} +awssdk={module="software.amazon.awssdk:s3", version.ref="awssdk"} +azureFunctions={module="com.microsoft.azure.functions:azure-functions-java-library", version.ref="azureFunctions"} +azureStorage={module="com.azure:azure-storage-blob", version.ref="azureStorage"} +bouncyCastleBcpkix={module="org.bouncycastle:bcpkix-jdk18on", version.ref="bouncyCastle"} +bouncyCastleBcprov ={module="org.bouncycastle:bcprov-jdk18on", version.ref="bouncyCastle"} +coroutinesCore={module="org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +coroutinesJdk={module="org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref="coroutines"} +coroutinesReactive={module="org.jetbrains.kotlinx:kotlinx-coroutines-reactive", version.ref="coroutines"} +deployHelpers={module="com.lightningkite:deploy-helpers", version="0.0.7"} +dynamodb={module="software.amazon.awssdk:dynamodb", version.ref="dynamodb"} +embedMongo={module="de.flapdoodle.embed:de.flapdoodle.embed.mongo", version.ref="embedMongo"} +embeddedPostgres={module="io.zonky.test:embedded-postgres", version.ref="embeddedPostgres"} +embeddedRedis={module="org.signal:embedded-redis", version.ref="embeddedRedis"} +exposedCore={module="org.jetbrains.exposed:exposed-core", version.ref="exposed"} +exposedJavaTime={module="org.jetbrains.exposed:exposed-java-time", version.ref="exposed"} +exposedJdbc={module="org.jetbrains.exposed:exposed-jdbc", version.ref="exposed"} +firebaseAdmin={module="com.google.firebase:firebase-admin", version.ref="firebaseAdmin"} +guava={module="com.google.guava:guava", version.ref="guava"} +hierynomusSshj={module="com.hierynomus:sshj", version.ref="hierynomusSshj"} +javaJwt={module="com.auth0:java-jwt", version.ref="javaJwt"} +kBson={module="com.github.jershell:kbson", version.ref="kbson"} +kaml={module="com.charleskorn.kaml:kaml", version.ref="kaml"} +kiteUI={module="com.lightningkite.kiteui:library", version.ref="kiteUI"} kotlinCompiler={module="org.jetbrains.kotlin:kotlin-compiler", version.ref="kotlin"} -serialization={module="org.jetbrains.kotlin:kotlin-serialization", version.ref="kotlin"} +kotlinHtmlJvm={module="org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref="kotlinHtmlJvm"} +kotlinJvmHtml={module="org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref="kotlinHtmlJvm"} +kotlinReflect={module="org.jetbrains.kotlin:kotlin-reflect", version.ref="kotlin"} +kotlinStdLib={module="org.jetbrains.kotlin:kotlin-stdlib", version.ref="kotlin"} kotlinTest={module="org.jetbrains.kotlin:kotlin-test-junit", version.ref="kotlin"} +kotlinerCli={module="com.lightningkite:kotliner-cli", version.ref="kotlinerCli"} ksp={module="com.google.devtools.ksp:symbol-processing-api", version.ref="ksp"} -ktorContentNegotiation={module="io.ktor:ktor-client-content-negotiation", version.ref="ktor"} -ktorJson={module="io.ktor:ktor-serialization-kotlinx-json", version.ref="ktor"} -ktorWebsockets={module="io.ktor:ktor-server-websockets-jvm", version.ref="ktor"} -ktorCore={module="io.ktor:ktor-server-core-jvm", version.ref="ktor"} +ktorCallLogging={module="io.ktor:ktor-server-call-logging", version.ref="ktor"} ktorCioJvm={module="io.ktor:ktor-server-cio-jvm", version.ref="ktor"} ktorClientCio={module="io.ktor:ktor-client-cio", version.ref="ktor"} -ktorNetty={module="io.ktor:ktor-server-netty-jvm", version.ref="ktor"} +ktorContentNegotiation={module="io.ktor:ktor-client-content-negotiation", version.ref="ktor"} +ktorCore={module="io.ktor:ktor-server-core-jvm", version.ref="ktor"} ktorCors={module="io.ktor:ktor-server-cors-jvm", version.ref="ktor"} +ktorJson={module="io.ktor:ktor-serialization-kotlinx-json", version.ref="ktor"} +ktorNetty={module="io.ktor:ktor-server-netty-jvm", version.ref="ktor"} ktorTestHost={module="io.ktor:ktor-server-test-host-jvm", version.ref="ktor"} -ktorCallLogging={module="io.ktor:ktor-server-call-logging", version.ref="ktor"} -coroutinesCore={module="org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } -logBackClassic={module="ch.qos.logback:logback-classic", version.ref= "logBackClassic" } -kotlinHtmlJvm={module="org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref="kotlinHtmlJvm"} -oneTimePass = {module="dev.turingcomplete:kotlin-onetimepassword", version.ref="oneTimePass"} -serializationProperties={module="org.jetbrains.kotlinx:kotlinx-serialization-properties", version.ref="serializationLibs"} -serializationCbor={module="org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref="serializationLibs"} -kotlinJvmHtml={module="org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref="kotlinHtmlJvm"} -mongoBson={module="org.mongodb:bson", version.ref="bson"} -kBson={module="com.github.jershell:kbson", version.ref="kbson"} -xmlUtilJvm={module="io.github.pdvrieze.xmlutil:serialization-jvm", version.ref="xmlUtilJvm"} -kaml={module="com.charleskorn.kaml:kaml", version.ref="kaml"} -kotlinStdLib={module="org.jetbrains.kotlin:kotlin-stdlib", version.ref="kotlin"} -kotlinReflect={module="org.jetbrains.kotlin:kotlin-reflect", version.ref="kotlin"} -bouncyCastleBcprov ={module="org.bouncycastle:bcprov-jdk18on", version.ref="bouncyCastle"} -bouncyCastleBcpkix={module="org.bouncycastle:bcpkix-jdk18on", version.ref="bouncyCastle"} -angusMail={module="org.eclipse.angus:angus-mail", version.ref="angusMail"} -javaJwt={module="com.auth0:java-jwt", version.ref="javaJwt"} -deployHelpers={module="com.lightningkite:deploy-helpers", version="0.0.7"} -coroutinesReactive={module="org.jetbrains.kotlinx:kotlinx-coroutines-reactive", version.ref="coroutines"} -coroutinesJdk={module="org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref="coroutines"} -awssdk={module="software.amazon.awssdk:s3", version.ref="awssdk"} -dynamodb={module="software.amazon.awssdk:dynamodb", version.ref="dynamodb"} -awsS3={module="software.amazon.awssdk:s3", version.ref="awsVersion"} -awsLambda={module="software.amazon.awssdk:lambda", version.ref="awsVersion"} -awsSes={module="software.amazon.awssdk:ses", version.ref="awsVersion"} -awsRds={module="software.amazon.awssdk:rds", version.ref="awsVersion"} -awsApiGateway={module="software.amazon.awssdk:apigatewaymanagementapi", version.ref="awsVersion"} -awsCloudWatch={module="software.amazon.awssdk:cloudwatch", version.ref="awsVersion"} -orgCrac={module="io.github.crac:org-crac", version.ref="orgCrac"} +ktorWebsockets={module="io.ktor:ktor-server-websockets-jvm", version.ref="ktor"} lambdaJavaCore={module="com.amazonaws:aws-lambda-java-core", version.ref="lambdaJavaCore"} lambdaJavaEvents={module="com.amazonaws:aws-lambda-java-events", version.ref="lambdaJavaEvents"} lambdaJavaLog4j2={module="com.amazonaws:aws-lambda-java-log4j2", version.ref="lambdaJavaLog4j2"} -exposedCore={module="org.jetbrains.exposed:exposed-core", version.ref="exposed"} -exposedJavaTime={module="org.jetbrains.exposed:exposed-java-time", version.ref="exposed"} -exposedJdbc={module="org.jetbrains.exposed:exposed-jdbc", version.ref="exposed"} -azureFunctions={module="com.microsoft.azure.functions:azure-functions-java-library", version.ref="azureFunctions"} -azureStorage={module="com.azure:azure-storage-blob", version.ref="azureStorage"} -firebaseAdmin={module="com.google.firebase:firebase-admin", version.ref="firebaseAdmin"} +lettuce={module="io.lettuce:lettuce-core", version.ref="lettuce"} +logBackClassic={module="ch.qos.logback:logback-classic", version.ref= "logBackClassic" } memcached={module="com.googlecode.xmemcached:xmemcached", version.ref="memcached"} -embedMongo={module="de.flapdoodle.embed:de.flapdoodle.embed.mongo", version.ref="embedMongo"} +mongoBson={module="org.mongodb:bson", version.ref="bson"} mongoDriver={module="org.mongodb:mongodb-driver-kotlin-coroutine", version.ref="mongoDriver"} +oneTimePass = {module="dev.turingcomplete:kotlin-onetimepassword", version.ref="oneTimePass"} +orgCrac={module="io.github.crac:org-crac", version.ref="orgCrac"} postgresql={module="org.postgresql:postgresql", version.ref="postgresql"} -embeddedPostgres={module="io.zonky.test:embedded-postgres", version.ref="embeddedPostgres"} -lettuce={module="io.lettuce:lettuce-core", version.ref="lettuce"} -embeddedRedis={module="org.signal:embedded-redis", version.ref="embeddedRedis"} -guava={module="com.google.guava:guava", version.ref="guava"} -hierynomusSshj={module="com.hierynomus:sshj", version.ref="hierynomusSshj"} -sentry={module="io.sentry:sentry", version.ref="sentry"} +proguard={module="com.guardsquare:proguard-gradle", version.ref="proguard"} sentry9={module="io.sentry:sentry", version.ref="sentry9"} sentry9Logback={module="io.sentry:sentry-logback", version.ref="sentry9"} -kiteUI={module="com.lightningkite.kiteui:library", version.ref="kiteUI"} -androidDesugaring={module="com.android.tools:desugar_jdk_libs", version.ref="androidDesugaring"} -proguard={module="com.guardsquare:proguard-gradle", version.ref="proguard"} -kotlinerCli={module="com.lightningkite:kotliner-cli", version.ref="kotlinerCli"} - +sentry={module="io.sentry:sentry", version.ref="sentry"} +serialization={module="org.jetbrains.kotlin:kotlin-serialization", version.ref="kotlin"} +serializationCbor={module="org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref="serializationLibs"} +serializationProperties={module="org.jetbrains.kotlinx:kotlinx-serialization-properties", version.ref="serializationLibs"} +xmlUtilJvm={module="io.github.pdvrieze.xmlutil:serialization-jvm", version.ref="xmlUtilJvm"} [plugins] -kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } -kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } androidApp = {id="com.android.application", version.ref = "agp"} androidLibrary = { id="com.android.library", version.ref = "agp"} dokka={id="org.jetbrains.dokka", version.ref="dokka"} +graalVmNative={id="org.graalvm.buildtools.native", version.ref="graalVmNative"} +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } ksp={id="com.google.devtools.ksp", version.ref="ksp"} serialization={id="org.jetbrains.kotlin.plugin.serialization", version.ref="kotlin"} -graalVmNative={id="org.graalvm.buildtools.native", version.ref="graalVmNative"} shadow={id="com.github.johnrengelman.shadow", version.ref="shadow"} \ No newline at end of file