9297 Commits

Author SHA1 Message Date
Stephane Nicoll
0b7f198b54 Publish Maven plugin API
This commit enables javadoc generator for the Spring Boot Maven plugin.

This also harmonizes the structure of the documentation, with an `/api`
and a `/reference` root directories for the javadoc and the reference
guide respectively.

Closes gh-20127
2020-03-19 14:00:58 +01:00
Stephane Nicoll
58a45c53ac Upgrade to Groovy 2.5.10
Closes gh-20575
2020-03-19 13:33:57 +01:00
Stephane Nicoll
5893786cbb Polish "Add 'threads' configuration group for embedded containers"
See gh-19475
2020-03-19 13:13:45 +01:00
cbono
208f58104a Add 'threads' configuration group for embedded containers
See gh-19475
2020-03-19 12:12:11 +01:00
Stephane Nicoll
bece0f1360 Start building against Spring Kafka 2.3.7 snapshots
See gh-20574
2020-03-19 11:00:19 +01:00
Stephane Nicoll
96cffb9dd3 Start building against Spring Data Moore SR6 snapshots
See gh-20573
2020-03-19 10:59:18 +01:00
Stephane Nicoll
e940e751c1 Start building against Spring Framework 5.2.5 snapshots
See gh-20571
2020-03-19 10:52:32 +01:00
Stephane Nicoll
3966730e02 Start building against Reactor Dysprosium-SR6 snapshots
See gh-20569
2020-03-19 10:49:42 +01:00
dreis2211
7924dd62b0 Add security.protocol to KafkaProperties
See gh-20360
2020-03-19 10:36:20 +01:00
Scott Frederick
e607c6842f Polish Gradle layer configuration DSL
This commit modifies the DSL for custom layer configuration in the
Gradle plugin to avoid duplication of terms that could be confusing.

Fixes gh-20563
2020-03-18 16:21:40 -05:00
Stephane Nicoll
0f5ca030db Polish "Add Java 14 CI"
See gh-20413
2020-03-18 15:09:14 +01:00
Stephane Nicoll
2e2f839bc8 Upgrade to Gradle 6.3 RC2
Closes gh-20558
2020-03-18 14:29:15 +01:00
Andy Wilkinson
9b817caff3 Revert "Update extract to write files to their original, unlayered location"
This reverts commit 9f3bc78f364bcb3b81344c201ff26945bc6be011.
2020-03-18 12:21:46 +00:00
Andy Wilkinson
0a17e2daf3 Merge branch '2.2.x'
Closes gh-20556
2020-03-18 10:57:40 +00:00
Lars Grefer
c748f36856 Fix recommended task dependency configuration
`compileJava.dependsOn(processResources)` is not enough to ensure the
correct behavior. Using `dependsOn` only affects the execution order
(`processResources` before `compileJava`) but not the up-to-date check
of `compileJava`. After modifying
`META-INF/additional-spring-configuration-metadata.json`, the
`processResouces` task will considered out-of-date and will be
re-executed, but after that `compileJava` will still be considered
up-to-date which causes the changes not to be merged into
`META-INF/spring-configuration-metadata.json`

With this change the up-do-date check of `compileJava` is affected,
too. Therefore, it will correctly re-execute the
configuration-processor when
`META-INF/additional-spring-configuration-metadata.json` was changed.

See gh-20323
2020-03-18 10:55:32 +00:00
Andy Wilkinson
9f3bc78f36 Update extract to write files to their original, unlayered location 2020-03-18 09:51:57 +00:00
Scott Frederick
44f7508825 Fix BuildImageMojo javadoc. 2020-03-17 19:12:47 -05:00
Scott Frederick
08e96427de Add command-line properties for Maven build-image options
This commit adds support for setting the image name and builder
parameters of the Maven spring-boot:build-image goal using command-line
properties as an alternative to plugin configuration in pom.xml. Per
Maven conventions, a value in pom.xml configuration will override a
command-line property when both are provided.

