Commit Graph

2206 Commits (5663aaa7ec97aab133b709f79665764d961ff2fa)

Author SHA1 Message Date
Phillip Webb 360eb027be Don't close nested jars or wrapper when parent is closed
Update `JarFile` so that the `close()` method no longer closes nested
jars or the wrapper. Prior to this commit it was possible for a parent
jar file to be garbage collected and closed even though references still
existed to the nested jars. When this happened the nested jars would get
closed and any access to entries would result in `JarFile.ensureOpen()`
throwing an `IllegalStateException`. The user would often not see this
exception directly, but rather find `ClassNotFoundException` being
thrown.

Fixes gh-31853
2 years ago
Andy Wilkinson 9caad3d31b Merge branch '2.6.x' into 2.7.x
Closes gh-32059
2 years ago
Andy Wilkinson c9e69f555e Test our Gradle plugin against Gradle 7.5.1
Closes gh-32058
2 years ago
Andy Wilkinson 012fbb3a57 Merge branch '2.6.x' into 2.7.x
Closes gh-31949
2 years ago
Andy Wilkinson c0daede1aa Ensure that jarmode jar added to an app has same SHA as published jar
Closes gh-31862
2 years ago
Stephane Nicoll 6786659aae Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 7d860df5f0 Polish 2 years ago
Phillip Webb fd076ab9ef Merge branch '2.6.x' into 2.7.x
Closes gh-31875
2 years ago
aoyvx 8c93d2e8a7 Ensure PROTOCOL_HANDLER system property is reset
See gh-31870
2 years ago
Phillip Webb a4ef6a7c5c Merge branch '2.6.x' into 2.7.x
Closes gh-31865
2 years ago
Phillip Webb f8412847dc Update copyright year for "Fix typos in code and documentation"
See gh-31734
2 years ago
Marc Wrobel dbfc6bded4 Fix typos in code and documentation
See gh-31734
2 years ago
Phillip Webb 3931e82841 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 4bcec6e0ee Polish 2 years ago
Scott Frederick 9da38c8d2d Merge branch '2.6.x' into 2.7.x
Closes gh-31826
2 years ago
Scott Frederick 4e0b3aad9f Clarify how docker image publishing registry is determined
Closes gh-31820
2 years ago
Scott Frederick f9cf31e59e Fix compile errors
See gh-28844
2 years ago
Scott Frederick 09c7ce6dab Merge branch '2.6.x' into 2.7.x
Closes gh-31824
2 years ago
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
2 years ago
Stephane Nicoll 92a7af4038 Merge branch '2.6.x' into 2.7.x
Closes gh-31777
2 years ago
Johnny Lim f591c75ad7 Disable incompatible tests on macOS AArch64
This commit also updates related test support classes.

See gh-31539
2 years ago
Andy Wilkinson 9c250cae92 Merge branch '2.6.x' into 2.7.x
Closes gh-31754
2 years ago
Andy Wilkinson 8c4708982b Test our Gradle plugin against 7.5
Closes gh-31753
2 years ago
Scott Frederick e24c49a09a Merge branch '2.6.x' into 2.7.x
Closes gh-31558
2 years ago
Scott Frederick 17bdc526f6 Avoid adding layers for buildpacks that exist in the builder
This commit adds validation of any buildpacks that are specified for
image building to match them against buildpacks that are bundled in
the builder. If an image buildpack's ID, version, and one layer
hash match the same information stored in a label on the builder
image, that buildpack won't be added and the buildpack bundled in
the builder will be used instead. This reduces the chance of adding to
the total count of layers in a builder image unnecessarily.

Fixes gh-31233
2 years ago
Andy Wilkinson dfb8979456 Merge branch '2.6.x' into 2.7.x 2 years ago
Andy Wilkinson c87340e5c1 Remove unnecessary throws 2 years ago
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2 years ago
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2 years ago
Stephane Nicoll e967d0383b Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 79d3e3080f Polish 2 years ago
Phillip Webb 13b2de3bb8 Merge branch '2.6.x' into 2.7.x
Closes gh-31484
2 years ago
Phillip Webb 7fc9debf2a Consider super classes when detecting nested property classes
Update `PropertyDescriptor.isParentTheSame` to consider the candidate
as well as all super classes.

