82 lines
1.9 KiB
Groovy
82 lines
1.9 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.springframework.boot' version '3.3.0'
|
|
id 'io.spring.dependency-management' version '1.1.5'
|
|
}
|
|
|
|
group = 'app.mealsmadeeasy'
|
|
version = '0.1.0-SNAPSHOT'
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
sourceSets {
|
|
testFixtures {
|
|
compileClasspath += main.output
|
|
}
|
|
|
|
integrationTest {
|
|
compileClasspath += main.output + testFixtures.output
|
|
runtimeClasspath += main.runtimeClasspath + testFixtures.runtimeClasspath
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
testFixturesImplementation {
|
|
extendsFrom implementation
|
|
}
|
|
|
|
integrationTestImplementation {
|
|
extendsFrom implementation
|
|
extendsFrom testImplementation
|
|
}
|
|
|
|
integrationTestRuntimeOnly {
|
|
extendsFrom testRuntimeOnly
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// From Spring Initalizr
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
implementation 'org.springframework.boot:spring-boot-starter-security'
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
runtimeOnly 'com.mysql:mysql-connector-j'
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.springframework.security:spring-security-test'
|
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
|
|
|
// Custom
|
|
implementation 'io.jsonwebtoken:jjwt-api:0.12.5'
|
|
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.5'
|
|
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.5'
|
|
|
|
implementation 'org.commonmark:commonmark:0.22.0'
|
|
implementation 'org.jsoup:jsoup:1.17.2'
|
|
|
|
compileOnly 'org.jetbrains:annotations:24.1.0'
|
|
|
|
// Custom testing
|
|
testRuntimeOnly 'com.h2database:h2'
|
|
|
|
testFixturesImplementation 'org.hamcrest:hamcrest:2.2'
|
|
}
|
|
|
|
tasks.register('integrationTest', Test) {
|
|
description = 'Run integration tests.'
|
|
group = 'verification'
|
|
testClassesDirs = sourceSets.integrationTest.output.classesDirs
|
|
classpath = sourceSets.integrationTest.runtimeClasspath
|
|
}
|
|
|
|
tasks.withType(Test).configureEach {
|
|
useJUnitPlatform()
|
|
}
|