generated from ministryofjustice/hmpps-template-kotlin
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle.kts
78 lines (68 loc) · 2.6 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
plugins {
id("uk.gov.justice.hmpps.gradle-spring-boot") version "7.1.3"
kotlin("plugin.spring") version "2.1.10"
}
configurations {
testImplementation { exclude(group = "org.junit.vintage") }
}
dependencies {
runtimeOnly("org.flywaydb:flyway-database-postgresql")
implementation("org.springframework.boot:spring-boot-starter-webflux:3.4.3")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0")
implementation("io.sentry:sentry-spring-boot-starter-jakarta:7.20.0")
implementation("io.sentry:sentry-logback:7.20.0")
implementation("org.springframework.data:spring-data-commons:3.4.3")
implementation("uk.gov.justice.service.hmpps:hmpps-sqs-spring-boot-starter:5.3.2") {
exclude("org.springframework.security", "spring-security-config")
exclude("org.springframework.security", "spring-security-core")
exclude("org.springframework.security", "spring-security-crypto")
exclude("org.springframework.security", "spring-security-web")
}
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1")
testImplementation("io.kotest:kotest-assertions-json-jvm:5.9.1")
testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1")
testImplementation("io.kotest:kotest-assertions-core-jvm:5.9.1")
testImplementation("org.wiremock:wiremock-standalone:3.12.1")
testImplementation("io.kotest.extensions:kotest-extensions-spring:1.3.0")
testImplementation("org.mockito:mockito-core:5.16.0")
testImplementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.18.3")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
testImplementation(kotlin("test"))
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
}
repositories {
mavenCentral()
}
tasks {
register<Test>("unitTest") {
filter {
excludeTestsMatching("uk.gov.justice.digital.hmpps.hmppsintegrationapi.smoke*")
excludeTestsMatching("uk.gov.justice.digital.hmpps.hmppsintegrationapi.integration*")
}
}
register<Test>("smokeTest") {
filter {
includeTestsMatching("uk.gov.justice.digital.hmpps.hmppsintegrationapi.smoke*")
}
}
register<Test>("integrationTest") {
filter {
includeTestsMatching("uk.gov.justice.digital.hmpps.hmppsintegrationapi.integration*")
}
}
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
jvmTarget = "21"
}
}
}
testlogger {
theme = com.adarshr.gradle.testlogger.theme.ThemeType.MOCHA
}
// this is to address JLLeitschuh/ktlint-gradle#809
ktlint {
version = "1.5.0"
}