911 Commits

Author SHA1 Message Date
Phillip Webb
9bd49562fe Update copyright year of changed files 2020-01-13 14:09:11 -08:00
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
2020-01-13 19:59:56 +00:00
dreis2211
d454c9653c Disable tests on Java 13 that require an incompatible Gradle version
See gh-19680
2020-01-13 16:51:55 +00:00
Stephane Nicoll
ca1710ee56 Upgrade to Apache Cassandra 4.3.1
See gh-19588
2020-01-13 15:12:41 +01:00
Andy Wilkinson
e415f759a2 Raise the minimum supported version of Gradle to 5.6
Closes gh-18777
2020-01-13 12:10:13 +00:00
Andy Wilkinson
c66d2e8039 Relax the Gradle plugin's Kotlin version constraint
Enforcing the spring-boot-dependencies platform makes for too strong
an opinion about the version of Kotlin that should be on the build
script's classpath. It clashes with the version of Kotlin that's
embedded in Gradle and used with Gradle's Kotlin DSL.

This commit switches to a normal platform (rather than an enforced
platform) which allows it to express an opinion about the version of
Kotlin without making it a strict requirement.

Closes gh-19609
2020-01-13 11:00:49 +00:00
Andy Wilkinson
7fda317f0d Merge branch '2.1.x' into 2.2.x
Closes gh-19657
2020-01-12 10:42:42 +00:00
Andy Wilkinson
617ebaf3c0 Isolate Gradle Plugin build from other Gradle configuration
Closes gh-19656
2020-01-12 10:41:38 +00:00
Brian Clozel
e0171a5da8 Polish 2020-01-10 22:29:57 +01:00
Andy Wilkinson
b5ae8b0af5 Disable tests that use Docker when Docker is unavailable
Closes gh-19616
2020-01-10 20:35:18 +00:00
Andy Wilkinson
ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
2020-01-10 14:15:35 +00:00
Andy Wilkinson
bdffa860d9 Increase startup timeout for Docker containers
Closes gh-19569
2020-01-08 11:39:36 +00:00
Andy Wilkinson
30c124f549 Merge branch '2.2.x'
Closes gh-19554
2020-01-07 12:06:07 +00:00
Andy Wilkinson
c57359ea3b Merge branch '2.1.x' into 2.2.x
Closes gh-19553
2020-01-07 12:05:21 +00:00
Andy Wilkinson
d46406fcb9 Remove loading of non-existent properties file from antlib
Fixes gh-19552
2020-01-07 12:04:59 +00:00
Johnny Lim
e4057dd528 Polish
See gh-19484
2019-12-30 14:57:29 +01:00
Stephane Nicoll
e7f45d8a34 Polish "Add toolchains support for Spring Boot Maven Plugin"
See gh-18732
2019-12-26 12:03:18 +01:00
Dmytro Nosan
eede16ff0a Add toolchains support for Spring Boot Maven Plugin
See gh-18732
2019-12-26 12:03:18 +01:00
Stephane Nicoll
a2b2b46b83 Merge branch '2.2.x'
Closes gh-19463
2019-12-26 11:18:55 +01:00
Stephane Nicoll
6c016663fd Polish contribution
See gh-18711
2019-12-26 11:17:51 +01:00
Dmytro Nosan
1fb904acee Support commas embedded in command line arguments from Maven plugin
See gh-18711
2019-12-26 11:05:09 +01:00
Stephane Nicoll
2c1e81adf0 Polish 2019-12-26 10:42:40 +01:00
Stephane Nicoll
065fe9996d Merge branch '2.2.x'
Closes gh-19454
2019-12-24 11:00:23 +01:00
Stephane Nicoll
ee98855905 Merge branch '2.1.x' into 2.2.x
Closes gh-19453
2019-12-24 10:59:58 +01:00
Stephane Nicoll
5dc6491807 Clarify documentation of repackage mojo's attach property
Closes gh-19021
2019-12-24 10:59:36 +01:00
Stephane Nicoll
6d9c176e19 Merge branch '2.2.x'
Closes gh-19441
2019-12-23 15:09:21 +01:00
Stephane Nicoll
b3643965f0 Polish "Detect config props using builder pattern and generics"
See gh-19099
2019-12-23 14:57:48 +01:00
如梦技术
743f4a4cb1 Detect config props using builder pattern and generics
See gh-19099
2019-12-23 14:54:00 +01:00
Phillip Webb
93d9147864 Add deprecation documentation to Archive.iterator
See gh-16655
2019-12-19 16:52:47 -08:00
Andy Wilkinson
ef2eb2f652 Remove accidental usage of Plexus's CollectionUtils
See gh-16655 and 8f5777cf
2019-12-14 17:42:26 +00:00
Phillip Webb
1b1c61a2ed Make processor output fully reproducible
Update `AutoConfigureAnnotationProcessor` to ensure that the generated
properties file is fully repeatable. Properties are now sorted and
written out directly to ensure that the timestamp comment is not
present.

