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.
138 lines
4.9 KiB
138 lines
4.9 KiB
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", "springFramework"].each { |
|
versions[it] = properties[it + "Version"] |
|
} |
|
} |
|
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' |
|
} |
|
|
|
|