This commit moves the compile configuration from the Gradle DSL to a convention. This configuration is not changing often, and we're using that opportunity to make the Java source compatibility a project property so as to easily recent JDKs this on the command line. See gh-23282
32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Spring Framework build
|
|
|
|
This folder contains the custom plugins and conventions for the Spring Framework build.
|
|
They are declared in the `build.gradle` file in this folder.
|
|
|
|
## Build Conventions
|
|
|
|
### Compiler conventions
|
|
|
|
The `org.springframework.build.compile` applies the Java compiler conventions to the build.
|
|
By default, the build is compiling sources with the `1.8` source and target compatibility.
|
|
You can test a different source compatibility version on the CLI with a project property like:
|
|
|
|
```
|
|
./gradlew test -PjavaSourceVersion=11
|
|
```
|
|
|
|
## Build Plugins
|
|
|
|
## Optional dependencies
|
|
|
|
The `org.springframework.build.optional-dependencies` plugin creates a new `optional`
|
|
Gradle configuration - it adds the dependencies to the project's compile and runtime classpath
|
|
but doesn't affect the classpath of dependent projects.
|
|
This plugin does not provide a `provided` configuration, as the native `compileOnly` and `testCompileOnly`
|
|
configurations are preferred.
|
|
|
|
## Test sources
|
|
|
|
The `org.springframework.build.test-sources` updates `testCompile` dependencies to include
|
|
the test source sets of `project()` dependencies. This plugin is used in the Spring Framework build
|
|
to share test utilities and fixtures amongst modules. |