Commit Graph

108 Commits

Author SHA1 Message Date
dreis2211
be56cac2bb Note starters' and annotation processors' jar type in their manifest
See gh-22203
2020-09-10 14:37:06 +01:00
Andy Wilkinson
e240c180f3 Merge branch '2.3.x'
Closes gh-22831
2020-08-07 17:19:03 +01:00
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
2020-08-07 17:18:47 +01:00
Andy Wilkinson
d064ccabc4 Ensure Maven plugin descriptor inputs are out-of-date on version change
Closes gh-22766
2020-08-06 18:18:04 +01:00
Andy Wilkinson
782adc5f5f Merge branch '2.3.x'
Closes gh-22772
2020-08-06 18:17:36 +01:00
Stephane Nicoll
dac63fc3e5 Polish 2020-08-06 17:35:01 +02:00
Andy Wilkinson
a495b83b25 Ensure Maven plugin descriptor inputs are out-of-date on version change
Closes gh-22766
2020-08-06 16:25:45 +01:00
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
2020-07-29 14:41:17 +02:00
Stephane Nicoll
8c418adb9b Polish "Add auto-configuration for Neo4j driver"
See gh-22301
2020-07-27 16:26:32 +02:00
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
2020-07-27 16:26:32 +02:00
Andy Wilkinson
98115239b3 Only create effective bom artifact when needed
Closes gh-22143
2020-07-24 16:44:46 +01:00
Andy Wilkinson
1f27644e9d Merge branch '2.3.x'
Closes gh-22363
2020-07-16 16:10:08 +01:00
Andy Wilkinson
e080dcf8a4 Configure path sensitivity of tasks' file inputs
Closes gh-22359
2020-07-16 16:09:58 +01:00
Andy Wilkinson
0dfb9bb783 Merge branch '2.3.x'
Closes gh-22289
2020-07-09 15:31:26 +01:00
Andy Wilkinson
be8cd9e867 Extend DefaultTask rather than AbstractTask in buildSrc
Closes gh-22288
2020-07-09 15:31:03 +01:00
Andy Wilkinson
c258cec814 Merge branch '2.3.x'
Closes gh-22285
2020-07-09 12:13:58 +01:00
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
2020-07-09 11:21:03 +01:00
Andy Wilkinson
d33a01a13f Only create effective bom artifact when needed
Closes gh-22143
2020-06-29 13:39:54 +01:00
Andy Wilkinson
4c0d2686ad Merge branch '2.3.x'
Closes gh-22066
2020-06-23 10:45:43 +01:00
Andy Wilkinson
12d3f14e15 Use bom plugin to configure spring-boot-parent
Closes gh-21439
2020-06-23 10:43:59 +01:00
Andy Wilkinson
bc4de8be8b Merge branch '2.3.x'
Closes gh-21994
2020-06-17 09:56:38 +01:00
Andy Wilkinson
a6954614b2 Minimize contents of poms that are an ancestor of a user's pom
Fixes gh-21989
2020-06-17 09:54:53 +01:00
Andy Wilkinson
753bea64c6 Enable varargs compilation warnings
See gh-21271
2020-06-16 12:50:53 +01:00
Andy Wilkinson
9636350b0b Enable rawtypes compilation warnings
See gh-21271
2020-06-16 12:50:50 +01:00
Andy Wilkinson
056d5f3120 Enable deprecation compilation warnings
See gh-21271
2020-06-16 12:50:47 +01:00
Andy Wilkinson
c64649a6d9 Enable unchecked compilation warnings
See gh-21271
2020-06-16 12:50:44 +01:00
Andy Wilkinson
47874d8c6a Treat warnings as errors when compiling
See gh-21271
2020-06-16 12:50:41 +01:00
Andy Wilkinson
07fb4b065d Merge branch '2.3.x'
Closes gh-21940
2020-06-16 10:10:38 +01:00
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
2020-06-16 08:50:21 +01:00
Andy Wilkinson
c4faeac4d7 Merge branch '2.3.x'
Closes gh-21703
2020-06-04 20:27:18 +01:00
Andy Wilkinson
24138c104c Use highlightjs for syntax highlighting in Asciidoctor's HTML output
Closes gh-21701
2020-06-04 20:25:29 +01:00
Andy Wilkinson
15ec26171c Merge branch '2.3.x'
Closes gh-21699
2020-06-04 16:53:26 +01:00
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
2020-06-04 16:10:12 +01:00
Andy Wilkinson
399d0f7b95 Merge branch '2.3.x'
Closes gh-21651
2020-06-02 09:42:34 +01:00
Andy Wilkinson
f0bc8ee73c Fix version placeholder replacement in Gradle plugin docs
Closes gh-21640
2020-06-02 08:59:14 +01:00
Phillip Webb
ac9482d463 Merge branch '2.3.x'
Closes gh-21649
2020-06-01 21:21:20 -07:00
Phillip Webb
7104d8d81e Polish 2020-06-01 21:20:45 -07:00
Phillip Webb
fc4efe3bf0 Fix Maven plugin help support
Update `MavenPluginPlugin` to fix HelpMojo support.

Closes gh-21556
2020-06-01 21:20:45 -07:00
Andy Wilkinson
8e8548756e Start work on Spring Boot 2.4 2020-05-28 10:52:18 +01:00
Andy Wilkinson
d3ef6f2382 Prepare 2.3.x branch 2020-05-28 09:56:01 +01:00
Andy Wilkinson
2ff2d52509 Ignore irrelevant changes to StarterMetadata's dependencies
Closes gh-21594
2020-05-27 20:21:08 +01:00
Andy Wilkinson
b50b00d629 Use sorted properties to ensure output is repeatable
Closes gh-21593
2020-05-27 20:14:36 +01:00
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
2020-05-27 20:08:54 +01:00
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
2020-05-15 16:33:11 +01:00
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
2020-05-14 23:59:11 +02:00
Phillip Webb
9a1a2ca613 Merge branch '2.2.x'
Closes gh-21448
2020-05-13 23:28:29 -07:00
Andy Wilkinson
a03426af57 Configure the Asciidoctor revnumber in a central location
See gh-20934
2020-05-13 08:16:59 +01:00
Andy Wilkinson
0bb687717c Auto-configure a lifecycle processor with configurable timeout
Closes gh-21347
2020-05-12 19:59:52 +01:00
Phillip Webb
d52bf83ab2 Polish 2020-04-30 16:40:05 -07:00
Scott Frederick
aa63070fb9 Apply test conventions unconditionally
See gh-21272
2020-04-30 16:32:48 -05:00