Fixes gh-21626
2 years ago
Phillip Webb 7c91ebb1b0 Merge branch '2.6.x' into 2.7.x
Closes gh-31408
2 years ago
Phillip Webb ae6311ddda Prevent Logback from accidentally being used in Log4J2LoggingSystemTests
Update `Log4J2LoggingSystemTests` to exclude Logback and include
'log4j-slf4j-impl'. The `ModifiedClassPathClassLoader` has also been
updated so that it no longer automatically excludes `log4j` artifacts,
instead we now use `@ClassPathExclusions` on the relevant tests.

Fixes gh-19365
2 years ago
Andy Wilkinson 5e1cd28d3f Merge branch '2.6.x' into 2.7.x
Closes gh-31402
2 years ago
Lars Grefer e8a1a0399a Upgrade to Bouncycastle 1.71
Closes gh-31400
2 years ago
Phillip Webb bcbcc53a09 Merge branch '2.6.x' into 2.7.x
Closes gh-31395
2 years ago
Phillip Webb b42f056ddb Don't close jar files early
Update `JarFile` and related classes so that `close()` is not longer
called early.

Prior to this commit, we would always immediately close the underlying
jar file to prevent file locking issues with our build. This causes
issues on certain JVMs when they attempt to verify a signed jar.

The file lock issues have now been solved by returning a custom input
stream from `JarUrlConnection` which captures and delegates the close
method.

Fixes gh-29356
2 years ago
Stephane Nicoll 499f54a335 Merge branch '2.6.x' into 2.7.x
Closes gh-31362
2 years ago
Lars Grefer 8c9557f552 Enable Links for the Javadoc of the Gradle Plugins
See gh-31279
2 years ago
Stephane Nicoll 8e550933a8 Merge branch '2.6.x' into 2.7.x
Closes gh-31261
2 years ago
Stephane Nicoll bbb5966bca Upgrade integration tests to Apache Maven 3.8.5
Closes gh-31260
2 years ago
Andy Wilkinson 430040415b Merge branch '2.6.x' into 2.7.x 3 years ago
Andy Wilkinson 0b6c147a87 Polish 3 years ago
Andy Wilkinson d1420b6abb Merge branch '2.6.x' into 2.7.x
Closes gh-31213
3 years ago
Andy Wilkinson da8dafe138 Make afterResolve hook used by bootJar and bootWar more robust
Previously, ResolvedDependencies used hasError on
ResolvedConfiguration to check that it was safe to work with all
of the resolved configuration's artifacts and their files. This
check is not sufficient as errors can still occur later on.

This commit updates ResolvedDependencies to use a lenient
configuration, thereby avoiding any problems that may be caused by
errors that occur after the hasError check.

Closes gh-30586
3 years ago
Andy Wilkinson 682ac53f32 Ensure that config processor runs with only AutoConfiguration
Fixes gh-31186
3 years ago
Andy Wilkinson 137318a845 Merge branch '2.6.x' into 2.7.x
Closes gh-31180
3 years ago
Damiano Albani 3f91ed037f Fix Custom Layers Configuration section title in Maven plugin docs
See gh-31172
3 years ago
Andy Wilkinson 935d1264e0 Merge branch '2.6.x' into 2.7.x 3 years ago
Andy Wilkinson 3d203d0215 Polish 3 years ago
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
3 years ago
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
3 years ago
Andy Wilkinson b3a4982f31 Merge branch '2.6.x' into 2.7.x
Closes gh-31174
3 years ago
Andy Wilkinson cbf42dea14 Update deprecation messages to change removal version from 2.8 to 3.0
Closes gh-30903
3 years ago
Andy Wilkinson e617035dba Merge branch '2.6.x' into 2.7.x
Closes gh-31167
3 years ago
Andy Wilkinson 3e7bd582a3 Upgrade to Spring Java Format 0.0.33
Closes gh-31166
3 years ago
Phillip Webb 06679a4c46 Merge branch '2.6.x' into 2.7.x
Closes gh-31128
3 years ago
Phillip Webb 9fa33e5645 Merge branch '2.5.x' into 2.6.x
Closes gh-31127
3 years ago
Phillip Webb 05a6447a8d Polish "Resolve errors in layers.xsd"
Validate loaded `layer.xml` files against the XSD and additionally
update `<layers>` sub elements to have a 'minOccurs' of 0.

