Commit Graph

538 Commits

Author SHA1 Message Date
Andy Wilkinson 6da8c88b2b Include library resources on classpath of AOT source generation
Closes gh-31803
2022-07-20 10:07:02 +01:00
dreis2211 fb45fc4819 Use Files.writeString() and Files.readString() where possible
See gh-31459
2022-06-20 09:05:09 +02:00
dreis2211 a639685053 Remove obsolete Java compatibility code
See gh-31452
2022-06-19 10:22:23 +02:00
Andy Wilkinson 1ba1eff63a Merge branch '2.7.x' 2022-05-30 19:22:45 +01:00
Andy Wilkinson 430040415b Merge branch '2.6.x' into 2.7.x 2022-05-30 19:22:37 +01:00
Andy Wilkinson 0b6c147a87 Polish 2022-05-30 19:22:30 +01:00
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
2022-05-26 15:47:35 +01:00
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 2022-05-03 15:18:20 +01:00
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
2022-05-03 15:17:13 +01:00
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
2022-05-03 15:14:00 +01:00
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
2022-05-03 14:09:53 +01:00
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
2022-05-03 14:09:37 +01:00
Andy Wilkinson fcf45d5c22 Add support for invoking AOT to the Gradle plugin
Closes gh-30527
2022-04-29 14:32:23 +01:00
Andy Wilkinson eacd8c04a5 Merge branch '2.7.x' 2022-04-25 15:03:52 +01:00
Andy Wilkinson 56690a7eb9 Merge branch '2.6.x' into 2.7.x
Closes gh-30791
2022-04-25 15:03:32 +01:00
Andy Wilkinson 409ec48e2a Merge branch '2.5.x' into 2.6.x
Closes gh-30790
2022-04-25 15:00:51 +01:00
Andy Wilkinson 193ef9a06d Package META-INF/services/ files beneath BOOT-INF/classes/
Closes gh-30413
2022-04-25 14:32:47 +01:00
Andy Wilkinson 7e97073994 Merge branch '2.7.x' 2022-04-14 18:38:26 +01:00
Andy Wilkinson 74494f1d37 Merge branch '2.6.x' into 2.7.x
Closes gh-30671
2022-04-14 18:38:09 +01:00
Andy Wilkinson 1720290234 Merge branch '2.5.x' into 2.6.x
Closes gh-30670
2022-04-14 18:37:55 +01:00
Andy Wilkinson f7d181e65b Handle null additional properties more gracefully
Closes gh-30654
2022-04-14 18:36:15 +01:00
izeye 40d0e38e76 Test Spring Boot Gradle Plugin against Gradle 7.4.2
See gh-30506
2022-04-03 09:29:50 +02:00
Andy Wilkinson 9bf77b1a06 Merge branch '2.7.x' 2022-03-15 15:31:03 +00:00
Andy Wilkinson 4935c11a07 Merge branch '2.6.x' into 2.7.x
Closes gh-30215
2022-03-15 15:30:40 +00:00
Andy Wilkinson 464fce621d Merge branch '2.5.x' into 2.6.x
Closes gh-30213
2022-03-15 15:30:06 +00:00
Andy Wilkinson f11ddb4bd7 Prevent eager creation of bootWar task
Previously, querying the artifact's extension in
SinglePublishedArtifact would result in eager creation of the task
that creates the artifact. Typically, this is the bootWar task.

Instead of querying the extension, this commit reworks
SinglePublishedArtifact and its callers to call separate methods for
jar and war artifacts so that the extension check is no longer
required.

Tests have been added to ensure that running help does not trigger
any unexpected task creation. The tests' assertions tolerate some
variation in behavior that depend on the version of Gradle and
whether the configuration cache is enabled.

Closes gh-30211
2022-03-15 15:28:59 +00:00
Scott Frederick 377b13c048 Merge branch '2.7.x' 2022-03-11 16:39:49 -06:00
Scott Frederick de321b00b7 Support podman for building images
Closes gh-30196
2022-03-11 16:39:07 -06:00
Scott Frederick 5e07db7d21 Merge branch '2.7.x' 2022-03-11 15:59:16 -06:00
Scott Frederick 7ad538cd84 Add option to use configured Docker host in builder
This commit adds support for a `docker.bindHostToBuilder` option in
the Maven and Gradle image building goal and task.

