diff --git a/brevbaker-dsl/build.gradle.kts b/brevbaker-dsl/build.gradle.kts index 8aabb4ef06..4b01abb8d3 100644 --- a/brevbaker-dsl/build.gradle.kts +++ b/brevbaker-dsl/build.gradle.kts @@ -1,13 +1,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget val apiModelJavaTarget: String by System.getProperties() -val commonVersion: String by project -val hamkrestVersion: String by project -val jupiterVersion: String by project plugins { kotlin("jvm") - id("com.google.devtools.ksp") } group = "no.nav.pensjon.brevbaker" @@ -25,13 +21,11 @@ repositories { dependencies { implementation(kotlin("stdlib")) - implementation("no.nav.pensjon.brevbaker:brevbaker-api-model-common:$commonVersion") + implementation(libs.brevbaker.common) // JUnit 5 - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("com.natpryce:hamkrest:$hamkrestVersion") + testImplementation(libs.bundles.junit) + testImplementation(libs.hamkrest) testImplementation(kotlin("reflect")) } @@ -39,11 +33,6 @@ kotlin { compilerOptions { jvmTarget.set(JvmTarget.fromTarget(apiModelJavaTarget)) } - sourceSets { - test { - kotlin.srcDir("build/generated/ksp/test/kotlin") - } - } } tasks { test { diff --git a/brevbaker/build.gradle.kts b/brevbaker/build.gradle.kts index d84e2a2a88..896551d50f 100644 --- a/brevbaker/build.gradle.kts +++ b/brevbaker/build.gradle.kts @@ -1,17 +1,12 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget val apiModelJavaTarget: String by System.getProperties() -val hamkrestVersion: String by project -val commonVersion: String by project -val logstashVersion: String by project -val ktorVersion: String by System.getProperties() -val jacksonJsr310Version: String by project plugins { kotlin("jvm") id("java-library") id("java-test-fixtures") - id("com.google.devtools.ksp") + alias(libs.plugins.ksp) apply true } group = "no.nav.brev.brevbaker" @@ -25,22 +20,22 @@ repositories { dependencies { api(project(":brevbaker-dsl")) - api("no.nav.pensjon.brevbaker:brevbaker-api-model-common:$commonVersion") + api(libs.brevbaker.common) ksp(project(":template-model-generator")) - implementation("org.jetbrains.kotlinx:kotlinx-html-jvm:0.12.0") + implementation(libs.kotlinx.html) testImplementation(kotlin("test")) - testImplementation("com.natpryce:hamkrest:$hamkrestVersion") + testImplementation(libs.hamkrest) + testFixturesImplementation(libs.ktor.serialization.jackson) + testFixturesImplementation(libs.ktor.client.cio) + testFixturesImplementation(libs.ktor.client.content.negotiation) + testFixturesImplementation(libs.ktor.client.encoding) + testFixturesImplementation(libs.ktor.server.callId) - testFixturesImplementation("net.logstash.logback:logstash-logback-encoder:$logstashVersion") - testFixturesImplementation("io.ktor:ktor-serialization-jackson:$ktorVersion") - testFixturesImplementation("io.ktor:ktor-client-cio:$ktorVersion") - testFixturesImplementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") - testFixturesImplementation("io.ktor:ktor-client-encoding:$ktorVersion") - testFixturesImplementation("io.ktor:ktor-server-call-id:$ktorVersion") + testFixturesImplementation(libs.bundles.logging) - testFixturesImplementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonJsr310Version") { + testFixturesImplementation(libs.jackson.datatype.jsr310) { because("we require deserialization/serialization of java.time.LocalDate") } } diff --git a/build.gradle.kts b/build.gradle.kts index a1a72293b8..26a4af5480 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,11 +1,7 @@ plugins { - val kotlinVersion: String by System.getProperties() - val ktorVersion: String by System.getProperties() - val kspVersion: String by System.getProperties() - - kotlin("jvm") version kotlinVersion apply false - id("com.google.devtools.ksp") version "$kotlinVersion-$kspVersion" apply false - id("io.ktor.plugin") version ktorVersion apply false + kotlin("jvm") version libs.versions.kotlinVersion apply false + alias(libs.plugins.ksp) apply false + alias(libs.plugins.ktor) apply false } allprojects { diff --git a/etterlattemaler/build.gradle.kts b/etterlattemaler/build.gradle.kts index a019afd5a2..508f51915a 100644 --- a/etterlattemaler/build.gradle.kts +++ b/etterlattemaler/build.gradle.kts @@ -2,15 +2,10 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent import org.jetbrains.kotlin.gradle.dsl.JvmTarget val apiModelJavaTarget: String by System.getProperties() -val jacksonJsr310Version: String by project -val jupiterVersion: String by project -val logstashVersion: String by project -val ktorVersion: String by System.getProperties() -val mockkVersion: String by project plugins { kotlin("jvm") - id("com.google.devtools.ksp") + alias(libs.plugins.ksp) apply true } group = "no.nav.pensjon.brev" @@ -27,18 +22,16 @@ dependencies { ksp(project(":template-model-generator")) - implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonJsr310Version") { + implementation(libs.jackson.datatype.jsr310) { because("we require deserialization/serialization of java.time.LocalDate") } // JUnit 5 - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("io.mockk:mockk:${mockkVersion}") + testImplementation(libs.bundles.junit) + testImplementation(libs.mockk) testImplementation(testFixtures(project(":brevbaker"))) - testImplementation("io.ktor:ktor-server-call-id:$ktorVersion") + testImplementation(libs.ktor.server.callId) } tasks.test { diff --git a/gradle.properties b/gradle.properties index 99920d1d55..53ee9ca21b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,17 +6,4 @@ org.gradle.caching=true systemProp.javaTarget=21 systemProp.apiModelJavaTarget=21 -systemProp.kotlinVersion=2.1.10 -systemProp.ktorVersion=3.1.1 -systemProp.kspVersion=1.0.31 -logbackVersion=1.5.17 -jupiterVersion=5.12.0 -hamkrestVersion=1.8.0.1 -logstashVersion=8.0 -micrometerVersion=1.14.4 -commonVersion=1.8.8 -jacksonJsr310Version=2.18.3 -mockkVersion=1.13.17 -exposedVersion=0.60.0 -flywayVersion=11.3.4 ksp.incremental=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000000..e0c52488c0 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,94 @@ +[versions] +kotlinVersion = "2.1.10" +kotlinKspVersion = "2.1.10-1.0.31" # TODO: Denne er kombinasjon av kotlinVersion og kspVersion. Har ikkje funne ein måte å slå saman desse to automatisk på +ktorVersion = "3.1.1" + +assertJVersion = "3.27.3" +commonsCodecVersion = "1.18.0" +commonVersion = "1.8.8" +exposedVersion = "0.60.0" +flywayVersion = "11.3.4" +hamkrestVersion = "1.8.0.1" +hikariVersion = "6.2.1" +jacksonJsr310Version = "2.18.3" +jupiterVersion = "5.12.0" +kotlinxHtmlVersion = "0.12.0" +kspKctVersion = "0.7.0" +logbackVersion = "1.5.17" +logstashVersion = "8.0" +micrometerVersion = "1.14.4" +mockkVersion = "1.13.17" +postgresqlVersion = "42.7.3" +testcontainersPostgresqlVersion = "1.20.5" +unleashVersion = "10.0.2" + +[plugins] +ktor = { id = "io.ktor.plugin", version.ref = "ktorVersion" } +ksp = { id = "com.google.devtools.ksp", version.ref = "kotlinKspVersion" } + +[libraries] +brevbaker-common = { module = "no.nav.pensjon.brevbaker:brevbaker-api-model-common", version.ref = "commonVersion" } +commons-codec = { module = "commons-codec:commons-codec", version.ref = "commonsCodecVersion" } +hikari-cp = { module = "com.zaxxer:HikariCP", version.ref = "hikariVersion" } +kotlinx-html = { module = "org.jetbrains.kotlinx:kotlinx-html-jvm", version.ref = "kotlinxHtmlVersion" } +ksp-symbol-processing-api = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "kotlinKspVersion"} +ksp-kotlin-compile-testing = { module = "dev.zacsweers.kctfork:ksp", version.ref = "kspKctVersion" } +logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logbackVersion" } +logback-encoder = { module = "net.logstash.logback:logstash-logback-encoder", version.ref = "logstashVersion" } +jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jacksonJsr310Version" } +micrometer-prometheus = { module = "io.micrometer:micrometer-registry-prometheus", version.ref = "micrometerVersion" } +postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresqlVersion" } +unleash = { module = "io.getunleash:unleash-client-java", version.ref = "unleashVersion" } + +# Ktor +ktor-client-auth = { module = "io.ktor:ktor-client-auth", version.ref = "ktorVersion" } +ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktorVersion" } +ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktorVersion" } +ktor-client-encoding = { module = "io.ktor:ktor-client-encoding", version.ref = "ktorVersion" } +ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktorVersion" } +ktor-serialization-jackson = { module = "io.ktor:ktor-serialization-jackson", version.ref = "ktorVersion" } +ktor-server-auth = { module = "io.ktor:ktor-server-auth", version.ref = "ktorVersion" } +ktor-server-auth-jwt = { module = "io.ktor:ktor-server-auth-jwt", version.ref = "ktorVersion" } +ktor-server-caching-headers = { module = "io.ktor:ktor-server-caching-headers", version.ref = "ktorVersion" } +ktor-server-caching-headers-jvm = { module = "io.ktor:ktor-server-caching-headers-jvm", version.ref = "ktorVersion"} +ktor-server-callId = { module = "io.ktor:ktor-server-call-id", version.ref = "ktorVersion" } +ktor-server-callLogging = { module = "io.ktor:ktor-server-call-logging", version.ref = "ktorVersion" } +ktor-server-compression-jvm = { module = "io.ktor:ktor-server-compression-jvm", version.ref = "ktorVersion" } +ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation", version.ref = "ktorVersion" } +ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "ktorVersion" } +ktor-server-core-jvm = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktorVersion" } +ktor-server-cors = { module = "io.ktor:ktor-server-cors", version.ref = "ktorVersion" } +ktor-server-metrics = { module = "io.ktor:ktor-server-metrics", version.ref = "ktorVersion" } +ktor-server-metrics-micrometer = { module = "io.ktor:ktor-server-metrics-micrometer", version.ref = "ktorVersion" } +ktor-server-netty = { module = "io.ktor:ktor-server-netty", version.ref = "ktorVersion" } +ktor-server-netty-jvm = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktorVersion" } +ktor-server-request-validation = { module = "io.ktor:ktor-server-auth", version.ref = "ktorVersion" } +ktor-server-status-pages = { module = "io.ktor:ktor-server-status-pages", version.ref = "ktorVersion" } +ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktorVersion" } +ktor-server-test-host = { module = "io.ktor:ktor-server-test-host", version.ref = "ktorVersion" } + +# Exposed +exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposedVersion" } +exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposedVersion" } +exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposedVersion" } +exposed-json = { module = "org.jetbrains.exposed:exposed-json", version.ref = "exposedVersion" } +exposed-java-time = { module = "org.jetbrains.exposed:exposed-java-time", version.ref = "exposedVersion" } + +# Flyway +flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flywayVersion" } +flyway-database-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flywayVersion" } + +# Test +assertJ = { module = "org.assertj:assertj-core", version.ref = "assertJVersion" } +hamkrest = { module = "com.natpryce:hamkrest", version.ref = "hamkrestVersion" } +junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "jupiterVersion" } +junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "jupiterVersion" } +junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version = "1.12.0" } +kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinVersion" } +mockk = { module = "io.mockk:mockk", version.ref = "mockkVersion" } +testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "testcontainersPostgresqlVersion"} + +[bundles] +junit = ["junit-jupiter", "junit-platform-launcher"] +logging = ["logback-classic", "logback-encoder"] +metrics = ["micrometer-prometheus", "ktor-server-metrics", "ktor-server-metrics-micrometer"] \ No newline at end of file diff --git a/pdf-bygger/build.gradle.kts b/pdf-bygger/build.gradle.kts index 72475f69dd..f3bd3dcd2d 100644 --- a/pdf-bygger/build.gradle.kts +++ b/pdf-bygger/build.gradle.kts @@ -1,19 +1,11 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget val javaTarget: String by System.getProperties() -val ktorVersion: String by System.getProperties() -val kotlinVersion: String by System.getProperties() -val commonVersion: String by project -val hamkrestVersion: String by project -val logbackVersion: String by project -val logstashVersion: String by project -val micrometerVersion: String by project -val jacksonJsr310Version: String by project plugins { kotlin("jvm") application - id("io.ktor.plugin") + alias(libs.plugins.ktor) apply true } group="no.nav.pensjon.brev" @@ -36,32 +28,28 @@ tasks { dependencies { implementation(kotlin("stdlib")) - implementation("ch.qos.logback:logback-classic:$logbackVersion") - implementation("io.ktor:ktor-serialization-jackson:$ktorVersion") - implementation("io.ktor:ktor-server-call-id:$ktorVersion") - implementation("io.ktor:ktor-server-call-logging:$ktorVersion") - implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-server-core:$ktorVersion") - implementation("io.ktor:ktor-server-netty:$ktorVersion") - implementation("io.ktor:ktor-server-status-pages:$ktorVersion") - implementation("net.logstash.logback:logstash-logback-encoder:$logstashVersion") - implementation("io.ktor:ktor-server-compression-jvm:$ktorVersion") + implementation(libs.bundles.logging) + implementation(libs.ktor.serialization.jackson) + implementation(libs.ktor.server.callId) + implementation(libs.ktor.server.callLogging) + implementation(libs.ktor.server.content.negotiation) + implementation(libs.ktor.server.core) + implementation(libs.ktor.server.netty) + implementation(libs.ktor.server.status.pages) + implementation(libs.ktor.server.compression.jvm) - // Metrics - implementation("io.ktor:ktor-server-metrics:$ktorVersion") - implementation("io.ktor:ktor-server-metrics-micrometer:$ktorVersion") - implementation("io.micrometer:micrometer-registry-prometheus:$micrometerVersion") + implementation(libs.bundles.metrics) implementation(project(":brevbaker-dsl")) - implementation("no.nav.pensjon.brevbaker:brevbaker-api-model-common:$commonVersion") + implementation(libs.brevbaker.common) - implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonJsr310Version") { + implementation(libs.jackson.datatype.jsr310) { because("we require deserialization/serialization of java.time.LocalDate") } - testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion") - testImplementation("com.natpryce:hamkrest:$hamkrestVersion") - testImplementation("io.ktor:ktor-server-test-host:$ktorVersion") + testImplementation(libs.kotlin.test.junit) + testImplementation(libs.hamkrest) + testImplementation(libs.ktor.server.test.host) testImplementation(project(":brevbaker")) testImplementation(testFixtures(project(":brevbaker"))) diff --git a/pensjon-brevbaker-api-model/build.gradle.kts b/pensjon-brevbaker-api-model/build.gradle.kts index 9ce88abeff..9bb83ecfb6 100644 --- a/pensjon-brevbaker-api-model/build.gradle.kts +++ b/pensjon-brevbaker-api-model/build.gradle.kts @@ -1,8 +1,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget val apiModelJavaTarget: String by System.getProperties() -val commonVersion: String by project -val kotlinVersion: String by System.getProperties() plugins { kotlin("jvm") @@ -23,8 +21,8 @@ repositories { dependencies { compileOnly(kotlin("stdlib")) - api("no.nav.pensjon.brevbaker:brevbaker-api-model-common:$commonVersion") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion") + api(libs.brevbaker.common) + testImplementation(libs.kotlin.test.junit) } publishing { diff --git a/pensjon-brevbaker/build.gradle.kts b/pensjon-brevbaker/build.gradle.kts index 54f5cdd488..90afa8e48f 100644 --- a/pensjon-brevbaker/build.gradle.kts +++ b/pensjon-brevbaker/build.gradle.kts @@ -2,20 +2,12 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent import org.jetbrains.kotlin.gradle.dsl.JvmTarget val javaTarget: String by System.getProperties() -val logbackVersion: String by project -val ktorVersion: String by System.getProperties() -val jupiterVersion: String by project -val hamkrestVersion: String by project -val logstashVersion: String by project -val micrometerVersion: String by project -val jacksonJsr310Version: String by project -val mockkVersion: String by project plugins { application kotlin("jvm") - id("com.google.devtools.ksp") - id("io.ktor.plugin") + alias(libs.plugins.ksp) apply true + alias(libs.plugins.ktor) apply true } group = "no.nav.pensjon.brev" @@ -105,45 +97,39 @@ kotlin { dependencies { implementation(kotlin("stdlib")) - implementation("ch.qos.logback:logback-classic:$logbackVersion") - implementation("io.ktor:ktor-client-cio:$ktorVersion") - implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-serialization-jackson:$ktorVersion") - implementation("io.ktor:ktor-server-auth:$ktorVersion") - implementation("io.ktor:ktor-server-auth-jwt:$ktorVersion") - implementation("io.ktor:ktor-server-call-id:$ktorVersion") - implementation("io.ktor:ktor-server-call-logging:$ktorVersion") - implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-server-core:$ktorVersion") - implementation("io.ktor:ktor-server-netty:$ktorVersion") - implementation("io.ktor:ktor-server-status-pages:$ktorVersion") - implementation("io.ktor:ktor-server-swagger:$ktorVersion") - implementation("io.ktor:ktor-client-encoding:$ktorVersion") - implementation("net.logstash.logback:logstash-logback-encoder:$logstashVersion") + implementation(libs.bundles.logging) + implementation(libs.ktor.client.cio) + implementation(libs.ktor.client.content.negotiation) + implementation(libs.ktor.serialization.jackson) + implementation(libs.ktor.server.auth) + implementation(libs.ktor.server.auth.jwt) + implementation(libs.ktor.server.callId) + implementation(libs.ktor.server.callLogging) + implementation(libs.ktor.server.content.negotiation) + implementation(libs.ktor.server.core) + implementation(libs.ktor.server.netty) + implementation(libs.ktor.server.status.pages) + implementation(libs.ktor.server.swagger) + implementation(libs.ktor.client.encoding) implementation(project(":pensjonsmaler")) implementation(project(":etterlattemaler")) implementation(project(":brevbaker")) ksp(project(":template-model-generator")) - implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonJsr310Version") { + implementation(libs.jackson.datatype.jsr310) { because("we require deserialization/serialization of java.time.LocalDate") } - implementation("io.getunleash:unleash-client-java:10.0.2") + implementation(libs.unleash) - // Metrics - implementation("io.ktor:ktor-server-metrics:$ktorVersion") - implementation("io.ktor:ktor-server-metrics-micrometer:$ktorVersion") - implementation("io.micrometer:micrometer-registry-prometheus:$micrometerVersion") + implementation(libs.bundles.metrics) // JUnit 5 - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("com.natpryce:hamkrest:$hamkrestVersion") - testImplementation("io.ktor:ktor-server-test-host:$ktorVersion") - testImplementation("io.mockk:mockk:${mockkVersion}") + testImplementation(libs.bundles.junit) + testImplementation(libs.hamkrest) + testImplementation(libs.ktor.server.test.host) + testImplementation(libs.mockk) testImplementation(testFixtures(project(":brevbaker"))) } diff --git a/pensjonsmaler/build.gradle.kts b/pensjonsmaler/build.gradle.kts index 8986c90956..01c3a4db19 100644 --- a/pensjonsmaler/build.gradle.kts +++ b/pensjonsmaler/build.gradle.kts @@ -4,11 +4,10 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget val apiModelVersion = 132 val apiModelJavaTarget: String by System.getProperties() -val jupiterVersion: String by project plugins { kotlin("jvm") - id("com.google.devtools.ksp") + alias(libs.plugins.ksp) apply true } group = "no.nav.pensjon.brev" @@ -26,9 +25,7 @@ dependencies { api("no.nav.pensjon.brev:pensjon-brevbaker-api-model:$apiModelVersion") - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testImplementation(libs.bundles.junit) testImplementation(testFixtures(project(":brevbaker"))) } diff --git a/skribenten-backend/build.gradle.kts b/skribenten-backend/build.gradle.kts index 3bb4f86537..42db70893c 100644 --- a/skribenten-backend/build.gradle.kts +++ b/skribenten-backend/build.gradle.kts @@ -1,18 +1,7 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.jetbrains.kotlin.gradle.dsl.JvmTarget -val exposedVersion: String by project -val commonVersion: String by project -val jacksonJsr310Version: String by project val javaTarget: String by System.getProperties() -val jupiterVersion: String by project -val kotlinVersion: String by System.getProperties() -val ktorVersion: String by System.getProperties() -val logbackVersion: String by project -val logstashVersion: String by project -val micrometerVersion: String by project -val mockkVersion: String by project -val flywayVersion: String by project plugins { application @@ -70,66 +59,59 @@ sourceSets { dependencies { // Ktor - implementation("io.ktor:ktor-client-auth:$ktorVersion") - implementation("io.ktor:ktor-client-cio:$ktorVersion") - implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-serialization-jackson:$ktorVersion") - implementation("io.ktor:ktor-server-auth:$ktorVersion") - implementation("io.ktor:ktor-server-auth-jwt:$ktorVersion") - implementation("io.ktor:ktor-server-call-id:$ktorVersion") - implementation("io.ktor:ktor-server-call-logging:$ktorVersion") - implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-server-core-jvm:$ktorVersion") - implementation("io.ktor:ktor-server-cors:$ktorVersion") - implementation("io.ktor:ktor-server-netty-jvm:$ktorVersion") - implementation("io.ktor:ktor-server-status-pages:$ktorVersion") - implementation("io.ktor:ktor-server-caching-headers:$ktorVersion") - implementation("io.ktor:ktor-server-request-validation:$ktorVersion") + implementation(libs.ktor.client.auth) + implementation(libs.ktor.client.cio) + implementation(libs.ktor.client.content.negotiation) + implementation(libs.ktor.serialization.jackson) + implementation(libs.ktor.server.auth) + implementation(libs.ktor.server.auth.jwt) + implementation(libs.ktor.server.callId) + implementation(libs.ktor.server.callLogging) + implementation(libs.ktor.server.content.negotiation) + implementation(libs.ktor.server.core.jvm) + implementation(libs.ktor.server.cors) + implementation(libs.ktor.server.netty.jvm) + implementation(libs.ktor.server.status.pages) + implementation(libs.ktor.server.caching.headers) + implementation(libs.ktor.server.request.validation) // Exposed - implementation("org.jetbrains.exposed:exposed-core:$exposedVersion") - implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion") - implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion") - implementation("org.jetbrains.exposed:exposed-json:$exposedVersion") - implementation("org.jetbrains.exposed:exposed-java-time:$exposedVersion") - implementation("org.postgresql:postgresql:42.7.3") - implementation("com.zaxxer:HikariCP:6.2.1") - + implementation(libs.exposed.core) + implementation(libs.exposed.dao) + implementation(libs.exposed.jdbc) + implementation(libs.exposed.json) + implementation(libs.exposed.java.time) + implementation(libs.postgresql) + implementation(libs.hikari.cp) // Databasemigrering - implementation("org.flywaydb:flyway-core:$flywayVersion") - implementation("org.flywaydb:flyway-database-postgresql:$flywayVersion") + implementation(libs.flyway.core) + implementation(libs.flyway.database.postgresql) // Unleash - implementation("io.getunleash:unleash-client-java:10.0.2") + implementation(libs.unleash) // Domenemodell - implementation("no.nav.pensjon.brevbaker:brevbaker-api-model-common:$commonVersion") + implementation(libs.brevbaker.common) - // Logging - implementation("ch.qos.logback:logback-classic:$logbackVersion") - implementation("net.logstash.logback:logstash-logback-encoder:$logstashVersion") + implementation(libs.bundles.logging) // Necessary for java.time.LocalDate - implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonJsr310Version") + implementation(libs.jackson.datatype.jsr310) // Hashing - implementation("commons-codec:commons-codec:1.18.0") + implementation(libs.commons.codec) // Metrics - implementation("io.ktor:ktor-server-metrics:$ktorVersion") - implementation("io.ktor:ktor-server-metrics-micrometer:$ktorVersion") - implementation("io.micrometer:micrometer-registry-prometheus:$micrometerVersion") - implementation("io.ktor:ktor-server-caching-headers-jvm:$ktorVersion") + implementation(libs.bundles.metrics) + implementation(libs.ktor.server.caching.headers.jvm) // Test - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("io.ktor:ktor-server-test-host:$ktorVersion") - testImplementation("io.ktor:ktor-client-mock:$ktorVersion") - testImplementation("io.mockk:mockk:${mockkVersion}") - testImplementation("org.assertj:assertj-core:3.27.3") - testImplementation("org.testcontainers:postgresql:1.20.5") + testImplementation(libs.bundles.junit) + testImplementation(libs.ktor.server.test.host) + testImplementation(libs.ktor.client.mock) + testImplementation(libs.mockk) + testImplementation(libs.assertJ) + testImplementation(libs.testcontainers.postgresql) } \ No newline at end of file diff --git a/template-model-generator/build.gradle.kts b/template-model-generator/build.gradle.kts index 5df74d5b26..c04310572f 100644 --- a/template-model-generator/build.gradle.kts +++ b/template-model-generator/build.gradle.kts @@ -2,10 +2,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask val javaTarget: String by System.getProperties() -val kotlinVersion: String by System.getProperties() -val kspVersion: String by System.getProperties() -val jupiterVersion: String by project -val hamkrestVersion: String by project plugins { kotlin("jvm") @@ -44,15 +40,12 @@ tasks { dependencies { compileOnly(kotlin("reflect")) - implementation("com.google.devtools.ksp:symbol-processing-api:$kotlinVersion-$kspVersion") + implementation(libs.ksp.symbol.processing.api) implementation(project(":brevbaker-dsl")) + testImplementation(libs.bundles.junit) // Byttet til fork som støtter kotlin > 2.0 // testImplementation("com.github.tschuchortdev:kotlin-compile-testing-ksp:1.6.0") - testImplementation("dev.zacsweers.kctfork:ksp:0.7.0") - testImplementation("com.natpryce:hamkrest:$hamkrestVersion") - - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("org.junit.jupiter:junit-jupiter") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testImplementation(libs.ksp.kotlin.compile.testing) + testImplementation(libs.hamkrest) } diff --git a/tjenestebuss-integrasjon/build.gradle.kts b/tjenestebuss-integrasjon/build.gradle.kts index 72d0916a56..037deacc9d 100644 --- a/tjenestebuss-integrasjon/build.gradle.kts +++ b/tjenestebuss-integrasjon/build.gradle.kts @@ -4,18 +4,11 @@ import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransfor import org.jetbrains.kotlin.gradle.dsl.JvmTarget val javaTarget: String by System.getProperties() -val kotlinVersion: String by System.getProperties() -val ktorVersion: String by System.getProperties() -val hamkrestVersion: String by project -val logbackVersion: String by project -val logstashVersion: String by project -val micrometerVersion: String by project -val jupiterVersion: String by project plugins { application kotlin("jvm") - id("io.ktor.plugin") + alias(libs.plugins.ktor) apply true } group = "no.nav.pensjon.brev.tjenestebuss" @@ -41,19 +34,18 @@ ktor { val cxfVersion = "3.6.3" val tjenestespesifikasjonerVersion = "1.858e92e" dependencies { - implementation("io.ktor:ktor-serialization-jackson:$ktorVersion") - implementation("io.ktor:ktor-server-call-id:$ktorVersion") - implementation("io.ktor:ktor-server-call-logging:$ktorVersion") - implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-server-core-jvm:$ktorVersion") - implementation("io.ktor:ktor-server-netty-jvm:$ktorVersion") - implementation("io.ktor:ktor-server-status-pages:$ktorVersion") - implementation("io.ktor:ktor-client-auth:$ktorVersion") - implementation("io.ktor:ktor-server-auth-jwt:$ktorVersion") - implementation("io.ktor:ktor-client-cio:$ktorVersion") - implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") - implementation("ch.qos.logback:logback-classic:$logbackVersion") - implementation("net.logstash.logback:logstash-logback-encoder:$logstashVersion") + implementation(libs.ktor.serialization.jackson) + implementation(libs.ktor.server.callId) + implementation(libs.ktor.server.callLogging) + implementation(libs.ktor.server.content.negotiation) + implementation(libs.ktor.server.core.jvm) + implementation(libs.ktor.server.netty.jvm) + implementation(libs.ktor.server.status.pages) + implementation(libs.ktor.client.auth) + implementation(libs.ktor.server.auth.jwt) + implementation(libs.ktor.client.cio) + implementation(libs.ktor.client.content.negotiation) + implementation(libs.bundles.logging) implementation("no.nav.tjenestespesifikasjoner:samhandler-tjenestespesifikasjon:$tjenestespesifikasjonerVersion") @@ -66,20 +58,16 @@ dependencies { implementation("org.apache.cxf:cxf-rt-ws-policy:$cxfVersion") implementation("org.apache.cxf:cxf-rt-transports-http:$cxfVersion") - // Metrics - implementation("io.ktor:ktor-server-metrics:$ktorVersion") - implementation("io.ktor:ktor-server-metrics-micrometer:$ktorVersion") - implementation("io.micrometer:micrometer-registry-prometheus:$micrometerVersion") - + implementation(libs.bundles.metrics) // Test - testImplementation("org.junit.jupiter:junit-jupiter") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion") - testImplementation(platform("org.junit:junit-bom:$jupiterVersion")) - testImplementation("io.ktor:ktor-server-test-host:$ktorVersion") + testImplementation(libs.junit.jupiter) + testImplementation(libs.kotlin.test.junit) + testImplementation(platform(libs.junit.bom)) + testImplementation(libs.ktor.server.test.host) testImplementation("com.sun.xml.bind:jaxb-core:2.2.11") testImplementation("org.apache.cxf:cxf-rt-transports-http-jetty:$cxfVersion") - testImplementation("com.natpryce:hamkrest:$hamkrestVersion") + testImplementation(libs.hamkrest) } repositories {