Fixes gh-20520
2020-03-17 18:40:37 -05:00
Stephane Nicoll
f470f27666 Merge branch '2.2.x'
Closes gh-20549
2020-03-17 18:15:19 +01:00
dreis2211
d9171d0afe Use @Configuration(proxyBeanMethods=false) wherever possible
See gh-20541
2020-03-17 17:17:38 +01:00
Stephane Nicoll
58eb0ba4d3 Add additional timeout settings
This commit expands the `spring.couchbase.env.timeouts` configuration
namespace with timeouts for disconnect, key-value operations with a
durability level, search, analytics and management.

Closes gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
2020-03-17 17:00:34 +01:00
Stephane Nicoll
abe43b2e83 Upgrade to Couchbase SDK v3
This commit upgrades to the Couchbase SDK v3 which brings the following
breaking changes:

* Bootstrap hosts have been replaced by a connection string and the
authentication is now mandatory.
* A `Bucket` is no longer auto-configured. The
`spring.couchbase.bucket.*` properties have been removed
* `ClusterInfo` no longer exists and has been replaced by a dedicated
API on `Cluster`.
* `CouchbaseEnvironment` no longer exist in favour of
`ClusterEnvironment`, the customizer has been renamed accordingly.
* The bootstrap-related properties have been removed. Users requiring
custom ports should supply the seed nodes and initialize a Cluster
themselves.
* The endpoints-related configuration has been consolidated in a
single IO configuration.

The Spring Data Couchbase provides an integration with the new SDK. This
leads to the following changes:

* A convenient `CouchbaseClientFactory` is auto-configured.
* Repositories are configured against a bucket and a scope. Those can
be set via configuration in `spring.data.couchbase.*`.
* The default consistency property has been removed in favour of a more
flexible annotation on the repository query methods instead. You can now
specify different query consistency on a per method basis.
* The `CacheManager` implementation is provided, as do other stores for
consistency so a dependency on `couchbase-spring-cache` is no longer
required.

See gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
2020-03-17 17:00:09 +01:00
Stephane Nicoll
e3899df22c Configure Spring Data Couchbase explicitly
This commit configures Spring Data Couchbase explicitly rather than
relying on the abstract configuration class. This has the advantage of
simplifying the auto-configuration and let it us proxy-free
configuration classes.

Spring Boot no longer uses or interacts with CouchbaseConfigurer. Users
relying on that to teach Spring Boot which components to use should
rely on `@Primary` flag instead in case of multiple beans of the same
type.

`CouchbaseConfiguration` is no longer public as extending from it is
no longer necessary. If the `CouchbaseEnvironment` has to be
customized, a `CouchbaseEnvironmentBuilderCustomizer` bean can be
registered to tune the auto-configured environment.

Closes gh-20533
2020-03-17 16:20:21 +01:00
Andy Wilkinson
4544785a4f Merge branch '2.2.x'
Closes gh-20544
2020-03-17 12:52:52 +00:00
Andy Wilkinson
566f79b086 Merge branch '2.1.x' into 2.2.x
Closes gh-20543
2020-03-17 12:50:45 +00:00
Andy Wilkinson
b51c7386aa Fix detection of application home for paths containing spaces
Fixes gh-20531
2020-03-17 12:41:26 +00:00
Madhura Bhave
fb8b531bfd Polish 2020-03-16 17:45:56 -07:00
Madhura Bhave
3e8ee2a296 Add missing package-info.json
Closes gh-20516
2020-03-16 16:11:02 -07:00
Madhura Bhave
84b2e8c308 Rename classes package to application
Closes gh-20526
2020-03-16 16:03:29 -07:00
Scott Frederick
3dea2201c4 Use Gradle's configuration avoidance API
Register Boot Gradle tasks instead of creating them so they can be
loaded lazily.

Closes gh-18881
2020-03-16 17:49:34 -05:00
Scott Frederick
f2dadf5a87 Add support for customizing layers in Gradle
This commit adds configuration to the Spring Boot Gradle plugin that
allows the names and contents of layers to be customized in the build
configuration.

Fixes gh-20296
2020-03-16 17:27:32 -05:00
Andy Wilkinson
c4a55a5fb4 Fail fast when attempting to repackage a reproducible war
Maven's war plugin does not support reproducible builds, resulting in
the entries in the war file not being written in a consistent order
from build to build.

