85 lines
2.4 KiB
Text
85 lines
2.4 KiB
Text
|
import org.hidetake.gradle.swagger.generator.GenerateSwaggerCode
|
||
|
|
||
|
repositories {
|
||
|
mavenCentral()
|
||
|
}
|
||
|
|
||
|
plugins {
|
||
|
java
|
||
|
id("org.springframework.boot") version "3.3.3"
|
||
|
id("io.spring.dependency-management") version "1.1.6"
|
||
|
id("org.hidetake.swagger.generator") version "2.19.2"
|
||
|
}
|
||
|
|
||
|
group = "de.hmmh"
|
||
|
version = "0.0.1-SNAPSHOT"
|
||
|
|
||
|
java {
|
||
|
toolchain {
|
||
|
languageVersion = JavaLanguageVersion.of(22)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
configurations {
|
||
|
compileOnly {
|
||
|
extendsFrom(configurations.annotationProcessor.get())
|
||
|
}
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
//Spring
|
||
|
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
|
||
|
implementation("org.springframework.boot:spring-boot-starter-validation")
|
||
|
implementation("org.springframework.boot:spring-boot-starter-web")
|
||
|
runtimeOnly("org.postgresql:postgresql")
|
||
|
|
||
|
//Lombok
|
||
|
compileOnly("org.projectlombok:lombok")
|
||
|
annotationProcessor("org.projectlombok:lombok")
|
||
|
|
||
|
//Test
|
||
|
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
||
|
testImplementation("org.springframework.boot:spring-boot-testcontainers")
|
||
|
testImplementation("org.testcontainers:junit-jupiter")
|
||
|
testImplementation("org.testcontainers:postgresql")
|
||
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
||
|
|
||
|
//OAS
|
||
|
swaggerCodegen("org.openapitools:openapi-generator-cli:7.8.0")
|
||
|
implementation("io.swagger.core.v3:swagger-annotations:2.2.22")
|
||
|
}
|
||
|
|
||
|
swaggerSources {
|
||
|
register("pmt") {
|
||
|
setInputFile(file("${rootDir}/src/main/resources/api.yml"))
|
||
|
code.configFile = file("${rootDir}/src/main/resources/gen-config.json")
|
||
|
val validationTask = validation
|
||
|
code(delegateClosureOf<GenerateSwaggerCode> {
|
||
|
language = "spring"
|
||
|
components = listOf("models", "apis", "supportingFiles=ApiUtil.java")
|
||
|
code.rawOptions = listOf("--ignore-file-override=" + file("${rootDir}/src/main/resources/.codegen-ignore").absolutePath)
|
||
|
dependsOn(validationTask)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
tasks {
|
||
|
processResources {
|
||
|
dependsOn(generateSwaggerCode)
|
||
|
}
|
||
|
withType<Test> {
|
||
|
useJUnitPlatform()
|
||
|
}
|
||
|
named("compileJava").configure {
|
||
|
dependsOn(swaggerSources.getByName("pmt").code)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
sourceSets {
|
||
|
main {
|
||
|
java.srcDir("${swaggerSources.getByName("pmt").code.outputDir}/src/main/java")
|
||
|
resources.srcDir("${swaggerSources.getByName("pmt").code.outputDir}/src/main/resources")
|
||
|
}
|
||
|
}
|