mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Fix a few issues preventing clean project import into Eclipse 2022-06: - `buildSrc` need to limit module imports to prevent clashes with those in the gradle API jar. - The CLI app needs some classpath changes in order to allow compileOnly project dependencies to resolve. - `AbstractJpaAutoConfigurationTests` needs some minor refactoring in order for generic captures to work with the Eclipse compiler.
121 lines
4.2 KiB
Groovy
121 lines
4.2 KiB
Groovy
plugins {
|
|
id "java-gradle-plugin"
|
|
id "io.spring.javaformat" version "${javaFormatVersion}"
|
|
id "checkstyle"
|
|
id "eclipse"
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
maven { url "https://repo.spring.io/release" }
|
|
}
|
|
|
|
sourceCompatibility = 17
|
|
targetCompatibility = 17
|
|
|
|
ext {
|
|
def propertiesFile = new File(new File("$projectDir").parentFile, "gradle.properties")
|
|
propertiesFile.withInputStream {
|
|
def properties = new Properties()
|
|
properties.load(it)
|
|
set("kotlinVersion", properties["kotlinVersion"])
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}"
|
|
implementation(platform("org.springframework:spring-framework-bom:5.3.15"))
|
|
implementation("com.diffplug.gradle:goomph:3.37.2")
|
|
implementation("com.fasterxml.jackson.core:jackson-databind:2.11.4")
|
|
implementation("commons-codec:commons-codec:1.13")
|
|
implementation("org.apache.maven:maven-embedder:3.6.2")
|
|
implementation("org.asciidoctor:asciidoctor-gradle-jvm:3.3.2")
|
|
implementation("org.gradle:test-retry-gradle-plugin:1.4.1")
|
|
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
|
|
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:${kotlinVersion}")
|
|
implementation("org.springframework:spring-core")
|
|
implementation("org.springframework:spring-web")
|
|
implementation("io.spring.javaformat:spring-javaformat-gradle-plugin:${javaFormatVersion}")
|
|
testImplementation("org.assertj:assertj-core:3.11.1")
|
|
testImplementation("org.apache.logging.log4j:log4j-core:2.17.1")
|
|
testImplementation("org.junit.jupiter:junit-jupiter:5.6.0")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
}
|
|
|
|
checkstyle {
|
|
toolVersion = 8.11
|
|
}
|
|
|
|
gradlePlugin {
|
|
plugins {
|
|
annotationProcessorPlugin {
|
|
id = "org.springframework.boot.annotation-processor"
|
|
implementationClass = "org.springframework.boot.build.processors.AnnotationProcessorPlugin"
|
|
}
|
|
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'
|
|
}
|
|
|