Fixes gh-29384
2022-03-11 15:27:22 -06:00
Andy Wilkinson 5264fb3d1e Test our Gradle Plugin against Gradle 7.4.1
Closes gh-30139
2022-03-09 18:09:07 +00:00
Andy Wilkinson e9d2ec507e Merge branch '2.7.x' 2022-03-09 15:17:25 +00:00
Andy Wilkinson d552f49128 Merge branch '2.7.x' 2022-03-09 12:53:15 +00:00
Andy Wilkinson 83de1995c7 Merge branch '2.6.x' into 2.7.x
Closes gh-30130
2022-03-09 12:44:53 +00:00
Andy Wilkinson b0e4cabdd8 Merge branch '2.5.x' into 2.6.x
Closes gh-30123
2022-03-09 12:37:45 +00:00
Andy Wilkinson 20d21d4e58 Set up CI with JDK 18
Closes gh-30104
2022-03-09 12:28:34 +00:00
Andy Wilkinson a5ec85bede Merge branch '2.7.x' 2022-03-02 15:24:23 +00:00
Andy Wilkinson b89c29f29c Merge branch '2.6.x' into 2.7.x
Closes gh-30037
2022-03-02 15:24:10 +00:00
Andy Wilkinson ea729fc1c6 Merge branch '2.5.x' into 2.6.x
Closes gh-30036
2022-03-02 15:21:43 +00:00
Andy Wilkinson 4073cf8334 Only apply special handling of META-INF to jar files
The changes for gh-28562 attempted to align the Gradle plugin's
handling of META-INF with the Maven plugin's behavior. Unfortunately,
they want too far, applying the handling to both jar and war files
when the Maven plugin only applies it to jar files.

This commit reworks the changes so that they only apply to jar files.

Closes gh-30026
2022-03-02 15:19:09 +00:00
Phillip Webb ff4b92a3ba Update copyright year of changed files 2022-02-16 20:44:54 -08:00
Phillip Webb c86b1330cf Update copyright year of changed files 2022-02-16 17:56:19 -08:00
Andy Wilkinson d62d5a09a1 Merge branch '2.7.x' 2022-02-16 14:59:55 +00:00
Andy Wilkinson ba73436ea8 Merge branch '2.6.x' into 2.7.x
Closes gh-29881
2022-02-16 14:59:39 +00:00
Andy Wilkinson 86c75b7a5c Merge branch '2.5.x' into 2.6.x
Closes gh-29880
2022-02-16 14:58:58 +00:00
Andy Wilkinson 03352b0a8c Prohibit use of APIs that prevent task configuration avoidance
Closes gh-29809
2022-02-16 14:57:47 +00:00
Andy Wilkinson 68bdef2cd0 Merge branch '2.7.x' 2022-02-11 13:35:03 +00:00
Andy Wilkinson da61545925 Merge branch '2.6.x' into 2.7.x
Closes gh-29749
2022-02-11 13:34:51 +00:00
Andy Wilkinson 646bb05c8d Merge branch '2.5.x' into 2.6.x
Closes gh-29748
2022-02-11 13:34:40 +00:00
Andy Wilkinson c3eee4ad68 Align Gradle's plugin's META-INF repackaging with Maven plugin's
Closes gh-28562
2022-02-11 13:32:52 +00:00
Andy Wilkinson fc23310144 Merge branch '2.6.x' into 2.7.x
Closes gh-29734
2022-02-10 17:13:56 +00:00
Andy Wilkinson d6ebce4ccf Merge branch '2.5.x' into 2.6.x
Closes gh-29733
2022-02-10 17:02:39 +00:00
Andy Wilkinson 6901f6dab2 Test our Gradle plugin against Gradle 7.4
Closes gh-29673
2022-02-10 16:57:13 +00:00
Andy Wilkinson 067a8dd3ec Raise the minimum supported version of Gradle to 7.4
Closes gh-29674
2022-02-09 15:02:17 +00:00
Andy Wilkinson 96118c88db Merge branch '2.7.x' 2022-02-08 19:23:53 +00:00
Andy Wilkinson 41863d4b80 Merge branch '2.6.x' into 2.7.x
Closes gh-29680
2022-02-08 19:21:59 +00:00
Andy Wilkinson 358cdb33f7 Merge branch '2.5.x' into 2.6.x
Closes gh-29679
2022-02-08 19:21:48 +00:00
Andy Wilkinson 43ca2d2cb0 Access classpath lazily to allow later changes to be picked up
Previously, the classpath of bootJar, bootWar, and bootRun was
configured directly as a FileCollection derived from the main source
set's runtime classpath. This direct configuration meant that
subsequent changes to the main source set's runtime classpath may not
have been picked up.

