Commit Graph

678 Commits (6effd6061cfa8859c5135d0983c3757f7b8540b1)

Author SHA1 Message Date
Andy Wilkinson a5ec7560f5 Merge branch '2.5.x'
Closes gh-27314
3 years ago
dreis2211 e4978f604c Fix JDK 16 pipeline
See gh-27310
3 years ago
Andy Wilkinson 9ccd6a6f2f Merge branch '2.5.x'
Closes gh-27307
3 years ago
Andy Wilkinson 705feeed6a Polish "Allow additional JVM args when running tests via toolchain"
See gh-27089
3 years ago
dreis2211 01b0156fed Allow additional JVM args when running tests via toolchain
See gh-27089
3 years ago
Scott Frederick 18c7c0af22 Add Paketo image building system tests
A new system test plugin is being made available for running test
suites that should be run less frequently than with every commit, such
as tests that verify Spring Boot compatibility with external
projects. CI pipeline configuration for running system tests is also
provided.

The first system tests verify the behavior of the Spring Boot image
building plugins when building images using Paketo buildpacks.

Closes gh-25824
3 years ago
Andy Wilkinson fcf7240f3c Merge branch '2.5.x'
See gh-27047
3 years ago
Andy Wilkinson f7140d0401 Merge branch '2.4.x' into 2.5.x
See gh-27045
3 years ago
Andy Wilkinson 316d2cce89 Don't offer upgrade for version that is already aligned
See gh-27044
3 years ago
Phillip Webb 6102f10639 Merge branch '2.5.x' 3 years ago
Phillip Webb 2c518f1dff Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb a76e5c043e Update copyright year of changed files 3 years ago
Andy Wilkinson aa3d72cb05 Merge branch '2.5.x'
See gh-27047
3 years ago
Andy Wilkinson 5139c79c4f Merge branch '2.4.x' into 2.5.x
See gh-27045
3 years ago
Andy Wilkinson 4d694ddaa8 Fix bom plugin management versions
See gh-27044
3 years ago
Andy Wilkinson 5d6a612b4b Merge branch '2.5.x'
Closes gh-27047
3 years ago
Andy Wilkinson ec2a7b9a5b Merge branch '2.4.x' into 2.5.x
Closes gh-27045
3 years ago
Andy Wilkinson 363de4cfa5 Add dependency lock and constraint version alignment to Bomr
Closes gh-27044
3 years ago
Andy Wilkinson 06778abb61 Merge branch '2.5.x'
See gh-26934
3 years ago
Andy Wilkinson 577c58b798 Merge branch '2.4.x' into 2.5.x
See gh-26933
3 years ago
Andy Wilkinson ac8c6a6fb7 Tune config of source and target compatilility with toolchain
See gh-26932
3 years ago
Andy Wilkinson 2106114f64 Merge branch '2.5.x'
Closes gh-26934
3 years ago
Andy Wilkinson 560d272db3 Merge branch '2.4.x' into 2.5.x
Closes gh-26933
3 years ago
Andy Wilkinson 6e43dd879b Allow Eclipse to properly detect source and target compatibility
Previously, our conventions configured the source and target
compatibility on the project's JavaCompile tasks. This causes the
settings to be missed when importing the projects into Eclipse [1].

This commit updates the conventions to set the source and target
compatibility on the project-wide JavaPluginExtension. This allows
the Eclipse import to correctly detect and honour the settings.

Closes gh-26932

[1] https://github.com/eclipse/buildship/issues/978
3 years ago
Andy Wilkinson 0f52bbc560 Stop using ConfigureUtil in BomExtension
While we're building with Gradle 6.9 at the moment and ConfigureUtil
has only been deprecated in Gradle 7.1, it doesn't do any harm to
stop using it now.

Closes gh-26928
3 years ago
Phillip Webb 28abcf88a0 Upgrade to spring-asciidoctor-backends 0.0.2
Closes gh-26846
3 years ago
Andy Wilkinson de410b7621 Merge branch '2.4.x'
Closes gh-26828
3 years ago
Andy Wilkinson a1c5fcca58 Move common Asciidoctor configuration into our conventions
Closes gh-26620
3 years ago
Phillip Webb f798f26596 Merge branch '2.4.x' 3 years ago
Phillip Webb 6424e3de12 Merge branch '2.4.x'
Closes gh-26671
4 years ago
Phillip Webb 14f578ed80 Merge branch '2.3.x' into 2.4.x
Closes gh-26670
4 years ago
Phillip Webb 39e3746cf6 Force Eclipse to use JavaSE-1.8 runtime
Add `EclipseConventions` to force the JavaSE-1.8 runtime to be applied
to the imported projects.

Closes gh-26669
4 years ago
Phillip Webb 60a8fae65c Upgrade to spring-asciidoctor-backends 0.0.1
Closes gh-26293
4 years ago
Phillip Webb f0896c2de6 Rework title anchors for maven docs
Closes gh-26617
4 years ago
Phillip Webb 34b288e5fe Add prefix to appendix property anchor links
Refactor property appendix generator code so that the complete section
is generated and anchors follow the expected naming.

Closes gh-26375
4 years ago
Andy Wilkinson a6dd97e40d Polish
See gh-26576
4 years ago
Andy Wilkinson 763e58e392 Merge branch '2.4.x'
Closes gh-26576
4 years ago
Andy Wilkinson ad5ba2e414 Compile Kotlin code will all warnings treated as errors
Closes gh-26083
4 years ago
Andy Wilkinson aaceb9565c Upgrade to Kotlin 1.5.0
Closes gh-26553
4 years ago
Andy Wilkinson f7d28567c0 Merge branch '2.4.x'
Closes gh-26520
4 years ago
dreis2211 6179b99710 Remove add-opens workaround in ToolchainPlugin
See gh-26465
4 years ago
Phillip Webb 87d8aedd3c Use spring-pdf backend for PDF generation
Update `asciidoctorPdf` tasks to use the `spring-pdf` backend so that
chomped elements and @fold:on/@fold:off comments are hidden.