See gh-31126
3 years ago
Liuzh 0d78323b60 Resolve errors in layers.xsd
Update `layer-*.xsd` files with following fixes:

- Rename <includeProjectDependencies> to <includeModuleDependencies>
- Rename <excludeProjectDependencies> to <excludeModuleDependencies>

See gh-31126
3 years ago
Phillip Webb ea41e89c6c Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 7d2f1bafc0 Update copyright year of changed files 3 years ago
Phillip Webb d5d5997be7 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 99f5c781a5 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 350d27fe50 Polish code to use method references when possible 3 years ago
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
3 years ago
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
3 years ago
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
3 years ago
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
3 years ago
Andy Wilkinson 56690a7eb9 Merge branch '2.6.x' into 2.7.x
Closes gh-30791
3 years ago
Andy Wilkinson 409ec48e2a Merge branch '2.5.x' into 2.6.x
Closes gh-30790
3 years ago
Andy Wilkinson 193ef9a06d Package META-INF/services/ files beneath BOOT-INF/classes/
Closes gh-30413
3 years ago
Phillip Webb dd5696b59b Update copyright year of changed files 3 years ago
izeye ed412af138 Polish
See gh-30695
3 years ago
Andy Wilkinson 74494f1d37 Merge branch '2.6.x' into 2.7.x
Closes gh-30671
3 years ago
Andy Wilkinson 1720290234 Merge branch '2.5.x' into 2.6.x
Closes gh-30670
3 years ago
Andy Wilkinson f7d181e65b Handle null additional properties more gracefully
Closes gh-30654
3 years ago
Scott Frederick f032690d0a Add support for CNB platform API 0.9
Fixes gh-30566
3 years ago
Scott Frederick ef79a18514 Use provided scope for Maven core dependencies in Maven plugin
Fixes gh-29520
3 years ago
Stephane Nicoll 2a2c4be809 Merge branch '2.6.x' into 2.7.x
Closes gh-30510
3 years ago
Stephane Nicoll b2a4ae38e8 Merge branch '2.5.x' into 2.6.x
Closes gh-30509
3 years ago
izeye 40d0e38e76 Test Spring Boot Gradle Plugin against Gradle 7.4.2
See gh-30506
3 years ago
Stephane Nicoll 2c5398898b Polish "Deprecate running an application in the Maven JVM"
See gh-30479
3 years ago
Stephane Nicoll 09696c90c7 Deprecate running an application in the Maven JVM
This commit deprecates the "fork" property so that the application
always runs in a dedicated process. This aligns with the behaviour of
the Gradle plugin, and simplifies the lifecycle of certain features that
would not work in a non-forked process.