Closes gh-19370
2019-12-13 13:04:49 -08:00
Phillip Webb
2fc12bc36c Merge branch '2.2.x' 2019-12-13 11:30:13 -08:00
Phillip Webb
26ff18f37d Merge branch '2.1.x' into 2.2.x 2019-12-13 11:29:51 -08:00
Phillip Webb
accd830dd5 Update copyright header of changed files 2019-12-13 11:23:24 -08:00
dreis2211
3be05f61e1 Fix unknown tag in javadoc
See gh-19364
2019-12-12 17:04:25 -08:00
Madhura Bhave
8f5777cf9e Optimize JarLauncher when used with exploded jar
- Previously, we would create a JarFileArchive for all nested jars.
This was an additional overhead. We only need to create a JarFileArchive
for jars that can have nested jars in them. For all other jars we only need
the URL to build the classpath.
- While iterating over nested entries in the exploded jar, we only need to
look at BOOT-INF and we can skip any entry that does not match that.

Closes gh-16655

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2019-12-12 14:33:48 -08:00
Andy Wilkinson
ab4e1c465f Merge branch '2.2.x'
See gh-19288
2019-12-05 10:25:12 +00:00
Andy Wilkinson
47b47c28a0 Reduce visibility of the Gradle plugin's test methods
See gh-19287
2019-12-05 10:24:48 +00:00
Andy Wilkinson
f731c92b66 Merge branch '2.2.x' 2019-11-27 12:52:14 +00:00
Andy Wilkinson
76f03a8cad Fix reflective access to archiveBaseName property
Previously, reflective access to the archiveBaseName property
incorrectly treated the property as a String. It should have been
treated as a Property<String>. This caused an exception to be thrown
and the deprecated baseName property to be used as a fallback.

This commit corrects the reflective access to the archiveBaseName
property. It also updates the tests to fail if a build outputs a
deprecation warning. Tests that use Gradle's Maven plugin have been
updated to expect deprecation warnings when run with Gradle 6.0 where
the plugin is deprecated. Tests that configure an archive's base name
have been updated to use archiveBaseName when running with Gradle 6.0
and later.

Closes gh-18663
2019-11-27 12:52:05 +00:00
dreis2211
60640ea185 Fix link in new Maven Plugin docs
See gh-19108
2019-11-25 09:49:30 +01:00
Stephane Nicoll
a76a864270 Polish "Replace the Maven Plugin's site with Asciidoctor documentation"
See gh-19080
2019-11-21 17:43:50 +01:00
Stephane Nicoll
30863eb041 Merge branch '2.2.x'
Closes gh-19088
2019-11-21 13:45:42 +01:00
dreis2211
347434ba81 Test the Gradle Plugin against Gradle 6.0.1
See gh-19065
2019-11-21 13:44:55 +01:00
Andy Wilkinson
3e2454f8c4 Replace the Maven Plugin's site with Asciidoctor documentation
Closes gh-19080

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-11-21 10:50:05 +00:00
Johnny Lim
96a029e44f Polish a test name
See gh-18999
2019-11-13 08:52:32 +01:00
Andy Wilkinson
379ba0dc00 Support Gradle 6.0
Previously, our Gradle plugin was not tested against Gradle 6.0,
a number of deprecation warnings were output when using the plugin
with Gradle 6, and some functionality related to the application
plugin did not work as expected.

This commit tests the plugin against Gradle 6. It also avoids calling
deprecated APIs. The plugin is compatibile against Gradle 4.10 where
the deprecated APIs' replacements are not available so reflection is
used to call the replcaements. Lastly, the way in which the base name
of the boot distribution that is created when the application plugin
is applied has been modified to ensure that it is effective when using
Gradle 6.

Closes gh-18663
2019-11-11 16:36:40 +00:00
Andy Wilkinson
fc3f6a930d Merge branch '2.1.x' into 2.2.x
Closes gh-18940
2019-11-08 13:32:49 +00:00
Andy Wilkinson
5765cfe010 Allow 5 seconds for child to handle SIGINT before destroying it
Previously, when RunProcess handled a SIGINT it would immediately
attempt to destroy the process that it had run. This created a race
condition between the SIGINT being handled by the child process
and RunProcess destroying the child. The exact behavior of destroy
is implementation dependent and it may result in forcible termination
of the process where shutdown hooks are not called. This is what
happens on Windows. The exit code in such a case is 1 which prevents
anything from waiting for the process to complete from detecting
that it ended as a result of a SIGINT, leaving it with no choice but
to report an error. This is what happens with mvn spring-boot:run
with a forked process on Windows and results in the build failing.

This commit updates RunProcess to allow the child process to handle
the SIGINT itself, waiting for up to five seconds for that to happen
before the process is then destroyed. Given this time, the child
process exits with 130 which RunMojo already handles correctly as
indicating that the process died due to SIGINT and the build completes
with success as a result.

Fixes gh-18936
2019-11-08 12:41:13 +00:00
Johnny Lim
ea51947741 Use try-with-resources blocks in JarFileArchiveTests
See gh-18883
2019-11-06 08:01:50 +01:00