Closes gh-26373
4 years ago
Stephane Nicoll 8d2fa26a99 Start building against Spring LDAP 2.3.4 snapshots
See gh-26394
4 years ago
Stephane Nicoll a5cb9540ca Start building against Spring LDAP 2.3.4 snapshots
See gh-26393
4 years ago
Andy Wilkinson f17af829ee Merge branch '2.4.x'
Closes gh-26354
4 years ago
Andy Wilkinson 75bb50bd02 Merge branch '2.3.x' into 2.4.x
Closes gh-26353
4 years ago
Andy Wilkinson deca737b01 Configure source and target compatibility at the task level
Closes gh-26350
4 years ago
Andy Wilkinson 5a3c354e6c Merge branch '2.4.x'
Closes gh-26303
4 years ago
Andy Wilkinson 4abd6b1387 Merge branch '2.3.x' into 2.4.x
Closes gh-26302
4 years ago
Andy Wilkinson 3cc1ed28ca Order test tasks to run after Checkstyle and formatting checks
Closes gh-26284
4 years ago
Phillip Webb 3d9eb9e413 Switch to spring-asciidoctor-backends SNAPSHOT
See gh-26293
4 years ago
Andy Wilkinson 1be8c8fda9 Merge branch '2.4.x'
See gh-26261
4 years ago
Andy Wilkinson 4417e16963 Merge branch '2.3.x' into 2.4.x
See gh-26260
4 years ago
Andy Wilkinson 3a3eb1bc31 Fix workaround for JDK-8156584
See gh-26252
4 years ago
Andy Wilkinson c548693fa1 Merge branch '2.4.x'
See gh-26261
4 years ago
Andy Wilkinson 097a436314 Merge branch '2.3.x' into 2.4.x
See gh-26260
4 years ago
Andy Wilkinson ecd1e536cc Refine workaround for JDK-8156584
The previous workaround worked but prevented caching of every test
task as the value of system property pointing to the custom security
properties file varied from build to build.

This commit refines the workaround to copy the file into the build
directory of the test task's project and reference it using a URL
that's relative to the task's working directory. This ensures that
the value of the system property doesn't change from build to build.

Closes gh-26252
4 years ago
Andy Wilkinson 03149eda9e Merge branch '2.4.x'
Closes gh-26278
4 years ago
Andy Wilkinson 9cd15a1360 Merge branch '2.3.x' into 2.4.x
Closes gh-26276
4 years ago
Andy Wilkinson 79ecf596ec Set path sensitivity when configuring additional task inputs
Previously a number of file- or directory-based task inputs were
configured with specifying their path sensitivity. This meant
that the default absolute path sensitivity was used. For caches
that are cacheable this would result in a cache miss when the
inputs were identical other than being located at a different
absolute path as they are when running a CI build vs a local build.

This commit updates the configuration of additional task inputs
to use relative path sensitivity. A property name for each input has
also been configured. This makes them easier to identify in build
scans.

Closes gh-26270
4 years ago
Andy Wilkinson e7c1c8937d Merge branch '2.4.x'
Closes gh-26261
4 years ago
Andy Wilkinson 79d27344e0 Merge branch '2.3.x' into 2.4.x
Closes gh-26260
4 years ago
Andy Wilkinson 912c82e50d Work around https://bugs.openjdk.java.net/browse/JDK-8156584
sun.security.x509.AlgorithmId.get(String) isn't thread-safe and can
lead to null be returned for an algorithm that should be present.

This commit aims to work around this problem by avoiding the call
to AlgorithmId.get(String). It does so by configuring the
PKCS12 key protection algorithm to one that starts with
pbewithhmacsha (case insensitive). This short-circuits the logic
in PKCS12KeyStore.mapPBEAlgorithmToOID(String) and avoids the call to
AlgorithmId.get(String). Thanks again to @dreis2211 for the
suggestion.

The work around is only used when building with Java 8 as the problem
was fixed in Java 9.

Closes gh-26252
4 years ago
dreis2211 5219697eb7 Fix GitHub tag determination following main branch rename
See gh-26253
4 years ago
Phillip Webb beaf03a008 Update copyright year of changed files 4 years ago
Phillip Webb b4c9bb0d5c Merge branch '2.4.x'
Closes gh-26122
4 years ago
Phillip Webb fb3796dae8 Merge branch '2.3.x' into 2.4.x
Closes gh-26121
4 years ago
Phillip Webb fcb2210a87 Include optional shade plugin in published pom
Update `MavenPublishingConventions` to add a new `mavenOptional` feature
that allows us to declare optional dependencies that are also published
in the generated POM.

This change allows us to include the maven-shade-plugin in the
spring-boot-maven-plugin POM which fixes an issue with Eclipse m2e.