Closes gh-30479
3 years ago
Andy Wilkinson 4722d9d17e Merge branch '2.6.x' into 2.7.x
Closes gh-30470
3 years ago
Andy Wilkinson 880d33f391 Merge branch '2.5.x' into 2.6.x
Closes gh-30469
3 years ago
Andy Wilkinson 05b7befc7a Fix javadoc of ResolveMainClassName setClasspath(Object)
Closes gh-30468
3 years ago
Andy Wilkinson 2f3ae02385 Merge branch '2.6.x' into 2.7.x
Closes gh-30466
3 years ago
Andy Wilkinson 8f985474a6 Merge branch '2.5.x' into 2.6.x
Closes gh-30465
3 years ago
Andy Wilkinson d574563616 Document @ConstructorBinding and @DefaultValue with records
Closes gh-30460
3 years ago
Andy Wilkinson b4cbcd797e Merge branch '2.6.x' into 2.7.x
Closes gh-30218
3 years ago
Andy Wilkinson c4d2602a3e Merge branch '2.5.x' into 2.6.x
Closes gh-30217
3 years ago
Octavia Togami 264a6888a9 Refactor code to avoid using internal LazyPublishArtifact
See gh-30209
3 years ago
Andy Wilkinson 4935c11a07 Merge branch '2.6.x' into 2.7.x
Closes gh-30215
3 years ago
Andy Wilkinson 464fce621d Merge branch '2.5.x' into 2.6.x
Closes gh-30213
3 years ago
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
3 years ago
Scott Frederick de321b00b7 Support podman for building images
Closes gh-30196
3 years ago
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
3 years ago
Scott Frederick 93622d18eb Merge branch '2.6.x' into 2.7.x
Closes gh-30195
3 years ago
Scott Frederick 35a9a7fee2 Ignore deprecation warnings in Paketo system tests
Closes gh-30194
3 years ago
Andy Wilkinson 2600bf4719 Merge branch '2.6.x' into 2.7.x
Closes gh-30142
3 years ago
Andy Wilkinson 382c6972ec Merge branch '2.5.x' into 2.6.x
Closes gh-30141
3 years ago
Andy Wilkinson 5264fb3d1e Test our Gradle Plugin against Gradle 7.4.1
Closes gh-30139
3 years ago
Andy Wilkinson 83de1995c7 Merge branch '2.6.x' into 2.7.x
Closes gh-30130
3 years ago
Andy Wilkinson b0e4cabdd8 Merge branch '2.5.x' into 2.6.x
Closes gh-30123
3 years ago
Andy Wilkinson 20d21d4e58 Set up CI with JDK 18
Closes gh-30104
3 years ago
Madhura Bhave 9628507756 Merge branch '2.6.x' into 2.7.x
Closes gh-30094
3 years ago
Madhura Bhave d131003456 Merge branch '2.5.x' into 2.6.x
Closes gh-30093
3 years ago
Madhura Bhave 480ccc6175 Clarify devtools documentation when using with build plugins
Closes gh-17851
3 years ago
Moritz Halbritter d95dc75de9 Merge branch '2.6.x' into 2.7.x 3 years ago
Moritz Halbritter e980a53399 Merge branch '2.5.x' into 2.6.x 3 years ago
Moritz Halbritter f3eb90046f Remove @Repeatable support for @DisabledOnOs
We'll add it back again when we need it, and delay the naming issue.

See gh-30082
3 years ago
Moritz Halbritter 50d766020c Merge branch '2.6.x' into 2.7.x
Closes gh-30084
3 years ago
Moritz Halbritter 564555347f Merge branch '2.5.x' into 2.6.x
Closes gh-30083
3 years ago
Moritz Halbritter be38311c5d Disable incompatible tests on Linux AArch64
- Adds a new @DisableOnOs annotation, which is inspired from JUnit5s
  @DisableOnOs annotation. This new annotation supports the architecture
  and is repeatable

Closes gh-30082
3 years ago
Andy Wilkinson 4459fb46be Merge branch '2.6.x' into 2.7.x
Closes gh-30058
3 years ago
Andy Wilkinson 2ba8b490a0 Merge branch '2.5.x' into 2.6.x
Closes gh-30057
3 years ago
Andy Wilkinson e7566e968e Use configuration avoidance APIs in Gradle plugin's docs
Closes gh-30056
3 years ago
Andy Wilkinson b89c29f29c Merge branch '2.6.x' into 2.7.x
Closes gh-30037
3 years ago
Andy Wilkinson ea729fc1c6 Merge branch '2.5.x' into 2.6.x
Closes gh-30036
3 years ago
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
3 years ago
Andy Wilkinson 07b87668a4 Merge branch '2.6.x' into 2.7.x
Closes gh-30023
3 years ago
Andy Wilkinson 3630952f7b Merge branch '2.5.x' into 2.6.x
Closes gh-30022
3 years ago
Andy Wilkinson a265f150ac Improve parsing of numeric default values
Previously, all integral numbers were parsed as integers. This
caused two problems:

