diff --git a/build.gradle.kts b/build.gradle.kts index 7598679a..5b4be923 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,12 +1,11 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { val springBootVersion = "3.5.3" val kotlinVersion = "2.2.0" - java id("org.springframework.boot") version springBootVersion id("io.spring.dependency-management") version "1.1.7" - - //kotlin plugins kotlin("jvm") version kotlinVersion kotlin("plugin.spring") version kotlinVersion kotlin("plugin.jpa") version kotlinVersion @@ -22,61 +21,59 @@ java { } } +kapt { + keepJavacAnnotationProcessors = true +} + repositories { mavenCentral() } dependencies { - // spring + // Spring implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-thymeleaf") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-validation") - implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0") + + // API docs + implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9") + + // DB runtimeOnly("com.h2database:h2") - // jwt - implementation("io.jsonwebtoken:jjwt:0.9.1") - implementation("javax.xml.bind:jaxb-api:2.3.1") + // Jwt + implementation("io.jsonwebtoken:jjwt:0.12.6") - // kotlin + // Kotlin implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("io.github.oshai:kotlin-logging-jvm:7.0.3") - // test + // Test + testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("io.mockk:mockk:1.14.4") + testImplementation("com.ninja-squad:springmockk:4.0.2") + + // Kotest testImplementation("io.kotest:kotest-runner-junit5:5.9.1") testImplementation("io.kotest.extensions:kotest-extensions-spring:1.3.0") - testImplementation("com.ninja-squad:springmockk:4.0.2") - testImplementation("org.springframework.boot:spring-boot-starter-test") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") - testImplementation("io.rest-assured:rest-assured:5.3.1") + + // RestAssured + testImplementation("io.rest-assured:rest-assured:5.5.5") testImplementation("io.rest-assured:kotlin-extensions:5.5.5") } -kapt { - keepJavacAnnotationProcessors = true -} - -tasks.withType().configureEach { +tasks.withType { useJUnitPlatform() } -tasks { - compileKotlin { - compilerOptions { - freeCompilerArgs.add("-Xjsr305=strict") - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) - freeCompilerArgs.set(listOf("-Xannotation-default-target=param-property")) - - } +tasks.withType { + compilerOptions { + freeCompilerArgs.addAll( + "-Xjsr305=strict", + "-Xannotation-default-target=param-property" + ) + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) } - - compileTestKotlin { - compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) - freeCompilerArgs.set(listOf("-Xannotation-default-target=param-property")) - } - } -} \ No newline at end of file +}