Fixes gh-21992
4 years ago
Andy Wilkinson 47709ec0e4 Align buildSrc's Kotlin version with main project's
See gh-26080
4 years ago
Stephane Nicoll 68046dd748 Update copyright year of changed file
See gh-25986
4 years ago
dreis2211 ea55ca9971 Remove unused method parameters
See gh-25986
4 years ago
Andy Wilkinson 734abc8127 Merge branch '2.4.x'
See gh-25988
4 years ago
Andy Wilkinson 92f9cfaf25 Merge branch '2.3.x' into 2.4.x
See gh-25987
4 years ago
Andy Wilkinson 709db5582b Ensure that classes and resources are in place before documenting
Closes gh-25948
4 years ago
Andy Wilkinson 92dfcc5994 Merge branch '2.4.x'
Closes gh-25988
4 years ago
Andy Wilkinson 7cffb89647 Merge branch '2.3.x' into 2.4.x
Closes gh-25987
4 years ago
Andy Wilkinson d7b43a3c68 Filter out non-public classes when documenting auto-config classes
Fixes gh-25948
4 years ago
Andy Wilkinson 660dc5fcd7 Merge branch '2.4.x'
Closes gh-25900
4 years ago
Andy Wilkinson 8cd08c3926 Merge branch '2.3.x' into 2.4.x
Closes gh-25899
4 years ago
Andy Wilkinson 7c8caf9ef5 Configure Kotlin compilation to use 1.3 apiVersion and languageVersion
Closes gh-25793
4 years ago
Phillip Webb 807ea1af0d Update copyright year of changed files 4 years ago
Andy Wilkinson 5b111093c6 Merge branch '2.4.x'
Closes gh-25896
4 years ago
Andy Wilkinson 1e4f130133 Merge branch '2.3.x' into 2.4.x
Closes gh-25895
4 years ago
Andy Wilkinson 76f74482d4 Make Asciidoctor tasks run when Java examples are updated
Closes gh-25892
4 years ago
Brian Clozel fe1011c23d Add Netty memory leak detection config property
This commit adds a new `spring.netty.leak-detection` configuration
property that selects the level of memory leak detection for the Netty
engine.

This configuration is applied statically to Netty; this means all
(non-shaded) Netty usages as client or server will be impacted by this
change.

Developers might use this property during development or tests to find
causes of memory leaks when dealing with Netty buffers.

Closes gh-14338
4 years ago
dreis2211 a9a37f0dd5 Increase test coverage on Java 16
See gh-25809
4 years ago
Andy Wilkinson 90b4ced7a6 Move DataSource init auto-config out of DataSourceAutoConfiguration
Previously, the auto-configuration for DataSource initialization and
the properties used to configure it were part of the general
DataSource auto-configuration and properties.

This commit moves the auto-configuration of DataSource initialization
out into a separate top-level auto-configuration class. Similarly,
the properties for configuring DataSource initialization have been
moved from `spring.datasource.*` into `spring.sql.init.*`.

The old initialization-related `spring.datasource.*` properties have
been deprecated but can still be used. When they are used, they new,
separate initialization auto-configuration will back off. In other
words, the initialization related `spring.datasource.*` properties
and the `spring.sql.init.*` properties cannot be used in combination.

Closes gh-25323
4 years ago
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 82127fdaa3 Update copyright year of changed files 4 years ago
Phillip Webb 616917c8dc Upgrade spring-asciidoctor-backends to 0.0.1-M1
Closes gh-25553
4 years ago
Phillip Webb 663fd8ce5e Update copyright year of changed files 4 years ago
Andy Wilkinson 13dda798c5 Merge branch '2.3.x' into 2.4.x 4 years ago
Andy Wilkinson 2359b37e69 Polish 4 years ago
Andy Wilkinson 4ed1cbfab0 Merge branch '2.4.x'
Closes gh-25696
4 years ago
Andy Wilkinson 4865c23a41 Merge branch '2.3.x' into 2.4.x
Closes gh-25695
4 years ago
Andy Wilkinson bf33e7ef7e Automatically supersede existing upgrade issue when running Bomr
Closes gh-25345
4 years ago
Stephane Nicoll e517ee8635 Merge branch '2.4.x'
Closes gh-25618
4 years ago
izeye 09f4d4b9bf Polish
See gh-25617
4 years ago
Phillip Webb 3b095972cc Migrate to spring-asciidoctor-backends
Migrate to the renamed spring-asciidoctor-backends project.

See gh-25553
4 years ago
Phillip Webb 6e5c510e0a Migrate to asciidoctor-spring-backends
Migrate to the snapshot version of asciidoctor-spring-backends.

See gh-25553
4 years ago
Stephane Nicoll 6aaf9f47be Merge branch '2.4.x'
Closes gh-25524
4 years ago
dreis2211 1a803448f0 Exclude GradleBuild tasks on JDK 16 for now
See gh-25523
4 years ago
Andy Wilkinson 961a34a5ee Merge branch '2.4.x'
Closes gh-25497
4 years ago
Andy Wilkinson 1ce6e796fe Polish "Allow the project to be built with Java 16"
See gh-25171
4 years ago
dreis2211 1ccd8dae8a Allow the project to be built with Java 16
See gh-25171
4 years ago
Andy Wilkinson e3ad6b5c35 Merge branch '2.4.x'
Closes gh-25407
4 years ago
Andy Wilkinson 29bbbc3b79 Merge branch '2.3.x' into 2.4.x
Closes gh-25406
4 years ago
Andy Wilkinson 11b77037f1 Make TestFailuresPlugin compatible with Gradle's configuration cache
Closes gh-25405
4 years ago
Andy Wilkinson 8cb24a426d Include all non-snapshot repositories when checking for upgrades
Closes gh-25391
4 years ago
Stephane Nicoll 817a4c5397 Merge branch '2.4.x'
Closes gh-25386
4 years ago
Stephane Nicoll 7c5a5c6663 Merge branch '2.3.x' into 2.4.x
Closes gh-25385
4 years ago
Mustafa Ulu abc90db32f Fix wording error in build-info goal description
See gh-25382
4 years ago
Andy Wilkinson 52f398318b Merge branch '2.4.x'
Closes gh-25258
4 years ago
Andy Wilkinson e763627e86 Merge branch '2.3.x' into 2.4.x
Closes gh-25257
4 years ago
Andy Wilkinson 63402a2984 Truncate files before writing new content to them
Previously, UpgradeApplicator would open build.gradle
using open options that left the fields existing content intact. It
would then write the new content at the beginning of the file. If
the new content was n bytes shorter than the existing content, this
would leave n bytes of the existing content at the end of the file.