1. Compilation would fail if the default value for a long wasn't a
   valid integer.
2. The default value for a byte or short could be out of range,
   resulting in the generation of invalid metadata and an error
   that could have been caught at compile time not being caught
   until runtime.

This commit updates the parsing of all numeric values to use the
parse method of the target primitive type. For example,
Short.parseShort(String) is now used to parse a short.

Fixes gh-30020
3 years ago
Phillip Webb 9f00c3acf5 Polish 3 years ago
Phillip Webb adfaa8f778 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 1a3841f74e Polish 3 years ago
Scott Frederick ee4e7bb923 Merge branch '2.6.x' into 2.7.x
Closes gh-29982
3 years ago
Scott Frederick 59ffe28639 Ignore buildpack deprecation warnings in Paketo system tests
Fixes gh-29885
3 years ago
Moritz Halbritter fd36215d72 Omit empty values for AutoConfigureAfter and AutoConfigureBefore
As @AutoConfiguration is now meta-annotated with @AutoConfigureAfter
and @AutoConfigureBefore, the generated property files have a lot of
superfluous lines in the format <class>.AutoConfigureAfter= and
<class>.AutoConfigureBefore=.

One can now configure in the annotation processor for each property key
if empty values should be omitted. This is currently only activated for
AutoConfigureAfter and AutoConfigureBefore

See gh-29907
3 years ago
Moritz Halbritter 7872f61bfc Add @AutoConfiguration annotation support to the autoconfigure-processor
See gh-29907
3 years ago
Andy Wilkinson 1ae46dee6d Merge branch '2.6.x' into 2.7.x
Closes gh-29967
3 years ago
Andy Wilkinson 4f8a18fa0a Merge branch '2.5.x' into 2.6.x
Closes gh-29966
3 years ago
Andy Wilkinson 9c9e04b8e4 Use mainClass rather than deprecated main in BootRun examples
Closes gh-29965
3 years ago
Phillip Webb 26512f8ac6 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 5b4ec32645 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb c86b1330cf Update copyright year of changed files 3 years ago
Phillip Webb 9ab1b669d0 Polish 3 years ago
Andy Wilkinson ba73436ea8 Merge branch '2.6.x' into 2.7.x
Closes gh-29881
3 years ago
Andy Wilkinson 86c75b7a5c Merge branch '2.5.x' into 2.6.x
Closes gh-29880
3 years ago
Andy Wilkinson 03352b0a8c Prohibit use of APIs that prevent task configuration avoidance
Closes gh-29809
3 years ago
Andy Wilkinson 8e4484acea Merge branch '2.6.x' into 2.7.x
Closes gh-29878
3 years ago
Andy Wilkinson ce4beae12f Merge branch '2.5.x' into 2.6.x
Closes gh-29877
3 years ago
izeye 6bd6f590d3 Fix Javadoc since for ResolveMainClassName#setClasspath(Object)
See gh-29826
3 years ago
Andy Wilkinson a513dbb797 Merge branch '2.6.x' into 2.7.x
Closes gh-29818
3 years ago
Andy Wilkinson f134358c78 Merge branch '2.5.x' into 2.6.x
Closes gh-29817
3 years ago
Andy Wilkinson c84b35c460 Polish "Avoid using Gradle APIs that trigger eager task creation"
See gh-29762
3 years ago
Lars Grefer 7cd87acd73 Avoid using Gradle APIs that trigger eager task creation
See gh-29762
3 years ago