67 lines
2.1 KiB
Groovy
67 lines
2.1 KiB
Groovy
plugins {
|
|
id 'org.jetbrains.kotlin.jvm' version '1.9.25'
|
|
id 'org.jetbrains.kotlin.plugin.spring' version '1.9.25'
|
|
id 'org.springframework.boot' version '3.5.3'
|
|
id 'io.spring.dependency-management' version '1.1.7'
|
|
id 'org.openapi.generator' version '7.11.0'
|
|
}
|
|
|
|
group = 'com.betriebsratkanzlei'
|
|
version = '0.0.1-SNAPSHOT'
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
|
|
implementation 'org.jetbrains.kotlin:kotlin-reflect'
|
|
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.6'
|
|
implementation 'org.springdoc:springdoc-openapi-ui:1.8.0'
|
|
|
|
// Apache commons for file operations and process execution
|
|
implementation 'commons-io:commons-io:2.17.0'
|
|
implementation 'org.apache.commons:commons-exec:1.4.0'
|
|
|
|
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll '-Xjsr305=strict'
|
|
}
|
|
}
|
|
|
|
def generatedSourcesServerMiddlewareDir = "$buildDir/generated/server".toString()
|
|
|
|
sourceSets {
|
|
main {
|
|
kotlin.srcDirs += generatedSourcesServerMiddlewareDir + '/src/main/kotlin'
|
|
}
|
|
}
|
|
|
|
task generate_middleware_server(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
|
|
generatorName = 'kotlin-spring'
|
|
inputSpec = "$rootDir/api/legalconsenthub-middleware.yml".toString()
|
|
outputDir = generatedSourcesServerMiddlewareDir
|
|
apiPackage = 'com.betriebsratkanzlei.legalconsenthub_middleware_api.api'
|
|
modelPackage = 'com.betriebsratkanzlei.legalconsenthub_middleware_api.model'
|
|
groupId = 'com.betriebsratkanzlei'
|
|
id = 'legalconsenthub_middleware_api'
|
|
configOptions = [useTags : 'true',
|
|
enumPropertyNaming: 'original',
|
|
interfaceOnly : 'true',
|
|
useSpringBoot3 : 'true']
|
|
typeMappings = [DateTime: "LocalDateTime"]
|
|
importMappings = [LocalDateTime: "java.time.LocalDateTime"]
|
|
}
|
|
|
|
compileKotlin.dependsOn(tasks.generate_middleware_server)
|