Commit Graph

436 Commits

Author SHA1 Message Date
Andy Wilkinson
78f4242e46 Build with Gradle 7.5 while still supporting Gradle 6.8+
Closes gh-32281
2022-09-09 15:13:43 +01:00
Scott Frederick
9b0cdac58a Simplify support for pushing images to unauthenticated registries
This commit removes the requirement that `docker.publishRegistry`
configuration must be provided when an image is published by the Gradle
or Maven plugin.

Fixes gh-28844
2022-07-20 15:06:05 -05:00
Andy Wilkinson
0b6c147a87 Polish 2022-05-30 19:22:30 +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
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
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
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
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
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
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
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
c86b1330cf Update copyright year of changed files 2022-02-16 17:56:19 -08: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
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
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
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
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
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
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
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