This commit changes the configuration of the classpath to use a
Callable. This indirection allows subsequent changes to the main
source set's runtime classpath to be picked up as long as they
occur before Gradle calls the callable.

Closes gh-29672
2022-02-08 19:21:37 +00:00
Stephane Nicoll cad11addb2 Merge branch '2.7.x' 2022-01-07 17:58:35 +01:00
Stephane Nicoll 980aa616c8 Fix build failure
See gh-29290
2022-01-07 17:58:15 +01:00
Stephane Nicoll 9821cdfd8b Remove deprecated code
Closes gh-29290
2022-01-07 14:42:14 +01:00
izeye 9a6c1c531d Test our Gradle plugin against Gradle 7.3.3
See gh-29161
2021-12-25 09:52:14 +01:00
Stephane Nicoll 8c9d398422 Test our Gradle plugin against Gradle 7.3.2
Closes gh-29093
2021-12-17 09:11:44 +01:00
Phillip Webb f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
Scott Frederick c78b157e95 Merge branch '2.7.x' 2021-12-09 16:42:33 -06:00
Scott Frederick 8f57f0babb Add classpath index support for exploded war archives
Update the Maven and Gradle packaging for war files so that a
`classpath.idx` file is written into the archive that provides the
original order of the classpath, as was previously done for jar files.
The `WarLauncher` class will use this file when running as an exploded
archive to ensure that the classpath order is the same as when running
from the far war.

Fixes gh-19875
2021-12-09 16:41:49 -06:00
Andy Wilkinson af60a8a7cf Test our Gradle plugin against Gradle 7.3.1
Closes gh-28890
2021-12-02 10:29:22 +00:00
Andy Wilkinson 814c86c5e8 Raise the minimum supported version of Gradle to 7.3
Closes gh-28100
2021-11-30 15:36:54 +00:00
Andy Wilkinson c0d90dfa8f Merge branch '2.5.x'
Closes gh-28749
2021-11-19 13:36:01 +00:00
Andy Wilkinson c083e0b049 Avoid using temp before @TempDir has initialized it
Closes gh-28748
2021-11-19 13:35:30 +00:00
Andy Wilkinson 0aae9c26da Test our Gradle plugin against Gradle 7.3
Closes gh-28679
2021-11-15 12:47:51 +00:00
Scott Frederick e84c1abb0f Prevent Docker volume name clashes in tests during parallel builds
See gh-28292
2021-10-21 15:07:15 -05:00
Phillip Webb e25f216eab Merge branch '2.5.x'
Closes gh-28425
2021-10-21 11:28:33 -07:00
Phillip Webb daf36dff55 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
2021-10-21 11:27:29 -07:00
Phillip Webb 2f6651c3cb Don't use markdown syntax in javadoc or error messages
Closes gh-28408
2021-10-21 11:24:54 -07:00
Scott Frederick 871468931f Polish "Add option to customize cache volume names when building an image"
See gh-28292
2021-10-19 15:38:12 -05:00
Vedran Pavic ea9faf8690 Allow build info properties to be excluded
Update Maven and Gradle plugins to allow build info properties to be
excluded.

Prior to this commit, the `BuildPropertiesWriter` would fail with an
NPE if the group, artifact, name or version properties were `null`.

This was specifically problematic with the Gradle plugin, since its
DSL allows `null` properties which would either be passed to the writer
or, in the case of `artifact`, converted into a string value of
"unspecified".