This commit updates UpgradeApplicator to truncate the existing file
when it opens it. This ensures that the existing content is
completely replaced by the new content, irrespective of their lengths.

Closes gh-25256
4 years ago
Andy Wilkinson 123111cc7a Merge branch '2.4.x'
Closes gh-25227
4 years ago
Andy Wilkinson 12c3c80744 Merge branch '2.3.x' into 2.4.x
Closes gh-25226
4 years ago
Andy Wilkinson 413256501f Require a milestone when upgrading dependencies
Closes gh-25225
4 years ago
Andy Wilkinson fc7319fbf6 Merge branch '2.4.x'
Closes gh-25181
4 years ago
Andy Wilkinson f5176f3569 Merge branch '2.3.x' into 2.4.x
Closes gh-25180
4 years ago
Andy Wilkinson 2ba9a8c211 Polish "Remove duplicate declaration of jackson-databind"
See gh-25178
4 years ago
Vitalii Mahas a2c491ef43 Remove duplicate declaration of jackson-databind
See gh-25178
4 years ago
Andy Wilkinson 2ff256d759 Merge branch '2.4.x'
Closes gh-25177
4 years ago
Andy Wilkinson 3c8a974558 Merge branch '2.3.x' into 2.4.x
Closes gh-25176
4 years ago
Andy Wilkinson b6d2da0f84 Stop integer default values from becoming decimals
Fixes gh-25172
4 years ago
Andy Wilkinson db781a0d84 Merge branch '2.4.x'
See gh-25077
4 years ago
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
4 years ago
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
4 years ago
Andy Wilkinson 067f5a52cc Merge branch '2.4.x'
Closes gh-24784
4 years ago
Andy Wilkinson 139152ccce Merge branch '2.3.x' into 2.4.x
Closes gh-24783
4 years ago
Andy Wilkinson 5a02996eca Fix release train version's comparison with other version types
Fixes gh-24782
4 years ago
Stephane Nicoll 63444ae957 Merge branch '2.4.x'
Closes gh-24627
4 years ago
Stephane Nicoll 052565ef2b Merge branch '2.3.x' into 2.4.x
Closes gh-24626
4 years ago
dreis2211 261b7a5b18 Update copyrights to 2021
See gh-24625
4 years ago
Stephane Nicoll 08b692581a Prepare 2.4.x branch 4 years ago
Brian Clozel dc9cdb71f5 Merge branch '2.3.x'
Closes gh-24381
4 years ago
Brian Clozel d2895e7453 Upgrade to Spring Doc Resources 0.2.5
Fixes gh-24146
4 years ago
Phillip Webb e0a061707e Fix checkstyle header violation
See gh-24337
4 years ago
Phillip Webb 30c27274e2 Merge branch '2.3.x'
Closes gh-24339
4 years ago
Phillip Webb 5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
4 years ago
Stephane Nicoll b3165f1b36 Merge branch '2.3.x'
Closes gh-24196
4 years ago
Stephane Nicoll ac05356427 Merge branch '2.2.x' into 2.3.x
Closes gh-24195
4 years ago
Andy Wilkinson bce2029bc6 Merge branch '2.3.x'
Closes gh-24132
4 years ago
Andy Wilkinson 189046bd4f Revert "Reduce scope of META-INF customizations to main, source, and javadoc jars"
Closes gh-24131
4 years ago
Brian Clozel fe359bcbfb Merge branch '2.3.x'
Closes gh-24067
4 years ago
Brian Clozel e98db484bc Upgrade to spring-doc-resources 0.2.4
Closes gh-24066
4 years ago
Andy Wilkinson 38821c15da Merge branch '2.3.x'
Closes gh-24057
4 years ago
Andy Wilkinson 1e100677c7 Reduce scope of META-INF customizations to main, source, and javadoc jars
Closes gh-23955
4 years ago
Andy Wilkinson d6f10e16f7 Merge branch '2.3.x'
Closes gh-24056
4 years ago
Andy Wilkinson 49ea023a64 Upgrade to test-retry-gradle-plugin 1.1.9
Closes gh-24055
4 years ago
Andy Wilkinson b50f8359b5 Merge branch '2.3.x'
Closes gh-24003
4 years ago
Andy Wilkinson e820400748 Polish manifests of source and javadoc jars
Previously, the main jar file and the source and javadoc jar files all
had the same changes applied to their manifests.

The commit changes the Implementation-Title of source and javadoc jars
so that the title indicates that's what they are. Rather than using
the project's description as the title (as is done for the main jar),
the titles for source and javadoc jars will now be "Source for
${project.name}" and "Javadoc for ${project.name}" respectively.

Closes gh-23974
4 years ago
Phillip Webb fe28ad88db Merge branch '2.3.x' 4 years ago
Phillip Webb 33d66b7f82 Fix to spring-doc-resources version
See gh-23824
4 years ago
Phillip Webb 98dbfd572f Merge branch '2.3.x'
Closes gh-23971
4 years ago
Phillip Webb 2992f40222 Upgrade to spring-doc-resources 0.2.3.RELEASE
Closes gh-23824
4 years ago
Andy Wilkinson dcb42c36f9 Ensure that additional metadata is available to annotation processor
Fixes gh-23934
4 years ago
Andy Wilkinson 3be4e225e7 Merge branch '2.3.x'
Closes gh-23954
4 years ago
Andy Wilkinson 9b12d2d7cb Ensure that additional metadata is available to annotation processor
Fixes gh-23934
4 years ago
Andy Wilkinson 1c4b4cb0cd Provide config properties for configuring WebFlux's locale resolution
Previously, the locale context resolver used with WebFlux could only be
configured by provided a custom LocaleContextResolver bean. By
constrast, when using Spring MVC, the spring.mvc.locale and
spring.mvc.locale-resolver properties could be used to configure the
locale and the resolver (fixed or Accept header) respectively.

