You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
7.0 KiB
187 lines
7.0 KiB
plugins { |
|
id "dev.adamko.dokkatoo-html" |
|
id "java-library" |
|
id "org.jetbrains.kotlin.jvm" |
|
id "org.springframework.boot.configuration-properties" |
|
id "org.springframework.boot.deployed" |
|
id "org.springframework.boot.optional-dependencies" |
|
} |
|
|
|
description = "Spring Boot" |
|
|
|
def tomcatConfigProperties = "$buildDir/tomcat-config-properties" |
|
|
|
configurations { |
|
tomcatDistribution |
|
} |
|
|
|
dependencies { |
|
annotationProcessor("org.apache.logging.log4j:log4j-core") |
|
|
|
api("org.springframework:spring-core") |
|
api("org.springframework:spring-context") |
|
|
|
optional("ch.qos.logback:logback-classic") |
|
optional("com.fasterxml.jackson.core:jackson-databind") |
|
optional("com.h2database:h2") |
|
optional("com.google.code.gson:gson") |
|
optional("com.mchange:c3p0") |
|
optional("com.oracle.database.jdbc:ucp11") |
|
optional("com.oracle.database.jdbc:ojdbc11") |
|
optional("com.samskivert:jmustache") |
|
optional("com.squareup.okhttp3:okhttp") |
|
optional("com.zaxxer:HikariCP") |
|
optional("io.netty:netty-tcnative-boringssl-static") |
|
optional("io.projectreactor:reactor-tools") |
|
optional("io.projectreactor.netty:reactor-netty-http") |
|
optional("io.r2dbc:r2dbc-pool") |
|
optional("io.rsocket:rsocket-core") |
|
optional("io.rsocket:rsocket-transport-netty") |
|
optional("io.undertow:undertow-servlet") |
|
optional("jakarta.jms:jakarta.jms-api") |
|
optional("jakarta.persistence:jakarta.persistence-api") |
|
optional("jakarta.servlet:jakarta.servlet-api") |
|
optional("jakarta.transaction:jakarta.transaction-api") |
|
optional("junit:junit") |
|
optional("org.apache.commons:commons-dbcp2") { |
|
exclude(group: "commons-logging", module: "commons-logging") |
|
} |
|
optional("org.apache.httpcomponents.client5:httpclient5") |
|
optional("org.apache.logging.log4j:log4j-api") |
|
optional("org.apache.logging.log4j:log4j-core") |
|
optional("org.apache.logging.log4j:log4j-jul") |
|
optional("org.apache.tomcat.embed:tomcat-embed-core") |
|
optional("org.apache.tomcat.embed:tomcat-embed-jasper") |
|
optional("org.apache.tomcat:tomcat-jdbc") |
|
optional("org.assertj:assertj-core") |
|
optional("org.apache.groovy:groovy") |
|
optional("org.apache.groovy:groovy-xml") |
|
optional("org.crac:crac") |
|
optional("org.eclipse.jetty:jetty-alpn-conscrypt-server") |
|
optional("org.eclipse.jetty:jetty-client") |
|
optional("org.eclipse.jetty:jetty-util") |
|
optional("org.eclipse.jetty.ee10:jetty-ee10-servlets") |
|
optional("org.eclipse.jetty.ee10:jetty-ee10-webapp") |
|
optional("org.eclipse.jetty.http2:jetty-http2-server") |
|
optional("org.flywaydb:flyway-core") |
|
optional("org.hamcrest:hamcrest-library") |
|
optional("org.hibernate.orm:hibernate-core") |
|
optional("org.hibernate.validator:hibernate-validator") |
|
optional("org.jooq:jooq") { |
|
exclude(group: "javax.xml.bind", module: "jaxb-api") |
|
} |
|
optional("org.liquibase:liquibase-core") { |
|
exclude(group: "javax.xml.bind", module: "jaxb-api") |
|
} |
|
optional("org.postgresql:postgresql") |
|
optional("org.slf4j:jul-to-slf4j") |
|
optional("org.slf4j:slf4j-api") |
|
optional("org.springframework:spring-messaging") |
|
optional("org.springframework:spring-orm") |
|
optional("org.springframework:spring-oxm") |
|
optional("org.springframework:spring-r2dbc") |
|
optional("org.springframework:spring-test") |
|
optional("org.springframework:spring-web") |
|
optional("org.springframework:spring-webflux") |
|
optional("org.springframework:spring-webmvc") |
|
optional("org.springframework.security:spring-security-web") |
|
optional("org.springframework.ws:spring-ws-core") { |
|
exclude group: "com.sun.mail", module: "jakarta.mail" |
|
exclude group: "jakarta.platform", module: "jakarta.jakartaee-api" |
|
exclude group: "org.eclipse.jetty", module: "jetty-server" |
|
exclude group: "org.eclipse.jetty", module: "jetty-servlet" |
|
exclude group: "jakarta.mail", module: "jakarta.mail-api" |
|
} |
|
optional("org.yaml:snakeyaml") |
|
optional("org.jetbrains.kotlin:kotlin-reflect") |
|
optional("org.jetbrains.kotlin:kotlin-stdlib") |
|
|
|
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) |
|
testImplementation("org.springframework:spring-core-test") |
|
testImplementation("com.ibm.db2:jcc") |
|
testImplementation("com.jayway.jsonpath:json-path") |
|
testImplementation("com.microsoft.sqlserver:mssql-jdbc") |
|
testImplementation("com.mysql:mysql-connector-j") |
|
testImplementation("com.squareup.okhttp3:okhttp") |
|
testImplementation("com.sun.xml.messaging.saaj:saaj-impl") |
|
testImplementation("io.projectreactor:reactor-test") |
|
testImplementation("io.r2dbc:r2dbc-h2") |
|
testImplementation("jakarta.inject:jakarta.inject-api") |
|
testImplementation("jakarta.xml.ws:jakarta.xml.ws-api") |
|
testImplementation("net.sourceforge.jtds:jtds") |
|
testImplementation("org.apache.derby:derby") |
|
testImplementation("org.apache.derby:derbytools") |
|
testImplementation("org.awaitility:awaitility") |
|
testImplementation("org.codehaus.janino:janino") |
|
testImplementation("org.eclipse.jetty:jetty-client") |
|
testImplementation("org.eclipse.jetty.http2:jetty-http2-client") |
|
testImplementation("org.eclipse.jetty.http2:jetty-http2-client-transport") |
|
testImplementation("org.firebirdsql.jdbc:jaybird") { |
|
exclude group: "javax.resource", module: "connector-api" |
|
} |
|
testImplementation("org.hsqldb:hsqldb") |
|
testImplementation("org.junit.jupiter:junit-jupiter") |
|
testImplementation("org.mariadb.jdbc:mariadb-java-client") { |
|
exclude group: "org.slf4j", module: "jcl-over-slf4j" |
|
} |
|
testImplementation("org.mockito:mockito-core") |
|
testImplementation("org.mockito:mockito-junit-jupiter") |
|
testImplementation("org.springframework:spring-context-support") |
|
testImplementation("org.springframework:spring-core-test") |
|
testImplementation("org.springframework.data:spring-data-redis") |
|
testImplementation("org.springframework.data:spring-data-r2dbc") |
|
testImplementation("org.xerial:sqlite-jdbc") |
|
|
|
testRuntimeOnly("org.testcontainers:jdbc") { |
|
exclude group: "javax.annotation", module: "javax.annotation-api" |
|
exclude group: "javax.xml.bind", module: "jaxb-api" |
|
} |
|
|
|
tomcatDistribution("org.apache.tomcat:tomcat:${tomcatVersion}@zip") |
|
} |
|
|
|
task extractTomcatConfigProperties(type: Sync) { |
|
destinationDir = file(tomcatConfigProperties) |
|
from { |
|
zipTree(configurations.tomcatDistribution.incoming.files.singleFile).matching { |
|
include '**/conf/catalina.properties' |
|
}.singleFile |
|
} |
|
} |
|
|
|
def syncJavaTemplates = tasks.register("syncJavaTemplates", Sync) { |
|
from("src/main/javaTemplates") |
|
into("build/generated-sources/main") |
|
def properties = ["springBootVersion": project.version] |
|
expand(properties) |
|
inputs.properties(properties) |
|
} |
|
|
|
tasks.named("checkFormatMain") { |
|
def generatedSources = fileTree("build/generated-sources/main") |
|
// Exclude source generated from the templates as expand(properties) changes line endings on Windows |
|
exclude { candidate -> generatedSources.contains(candidate.file) } |
|
// Add the templates to check that the input is correctly formatted |
|
source(fileTree("src/main/javaTemplates")) |
|
} |
|
|
|
plugins.withType(EclipsePlugin) { |
|
eclipse { |
|
synchronizationTasks syncJavaTemplates |
|
} |
|
} |
|
|
|
sourceSets { |
|
main { |
|
java { |
|
srcDirs syncJavaTemplates |
|
} |
|
} |
|
test { |
|
output.dir(tomcatConfigProperties, builtBy: "extractTomcatConfigProperties") |
|
} |
|
} |
|
|
|
test { |
|
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED" |
|
}
|
|
|