See gh-27412
2021-10-13 21:07:09 -07:00
Scott Frederick 64c49003aa Polish "Add option to create tags for a built image"
See gh-27613
2021-09-28 15:32:27 -05:00
Rafael Ceccone 66f44b0c7f Add option to create tags for a built image
This commit adds configuration to the Maven and Gradle plugins to
allow specifying multiple tag to be created that refer to the built
image.

See gh-27613
2021-09-28 15:32:27 -05:00
Scott Frederick 96238ba8b7 Expose default value for imageName in bootBuildImage task
Fixes gh-28040
2021-09-16 15:51:12 -05:00
Andy Wilkinson f530819d68 Merge branch '2.4.x' into 2.5.x
Closes gh-27966
2021-09-13 10:47:47 +01:00
Andy Wilkinson 273600bcdd Retain distinction between compile and runtime deps of optional deps
Previously, the optional configuration was added to the compile and
runtime classpaths of each source set and the the javadoc classpath
as well. This had a few disadvantages, the most notable of which is
that it meant that the configuration was ifrst resolved and then
the outcome of the resolution was added to the compile and runtime
classpaths. As a result, none of the attributes on the compile and
runtime classpaths were considered to influence variant selection.

This commit reworks the optional dependencies plugin so that the
compile and runtime classpaths of each source set are now configured
to extend from the optional configuration. This allows each
classpath configuration's attributes to influence the dependencies
that are selected from the optional configuration during resolution.
For example, when resolving the compile classpath, compile
dependencies (Usage.JAVA_API) will be selected and when resolving the
runtime classpath, runtime dependencies (Usage.JAVA_RUNTIME) will be
selected.

The above-described change means that runtime dependencies of an
optional dependencies will no longer leak into the compile classpath.
As a result of this, our Gradle plugin's test infrastructure has
been updated so that it no longer references runtime dependencies of
the Kotlin Gradle plugin at compile time.

Closes gh-27965
2021-09-13 10:47:14 +01:00
Andy Wilkinson fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
2021-08-18 18:28:34 +01:00
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
2021-08-18 17:56:32 +01:00
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
2021-08-18 17:52:42 +01:00
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
2021-08-18 17:38:40 +01:00
Andy Wilkinson b4f0f29bff Test our Gradle plugin against Gradle 7.2
Closes gh-27732
2021-08-17 15:58:40 +01:00
Scott Frederick 2178c281e9 Polish "Add network option for image building"
See gh-27486
2021-08-12 17:08:52 -05:00
Jeroen Meijer 8e6d03b221 Add network option for image building
This commit adds configuration to the Maven and Gradle plugins to
allow specifying the network mode to be provided to the image
building goal and task.

See gh-27486
2021-08-12 17:08:52 -05:00
Andy Wilkinson 119fb6948d Test our Gradle plugin against Gradle 7.2-rc-3
Closes gh-27640
2021-08-12 15:26:50 +01:00
Andy Wilkinson 7610fe02c5 Test our Gradle plugin against 7.2-rc-2
Closes gh-27593
2021-08-09 09:50:07 +01:00
Stephane Nicoll 9826304e29 Merge branch '2.4.x' into 2.5.x
Closes gh-27557
2021-08-04 09:25:25 +02:00
izeye 9f44cefc56 Use deprecated mainClassName in Gradle test
See gh-27537
2021-08-04 09:23:52 +02:00
Andy Wilkinson cdad8e2b7f Merge branch '2.5.x' 2021-07-29 17:28:38 +01:00
Andy Wilkinson 85054723f0 Reinstate GradleProjectBuilder for compatibility with JDK17-ea32
See gh-27521
2021-07-29 17:22:59 +01:00
Andy Wilkinson 23c4674352 Merge branch '2.5.x'
Closes gh-27522
2021-07-29 12:24:54 +01:00
Andy Wilkinson ca5af2d456 Test our Gradle plugin against Gradle 7.2-rc-1
Closes gh-27521
2021-07-29 12:05:14 +01:00
Andy Wilkinson 04dc62904f Merge branch '2.4.x' into 2.5.x
Closes gh-27495
2021-07-26 15:23:17 +01:00