This commit introduces spring.web.locale and spring.web.locale-resolver
properties and deprecates their spring.mvc equivalents. The new
properties can be used to configure locale resolution with either
Spring MVC or WebFlux.

Closes gh-23449
4 years ago
Phillip Webb 79b98c9edd Add ConfigurationProperty.toString() for debugging
Update `ConfigurationProperty` with a sensible `toString()` to help
debug task failures.
4 years ago
Scott Frederick d44ecf5086 Merge branch '2.3.x'
Closes gh-23731
4 years ago
Scott Frederick 9c672deb2d Add javadoc links in Maven plugin parameter docs
This commit modifies the documentation generated for the
Maven plugin to include links to javadoc when Spring
Boot types are mentioned. Some javadoc was also polished
to improve the generated docs.

Fixes gh-21555
4 years ago
Andy Wilkinson 23073d9e76 Make block switches work on every page of multi-page docs
There's a bug in some versions of AsciidoctorJ where extensions are
only called on this first conversion performed by a given Asciidoctor
instance. This affects the multi-page documentation where there are
multiple conversions performed – one for each page in the
documentation.

This commit upgrades the version of AsciidoctorJ used by the
Asciidoctor Gradle plugin to 2.4.1, which contains fix for the problem.

Closes gh-23709
4 years ago
Phillip Webb 68d65376d2 Refine configuration property table column sizes
Increase the size of the first column to improve readability.

Closes gh-23604
4 years ago
Stephane Nicoll 75554ce236 Polish "Add support for Oracle UCP"
See gh-23403
4 years ago
Andy Wilkinson 1591da6ce4 Update Bomr to treat CalVer versions as newer than release train versions
Closes gh-23451
4 years ago
Andy Wilkinson f0dfff81d4 Merge branch '2.3.x'
Closes gh-23378
4 years ago
Andy Wilkinson 358b9f839a Remove spring-boot.version property from spring-boot-dependencies
The version of Spring Boot should not be modifiable by a property,
only being using a different version of spring-boot-dependencies or
spring-boot-starter-parent.

Fixes gh-23174
4 years ago
Andy Wilkinson 3a4228c432 Make it possible to link to individual configuration properties
Closes gh-16267
4 years ago
dreis2211 be56cac2bb Note starters' and annotation processors' jar type in their manifest
See gh-22203
4 years ago
Andy Wilkinson e240c180f3 Merge branch '2.3.x'
Closes gh-22831
4 years ago
Andy Wilkinson 181e3b34ba Isolate Maven Plugin's integration tests from repo.spring.io
Previously, the Maven plugin integration tests used a settings.xml file
that defined https://repo.spring.io/snapshot as a repository. This
allowed them to resolve snapshots of the plugin's Spring Framework
dependencies but it had the unfortunate side-effect of also allowing
them to resolve snapshots of other Spring Boot modules from Artifactory
rather than using those currently being built.

This commit replaces the repositories in settings.xml with a Gradle
task that resolves the necessary dependencies and populates a local
repository with the dependencies' jars and pom files. This is achieved
using a ComponentMetadataRule that creates a custom variant of each
dependency that includes its pom file, inspired by the example in
gradle/gradle/#11449. A configuration that extends the
runtimeClasspath configuration and select the custom variant via its
attribute is then used to resolve the jars and pom files of the runtime
classpath such that they can then be used to populate the local
repository.

Closes gh-22828
4 years ago
Andy Wilkinson d064ccabc4 Ensure Maven plugin descriptor inputs are out-of-date on version change
Closes gh-22766
4 years ago
Andy Wilkinson 782adc5f5f Merge branch '2.3.x'
Closes gh-22772
4 years ago
Stephane Nicoll dac63fc3e5 Polish 4 years ago
Andy Wilkinson a495b83b25 Ensure Maven plugin descriptor inputs are out-of-date on version change
Closes gh-22766
4 years ago
Brian Clozel 6f2098ad71 Upgrade to Spring Framework 5.3.0-SNAPSHOT
This commit also switches to RSocket SNAPSHOTs and updates the
repository configuration to rely on "libs-snapshot", since the RSocket
SNAPSHOTs are mirrored there.

See gh-22640
4 years ago
Stephane Nicoll 8c418adb9b Polish "Add auto-configuration for Neo4j driver"
See gh-22301
4 years ago
Gerrit Meier 6134ff19f9 Add auto-configuration for Neo4j driver
This commit adds the support for creating a managed instance of the
Neo4j Java driver. The low-level support for Neo4j is helpful in
situations where the high-level abstraction of Spring Data Neo4j is not
needed.

See gh-22301
4 years ago
Andy Wilkinson 98115239b3 Only create effective bom artifact when needed
Closes gh-22143
4 years ago
Andy Wilkinson 1f27644e9d Merge branch '2.3.x'
Closes gh-22363
4 years ago
Andy Wilkinson e080dcf8a4 Configure path sensitivity of tasks' file inputs
Closes gh-22359
4 years ago
Andy Wilkinson 0dfb9bb783 Merge branch '2.3.x'
Closes gh-22289
4 years ago
Andy Wilkinson be8cd9e867 Extend DefaultTask rather than AbstractTask in buildSrc
Closes gh-22288
4 years ago
Andy Wilkinson c258cec814 Merge branch '2.3.x'
Closes gh-22285
4 years ago
Andy Wilkinson b24f17b35c Rework spring-boot-docs to be a full-blown java project
Previously, spring-boot-docs used the java-base-plugin and then added
configuration on top. This has proven to be error prone, with the most
recent problem being that the tests were not being compiled and run.

