Update `JavaConventions` and `EclipseConventions` to align the
Eclipse import with the regular Gradle Build.
Imported projects now use Java 25 for the JRE but have
compatibility set to Java 17 and a project configuration
that uses the `--release` flag.
This update also removes the calls to `setSourceCompatibility`
and `setTargetCompatibility` on the `JavaPluginExtension`
in favor of just using `compile.options.release`.
We now also enforce that Java 25 or above is being used to
build the project.
Since buildship doesn't offer a way to set the `--release`
JDT project setting, a custom task is used. Projects may need
to be reimported or cleaned to actually have the setting apply
correctly.
Closes gh-48929
Refine `buildSrc` so that `spring.mavenRepositories()` are considered
for all build types (not just milestones and snapshots). We now pass
"springFrameworkVersion" to `SpringRepositorySupport.groovy` so that
repo.spring.io doesn't get added for OSS builds using release artifacts.
Closes gh-46823
Add the `since` field to all deprecated properties in all
additional-spring-configuration-metadata.json files in the project.
Add to the CheckAdditionalSpringConfigurationMetadata build task to
ensure that all deprecated properties have a non-empty `since` field.
See gh-47980
Signed-off-by: Scott Frederick <scottyfred@gmail.com>
Add an architecture rule to ensure that all usages of
`@DeprecatedConfigurationProperty` in the Spring Boot codebase include
the `since` attribute.
Add the `since` attribute to the few places where it was not already
included.
See gh-47980
Signed-off-by: Scott Frederick <scottyfred@gmail.com>
This commit adds a 'org.springframework.boot.configuration-metadata'
plugin to be used for projects that only define manual metadata. Such
project do not need the annotation processor, but do not to check that
the structure of the metadata content matches the same rules.
Closes gh-47984
Previously, the Kotlin API docs included Java APIs. This commit
corrects this by suppressing all Dokkatoo source sets other than
main (main in src/main/kotlin, javaMain is src/main/java).
Dokkatoo is sensitive to the order in which plugins are applied. This
commit adapts to the sensitivity by changing the order in which
the Dokatoo and Kotlin JVM plugins are applied. This prevents the
Dokatoo plugin for overwriting the configuration that's applied by
our Kotlin conventions.
Closes gh-47763
This commit migrates from Dokkatoo to Dokka for generation of Kotlin
API documentation.
See gh-47706
Signed-off-by: Varun Patni <varun.patni1@gmail.com>