You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
5.0 KiB
Groovy
140 lines
5.0 KiB
Groovy
plugins {
|
|
id "java-gradle-plugin"
|
|
id "io.spring.javaformat" version "${javaFormatVersion}"
|
|
id "checkstyle"
|
|
id "eclipse"
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
|
|
sourceCompatibility = 17
|
|
targetCompatibility = 17
|
|
|
|
def versions = [:]
|
|
new File(projectDir.parentFile, "gradle.properties").withInputStream {
|
|
def properties = new Properties()
|
|
properties.load(it)
|
|
["assertj", "commonsCodec", "hamcrest", "jackson", "junitJupiter",
|
|
"kotlin", "maven"].each {
|
|
versions[it] = properties[it + "Version"]
|
|
}
|
|
}
|
|
versions["springFramework"] = "6.0.12"
|
|
ext.set("versions", versions)
|
|
if (versions.springFramework.contains("-")) {
|
|
repositories {
|
|
maven { url "https://repo.spring.io/milestone" }
|
|
maven { url "https://repo.spring.io/snapshot" }
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}"
|
|
|
|
implementation(platform("org.springframework:spring-framework-bom:${versions.springFramework}"))
|
|
implementation("com.diffplug.gradle:goomph:3.37.2")
|
|
implementation("com.fasterxml.jackson.core:jackson-databind:${versions.jackson}")
|
|
implementation("com.gradle:gradle-enterprise-gradle-plugin:3.12.1")
|
|
implementation("com.tngtech.archunit:archunit:1.0.0")
|
|
implementation("commons-codec:commons-codec:${versions.commonsCodec}")
|
|
implementation("de.undercouch.download:de.undercouch.download.gradle.plugin:5.5.0")
|
|
implementation("io.spring.javaformat:spring-javaformat-gradle-plugin:${javaFormatVersion}")
|
|
implementation("org.apache.maven:maven-embedder:${versions.maven}")
|
|
implementation("org.asciidoctor:asciidoctor-gradle-jvm:3.3.2")
|
|
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}")
|
|
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:${versions.kotlin}")
|
|
implementation("org.springframework:spring-context")
|
|
implementation("org.springframework:spring-core")
|
|
implementation("org.springframework:spring-web")
|
|
|
|
testImplementation("org.assertj:assertj-core:${versions.assertj}")
|
|
testImplementation("org.hamcrest:hamcrest:${versions.hamcrest}")
|
|
testImplementation("org.junit.jupiter:junit-jupiter:${versions.junitJupiter}")
|
|
testImplementation("org.springframework:spring-test")
|
|
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
}
|
|
|
|
checkstyle {
|
|
toolVersion = "10.12.4"
|
|
}
|
|
|
|
gradlePlugin {
|
|
plugins {
|
|
annotationProcessorPlugin {
|
|
id = "org.springframework.boot.annotation-processor"
|
|
implementationClass = "org.springframework.boot.build.processors.AnnotationProcessorPlugin"
|
|
}
|
|
architecturePlugin {
|
|
id = "org.springframework.boot.architecture"
|
|
implementationClass = "org.springframework.boot.build.architecture.ArchitecturePlugin"
|
|
}
|
|
autoConfigurationPlugin {
|
|
id = "org.springframework.boot.auto-configuration"
|
|
implementationClass = "org.springframework.boot.build.autoconfigure.AutoConfigurationPlugin"
|
|
}
|
|
bomPlugin {
|
|
id = "org.springframework.boot.bom"
|
|
implementationClass = "org.springframework.boot.build.bom.BomPlugin"
|
|
}
|
|
configurationPropertiesPlugin {
|
|
id = "org.springframework.boot.configuration-properties"
|
|
implementationClass = "org.springframework.boot.build.context.properties.ConfigurationPropertiesPlugin"
|
|
}
|
|
conventionsPlugin {
|
|
id = "org.springframework.boot.conventions"
|
|
implementationClass = "org.springframework.boot.build.ConventionsPlugin"
|
|
}
|
|
deployedPlugin {
|
|
id = "org.springframework.boot.deployed"
|
|
implementationClass = "org.springframework.boot.build.DeployedPlugin"
|
|
}
|
|
integrationTestPlugin {
|
|
id = "org.springframework.boot.integration-test"
|
|
implementationClass = "org.springframework.boot.build.test.IntegrationTestPlugin"
|
|
}
|
|
systemTestPlugin {
|
|
id = "org.springframework.boot.system-test"
|
|
implementationClass = "org.springframework.boot.build.test.SystemTestPlugin"
|
|
}
|
|
mavenPluginPlugin {
|
|
id = "org.springframework.boot.maven-plugin"
|
|
implementationClass = "org.springframework.boot.build.mavenplugin.MavenPluginPlugin"
|
|
}
|
|
mavenRepositoryPlugin {
|
|
id = "org.springframework.boot.maven-repository"
|
|
implementationClass = "org.springframework.boot.build.MavenRepositoryPlugin"
|
|
}
|
|
optionalDependenciesPlugin {
|
|
id = "org.springframework.boot.optional-dependencies"
|
|
implementationClass = "org.springframework.boot.build.optional.OptionalDependenciesPlugin"
|
|
}
|
|
processedAnnotationsPlugin {
|
|
id = "org.springframework.boot.processed-annotations"
|
|
implementationClass = "org.springframework.boot.build.processors.ProcessedAnnotationsPlugin"
|
|
}
|
|
starterPlugin {
|
|
id = "org.springframework.boot.starter"
|
|
implementationClass = "org.springframework.boot.build.starters.StarterPlugin"
|
|
}
|
|
testFailuresPlugin {
|
|
id = "org.springframework.boot.test-failures"
|
|
implementationClass = "org.springframework.boot.build.testing.TestFailuresPlugin"
|
|
}
|
|
}
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
eclipse.classpath.file.whenMerged {
|
|
def jreEntry = entries.find { it.path.contains("org.eclipse.jdt.launching.JRE_CONTAINER") }
|
|
jreEntry.entryAttributes['module'] = 'true'
|
|
jreEntry.entryAttributes['limit-modules'] = 'java.base'
|
|
}
|
|
|