This commit changes approach and applies the java plugin to the project
instead of the java-base plugin. Now, rather than adding the necessary
configuration to the base, the unwanted pieces of the java plugin's
configuration – specifically the jar and javadoc tasks – are disabled
instead. The DeployedPlugin has also been updated so that it does not
create a publication from the java component for projects that have a
disabled jar task.

Closes gh-22284
4 years ago
Andy Wilkinson d33a01a13f Only create effective bom artifact when needed
Closes gh-22143
4 years ago
Andy Wilkinson 4c0d2686ad Merge branch '2.3.x'
Closes gh-22066
4 years ago
Andy Wilkinson 12d3f14e15 Use bom plugin to configure spring-boot-parent
Closes gh-21439
4 years ago
Andy Wilkinson bc4de8be8b Merge branch '2.3.x'
Closes gh-21994
4 years ago
Andy Wilkinson a6954614b2 Minimize contents of poms that are an ancestor of a user's pom
Fixes gh-21989
4 years ago
Andy Wilkinson 753bea64c6 Enable varargs compilation warnings
See gh-21271
4 years ago
Andy Wilkinson 9636350b0b Enable rawtypes compilation warnings
See gh-21271
4 years ago
Andy Wilkinson 056d5f3120 Enable deprecation compilation warnings
See gh-21271
4 years ago
Andy Wilkinson c64649a6d9 Enable unchecked compilation warnings
See gh-21271
4 years ago
Andy Wilkinson 47874d8c6a Treat warnings as errors when compiling
See gh-21271
4 years ago
Andy Wilkinson 07fb4b065d Merge branch '2.3.x'
Closes gh-21940
4 years ago
Andy Wilkinson 0de466e06e Require dependency on s-b-dependencies to use its constraints
Previously, Spring Boot's modules published Gradle Module Metadata
(GMM) the declared a platform dependency on spring-boot-dependencies.
This provided versions for each module's own dependencies but also had
they unwanted side-effect of pulling in spring-boot-dependencies
constraints which would influence the version of other dependencies
declared in the same configuration. This was undesirable as users
should be able to opt in to this level of dependency management, either
by using the dependency management plugin or by using Gradle's built-in
support via a platform dependency on spring-boot-dependencies.

This commit reworks how Spring Boot's build uses
spring-boot-dependencies and spring-boot-parent to provide its own
dependency management. Configurations that aren't seen by consumers are
configured to extend a dependencyManagement configuration that has an
enforced platform dependency on spring-boot-parent. This enforces
spring-boot-parent's version constraints on Spring Boot's build without
making them visible to consumers. To ensure that the versions that
Spring Boot has been built against are visible to consumers, the
Maven publication that produces pom files and GMM for the published
modules is configured to use the resolved versions from the module's
runtime classpath.

Fixes gh-21911
4 years ago
Andy Wilkinson c4faeac4d7 Merge branch '2.3.x'
Closes gh-21703
5 years ago
Andy Wilkinson 24138c104c Use highlightjs for syntax highlighting in Asciidoctor's HTML output
Closes gh-21701
5 years ago
Andy Wilkinson 15ec26171c Merge branch '2.3.x'
Closes gh-21699
5 years ago
Andy Wilkinson c0f748e143 Always apply retry plugin but only retry on CI
Previously, the retry plugin was only applied on CI as we do not want
tests to be retried in local builds. Unfortunately, this arrangement
led to test tasks from CI builds having additional doFirst and doLast
actions and an additional property. These differences meant that the
output from a test task that has run on CI could not be used by a
local build.

This commit changes our configuration of the test retry plugin so
that it is now always applied. To retain the behaviour of only
retrying tests on CI, max retries is configured to 3 on CI and 0 for
local builds.

Closes gh-21698
5 years ago
Andy Wilkinson 399d0f7b95 Merge branch '2.3.x'
Closes gh-21651
5 years ago
Andy Wilkinson f0bc8ee73c Fix version placeholder replacement in Gradle plugin docs
Closes gh-21640
5 years ago
Phillip Webb ac9482d463 Merge branch '2.3.x'
Closes gh-21649
5 years ago
Phillip Webb 7104d8d81e Polish 5 years ago
Phillip Webb fc4efe3bf0 Fix Maven plugin help support
Update `MavenPluginPlugin` to fix HelpMojo support.

Closes gh-21556
5 years ago
Andy Wilkinson 8e8548756e Start work on Spring Boot 2.4 5 years ago
Andy Wilkinson d3ef6f2382 Prepare 2.3.x branch 5 years ago
Andy Wilkinson 2ff2d52509 Ignore irrelevant changes to StarterMetadata's dependencies
Closes gh-21594
5 years ago
Andy Wilkinson b50b00d629 Use sorted properties to ensure output is repeatable
Closes gh-21593
5 years ago
Andy Wilkinson 343e4d4318 Use a separate task to extract legal files to be included in jars
Previously, the files were extracted on the fly and written into the
jars. This didn't work well with Gradle's up-to-date checks as the
inputs of the jar task were not well-defined.

This commit moves the extraction of the notice and license files into
a separate task, the outputs of which are then copied into the jar's
META-INF.