Closes gh-20176
2020-03-16 20:29:37 +00:00
Andy Wilkinson
ca202ad59f Support Maven's outputTimestamp when repackaging jars and wars
Closes gh-20176
2020-03-16 17:19:52 +00:00
dreis2211
5975e7bd8d Fix some deprecation warnings
See gh-20527
2020-03-15 16:33:47 +01:00
dreis2211
3e24df3beb Fix method order checkstyle issue
See gh-20525
2020-03-13 15:53:42 +00:00
Andy Wilkinson
0315724126 Cache endpoint responses on a per-principal basis
Previously, any HTTP request to an endpoint that included a principal
would bypass the cache. This prevented authenticated requests from
making use of the cache and its configurable time-to-live.

This commit updates the caching operation invoker to include the
principal, if any, in its cache key. As a result, requests that
include a principal will make use of the cache, potentially returning
the result of a previous invocation of the same endpoint by the same
principal.

Closes gh-19538
2020-03-13 15:31:41 +00:00
Andy Wilkinson
ef9960c69f Allow additional tags to be contributed to WebMvc and WebFlux defaults
Closes gh-20175
2020-03-13 09:38:29 +00:00
Andy Wilkinson
e7ece77a7c Upgrade to Undertow 2.0.30.Final
Closes gh-20514
2020-03-12 14:09:33 +00:00
Andy Wilkinson
e28697eed8 Upgrade to Sun Mail 1.6.5
Closes gh-20513
2020-03-12 14:09:33 +00:00
Andy Wilkinson
38763a4e48 Upgrade to Maven Dependency Plugin 3.1.2
Closes gh-20512
2020-03-12 14:09:32 +00:00
Andy Wilkinson
2d9bfb9bdf Upgrade to Kafka 2.4.1
Closes gh-20511
2020-03-12 14:09:32 +00:00
Andy Wilkinson
6216dfbe5c Upgrade to Jakarta Mail 1.6.5
Closes gh-20510
2020-03-12 14:09:32 +00:00
Madhura Bhave
e49e62df5c Add support for customizing layers in Maven
This commit adds an additional 'layers/configuration' property that can
be used to refer to a separate layers configuration file. This separate
file defines:

* The layers and their order of precedence,
* How libraries are handled using filters that match against the
coordinates of each library, and
* How classes are handled using filters that match against the location
of the entry

An XSD to validate the XML configuration file is available.

Closes gh-20295

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2020-03-12 14:50:08 +01:00
Andy Wilkinson
896d2c8579 Upgrade to Spring Integration 5.3.0.M3
Closes gh-20489
2020-03-12 09:28:48 +00:00
Andy Wilkinson
5446858535 Upgrade to Spring Kafka 2.4.4.RELEASE
Closes gh-20469
2020-03-11 19:08:03 +00:00
Andy Wilkinson
77dbe999b9 Polish "Add clearChecksums to Liquibase auto-configuration"
See gh-20417
2020-03-11 17:14:38 +00:00
ferengra
a2680efadb Add clearCheckSums to Liquibase auto configuration
Liquibase auto configuration is extended with clearCheckSums to allow
to clear all checksums in the current changelog, so they will be
recalculated upon the next update.

See gh-20417
2020-03-11 17:11:43 +00:00
Andy Wilkinson
4fd8f376dc Merge branch '2.2.x'
Closes gh-20503
2020-03-11 14:02:49 +00:00
Andy Wilkinson
9fbb664db6 Avoid eager init when evaluating DevToolsDataSourceCondition
Previously, DevToolsDataSourceCondition called
getBeanNamesForType(Class) which could trigger unwanted initialization
of lazy init singletons and objects created by FactoryBeans.

This commit updates DevToolsDataSourceCondition to prohibit eager
init when getting the names of the beans of a particular type.

Fixes gh-20430
2020-03-11 14:02:16 +00:00
Andy Wilkinson
2f92261f97 Merge branch '2.2.x'
Closes gh-20502
2020-03-11 13:17:12 +00:00