Closes gh-21592
5 years ago
Andy Wilkinson ee758fa670 Use HTTPS for license links
This commit updates the MavenPublishingConventions to use HTTPS to
link to the Apache license. The configuration of NoHTTP has also
been reworked so that it will correctly find usch uses of http://
URLs.

Closes gh-21459
5 years ago
Brian Clozel 42d07a7acd Fix published Maven POMs
Prior to this commit, the published Maven POMs would not pass the Maven
Central mandatory checks.

This commit adds the missing project name and description metadata for
most artifacts. The Spring Boot Gradle plugin artifact was also missing
this information and this is now added in the plugin metadata itself.
This is also updating the project page URL which is now hosted directly
on spring.io.

Fixes gh-21457
5 years ago
Phillip Webb 9a1a2ca613 Merge branch '2.2.x'
Closes gh-21448
5 years ago
Andy Wilkinson a03426af57 Configure the Asciidoctor revnumber in a central location
See gh-20934
5 years ago
Andy Wilkinson 0bb687717c Auto-configure a lifecycle processor with configurable timeout
Closes gh-21347
5 years ago
Phillip Webb d52bf83ab2 Polish 5 years ago
Scott Frederick aa63070fb9 Apply test conventions unconditionally
See gh-21272
5 years ago
Andy Wilkinson 080123ebeb Only enable flaky test support on CI
Closes gh-21272
5 years ago
Brian Clozel 4c9c9ccd91 Upgrade to Spring Doc Resources 0.2.2.RELEASE
Closes gh-21057
5 years ago
dreis2211 5eb5bf0a2d Polish
See gh-21009
5 years ago
Johnny Lim 29717423a3 Remove this keyword on member method invocations
See gh-21007
5 years ago
Andy Wilkinson 564aec93fc Use consistent logic to determine Artifactory repo from version
Fixes gh-21034
5 years ago
dreis2211 1809acc482 Fix links to CLI binaries in non-snapshot builds
See gh-21030
5 years ago
Brian Clozel 7a4fa7ee3e Upgrade to Spring Doc Resources 0.2.1.RELEASE
Closes gh-20958
5 years ago
Andy Wilkinson ba1d4ab458 Polish "Split ConventionsPlugin into separate, more focussed classes"
See gh-20805
5 years ago
Mike Smithson 65f325cfd8 Split ConventionsPlugin into separate, more focussed classes
See gh-20805
5 years ago
Phillip Webb 5d8d0bb159 Update copyright year of changed files 5 years ago
Andy Wilkinson 9bdf4a75e8 Configure Gradle's Test Retry plugin
Closes gh-20144
5 years ago
Andy Wilkinson 6eb08ad9bb Merge branch '2.2.x'
Closes gh-20744
5 years ago
Andy Wilkinson c282f01d72 Enhance bomr to handle libraries that use a version property
Closes gh-20478
5 years ago
Brian Clozel 9e67868694 Upgrade to spring-doc-resources 0.2.0.RELEASE 5 years ago
dreis2211 589213daab Improve unused exclusion detection and remove those that are unused
See gh-20472
5 years ago
Andy Wilkinson f083aefba6 Consider plugins and imported boms when finding possible dependency upgrades
Closes gh-20483
5 years ago
Andy Wilkinson 47a68650c9 Enable generation of Gradle's module metadata
Changes in Gradle 6.2 should address the problems described in
4f75ab5f.

Closes gh-19609
5 years ago
dreis2211 9588188800 Use isEmpty() where possible
See gh-20370
5 years ago
dreis2211 fcaede70a9 Remove unused parameter in AsciidoctorConventions
See gh-20380
5 years ago
Johnny Lim 98738d22f4 Polish tests
See gh-20318
5 years ago
Andy Wilkinson 8f44bd89f4 Polish "Allow Gradle tasks to be executed with a custom Java home"
See gh-20179
5 years ago
dreis2211 e599ed01c9 Allow Gradle tasks to be executed with a custom Java home
See gh-20179
5 years ago
Stephane Nicoll 5c174feb65 Add auto-configuration for R2DBC's ConnectionFactory
This commit adds auto-configuration for R2DBC. If R2DBC is on the
classpath, a `ConnectionFactory` is created similarly to the algorithm
used to create a `DataSource`.

If an url is specified, it is used to determine the R2DBC driver and
database location. If not, an embedded database is started (with only
support of H2 via r2dbc-h2). If none of those succeed, an exception is
thrown that is handled by a dedicated FailureAnalyzer.

To clearly separate reactive from imperative access, a `DataSource` is
not auto-configured if a `ConnectionFactory` is present. This makes sure
that any auto-configuration that relies on the presence of a
`DataSource` backs off.

There is no dedicated database initialization at the moment but it is
possible to configure flyway or liquibase to create a local `DataSource`
for the duration of the migration. Alternatively, if Spring Data R2DBC
is on the classpath, a `ResourceDatabasePopulator` bean can be defined
with the scripts to execute on startup.

See gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
5 years ago
Andy Wilkinson 8128f3090a Polish "Include LICENCE and NOTICE files in shipped jars"
See gh-20058
5 years ago
dreis2211 e34cf8955c Include LICENCE and NOTICE files in shipped jars
See gh-20058
5 years ago
Stephane Nicoll 3ba411e04d Polish "Revisit PluginXmlParserTests"
See gh-20190
5 years ago
Mike Smithson 020ae2c7ba Revisit PluginXmlParserTests
See gh-20190
5 years ago
dreis2211 23bf948101 Upgrade to Asciidoctor Gradle JVM 3.0.0
See gh-19953
5 years ago
Andy Wilkinson 35991d5eab Adopt Gradle Enterprise Conventions Plugin
Closes gh-20033
5 years ago
Stephane Nicoll e9339becb1 Update copyright year of changed files
See gh-19978
5 years ago
dreis2211 070de944ff Polish buildSrc
See gh-19978
5 years ago
Stephane Nicoll cf473eeb65 Merge branch '2.2.x'
Closes gh-20017
5 years ago
dreis2211 741a4f4b2b Fix links in Maven Plugin documentation
See gh-19952
5 years ago
Andy Wilkinson 43555c9fa0 Configure formatting tasks to use UTF-8 encoding
Closes gh-19947
5 years ago
dreis2211 65394582f6 Introduce appendix section with version properties
With the introduction of Gradle we lost the list of version properties
that were previously in the spring-boot-dependencies POM and were also
linked inside the documentation. This commit introduces an appendix
section in the docs and links the appropriate places to the new section
to restore discoverability.

See gh-19898
5 years ago
dreis2211 d75de39456 Upgrade to JUnit Jupiter 5.6.0
See gh-19907
5 years ago
Andy Wilkinson 864093c431 Align Bomr with quoting changes in s-b-dependencies build.gradle 5 years ago
Johnny Lim f670615b40 Fix TestFailuresPlugin.TestFailure.compareTo()
This commit also polishes around it a bit.

See gh-19863
5 years ago
Phillip Webb e0013454b5 Use parentheses when declaring dependencies
Update all dependencies declarations to use the form `scope(reference)`
rather than `scope reference`.

Prior to this commit we declared dependencies without parentheses unless
we were forced to add them due to an `exclude`.
5 years ago
Phillip Webb 0209cd3e4c Polish quote form used in Gradle scripts
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
5 years ago
Phillip Webb bfd2ca7fd9 Polish Gradle expression references
Expand all expression `$` references to the full `${...}` form.
5 years ago
Andy Wilkinson 468eca91e9 Apply Java conventions to projects that only apply Java base plugin
Fixes gh-19806
5 years ago
Andy Wilkinson c5e47c725c Merge branch '2.2.x'
Closes gh-19800
5 years ago
Andy Wilkinson 04d6b21dfb Sort test failures before logging them
See gh-19696
5 years ago
Andy Wilkinson 736963e7db Update ConventionsPlugin's javadoc
See gh-19784
5 years ago
Andy Wilkinson 2ac931cacb Log some information about all test failures when the build completes
Closes gh-19696
5 years ago
Phillip Webb 0bb00c9a43 Compile with Java with the '-parameters' option
Update the `ConventionsPlugin` to apply the `-parameters` compiler
argument.

Closes gh-19784
5 years ago
Andy Wilkinson 714a187d8f Rework dep mgmt again to avoid consumers picking up strict constraints
This paves the way for publishing Gradle module metadata once the
problem caused by snapshot versions and our two-step publication
process has been addressed.

See gh-19609
5 years ago
Andy Wilkinson df386be4f1 Use a consistent version of spring-javaformat
See gh-19710
5 years ago
Andy Wilkinson 9baf0e8ffb Start using spring-javaformat 0.0.19 snapshots
See gh-19710
5 years ago
Andy Wilkinson aefe52e4d0 Revert "Rework dep management to avoid consumers picking up strict constraints"
This reverts commit b34a311d02 as,
having disabled the publishing of Gradle's module metadata (4f75ab5),
the changes are no longer needed.

See gh-19609
5 years ago
Andy Wilkinson 4f75ab5f89 Disable generation of Gradle's module metadata
The way in which we deploy the artifacts (publishing to a Maven
repository on the filesystem and then using the Concourse artifactory
resource to upload them) is incompatible with Gradle's module metadata
generation.

The metadata contains an entry, url, that contains the name of the
artifact. This will be something like
spring-boot-gradle-plugin-2.3.0.BUILD-20200114.095038-1.jar. The -1 in
the name is derived from the Maven snapshot build number. It's -1 as
the local repository to which the artifact is published is empty and
has no maven-metadata.xml file. When the artifact is uploaded to
Artifactory there is a maven-metadata.xml file so the build number is
different. As a result, the module metadata points to a file that
doesn't exist. This leads to problems like this when trying to consume
the snapshots:

Could not find spring-boot-gradle-plugin-2.3.0.BUILD-20200114.095038-1-2.3.0.BUILD-SNAPSHOT.jar (org.springframework.boot:spring-boot-gradle-plugin:2.3.0.BUILD-SNAPSHOT:20200114.101952-123)

Gradle has used the maven-metadata.xml file on the server to determine
that 2.3.0.BUILD-SNAPSHOT:20200114.101952-123 is the latest version.
It has downloaded the .module file with this version but it points to
spring-boot-gradle-plugin-2.3.0.BUILD-20200114.095038-1.jar. That file
doesn't exist so the build fails.

See gh-19609
5 years ago
Phillip Webb 862462b791 Update copyright year of changed files 5 years ago
Andy Wilkinson b34a311d02 Rework dep management to avoid consumers picking up strict constraints
Previously, enforcedPlatform dependencies were using to pull in the
constraints defined in spring-boot-dependencies and
spring-boot-parent and applied them strictly so that the constrained
version had to be used. This worked as intended in Spring Boot's own
build but incorrectly enforced those same strict version requirements
on external consumers of Spring Boot's modules.

This commit reworks how Spring Boot defines its internal dependency
management so that platform dependencies are exposed to external
consumers while enforced platform dependencies are using internally.

See gh-19609
5 years ago
Vedran Pavic 8757f63360 Reuse optional configuration name constant
See gh-19620
5 years ago
Vedran Pavic 57b7dfc730 Simplify Gradle's build settings
See gh-19619
5 years ago
Andy Wilkinson 4b57884535 Remove outdated buildSrc README 5 years ago
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
5 years ago