Commit Graph

2594 Commits (99c7257b6cd078c8cefef96bbb348a1a2c992ffc)

Author SHA1 Message Date
Andy Wilkinson 836b08f49d Merge branch '2.7.x' 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 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
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 03b742c655 Merge branch '2.7.x' 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 e77f137a32 Merge branch '2.7.x'
Closes gh-31485
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
dreis2211 cc91009b70 Use java.util.HexFormat where appropriate
See gh-31477
2 years ago
dreis2211 5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2 years ago
dreis2211 fb45fc4819 Use Files.writeString() and Files.readString() where possible
See gh-31459
2 years ago
dreis2211 b687e1c7ee Use Runtime.version() instead of reflection
See gh-31444
2 years ago
dreis2211 a639685053 Remove obsolete Java compatibility code
See gh-31452
2 years ago
Johnny Lim 5d7d0d8047 Use 3.0.0 for Javadoc since tags
See gh-31448
2 years ago
Phillip Webb 657fa3e64e Merge branch '2.7.x'
Closes gh-31409
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 4f3180540c Use Framework's MockSpringFactoriesLoader
Closes gh-31406
2 years ago
Andy Wilkinson d370d19e7a Merge branch '2.7.x'
Closes gh-31403
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 d84557f1f9 Merge branch '2.7.x'
Closes gh-31396
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 d5695c1931 Add resource hints for configuration properties
This commits introduces a RuntimeHintsRegistrar for configuration
properties. By default, it provides the necessary hint to load
application properties and yaml files in default locations.

Closes gh-31311
2 years ago
Stephane Nicoll 99f71941cd Merge branch '2.7.x'
Closes gh-31363
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 e2c42e4bbf Merge branch '2.7.x'
Closes gh-31262
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
Stephane Nicoll 1c94f835c7 Copy AOT-generated classes
Closes gh-31245
2 years ago
Stephane Nicoll 0dbcb5f6d3 Start building against Spring Framework 6.0.0-M5 snapshots
See gh-31241
2 years ago
Andy Wilkinson 1ba1eff63a Merge branch '2.7.x' 3 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 12465ea6b7 Merge branch '2.7.x'
Closes gh-31214
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 d354c03e63 Merge branch '2.7.x'
Closes gh-31191
3 years ago
Andy Wilkinson 682ac53f32 Ensure that config processor runs with only AutoConfiguration
Fixes gh-31186
3 years ago
Andy Wilkinson 36a60d8e2e Merge branch '2.7.x'
Closes gh-31181
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 4bb5ba2bd0 Merge branch '2.7.x' 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 14af1bb2dc Polish 3 years ago
Andy Wilkinson 26b89bfc80 Remove redundant throws declarations from public APIs
Closes gh-31179
3 years ago
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
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 003f747e77 Merge branch '2.7.x'
Closes gh-31170
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 68bd9d6b6d Merge branch '2.7.x' 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
Andy Wilkinson c4beca3e01 Fix Maven-based AOT generation on Windows
Closes gh-30525
3 years ago
Phillip Webb f8a41d34aa Merge branch '2.7.x' 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 06f8041e4d Merge branch '2.7.x' 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 bcc27c5d22 Deleting existing output before running AOT processing
Closes gh-30981
3 years ago
Andy Wilkinson 08768b5821 Join compile classpath using system-dependent separator
See gh-30525
3 years ago
Andy Wilkinson 6c4fedb4a4 Revert "Logback 1.3 and SLF4J 2.0"
This reverts commit f39a080a0e that was
pushed prematurely.
3 years ago
Andy Wilkinson f39a080a0e Logback 1.3 and SLF4J 2.0 3 years ago
Andy Wilkinson 0ce6e437a9 Align AotGenerateTests with spring.factories changes in Framework 3 years ago
Andy Wilkinson 770cb840c3 Use more flexible SpringFactoriesLoader
Closes gh-30235

Co-authored-by: Madhura Bhave <bhavem@vmware.com>
Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
3 years ago
Andy Wilkinson 293a3c9ec1 Fix arguments passed to AOT processing in Gradle plugin
See gh-30527
3 years ago
Phillip Webb 8cf63a28b8 Update AOT work to latest Framework code 3 years ago
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 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 fcf45d5c22 Add support for invoking AOT to the Gradle plugin
Closes gh-30527
3 years ago
Stephane Nicoll e81c6337c6 Add support for invoking AOT to the Maven Plugin
This commit adds an `aot-generate` goal to the Maven Plugin that
triggers AOT generation on the application. The new goal shares a
number of properties with the existing `run` goal and uses the same
algorithm to detect the main class to use.

Closes gh-30525
3 years ago
Andy Wilkinson eacd8c04a5 Merge branch '2.7.x' 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 7a6ca8ce25 Merge branch '2.7.x' 3 years ago
Phillip Webb dd5696b59b Update copyright year of changed files 3 years ago
Stephane Nicoll a4cccc98c6 Merge branch '2.7.x' 3 years ago
izeye ed412af138 Polish
See gh-30695
3 years ago
dreis2211 a63e730136 Remove unused private methods
See gh-30655
3 years ago
Andy Wilkinson 7e97073994 Merge branch '2.7.x' 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 9aff0a998f Merge branch '2.7.x' 3 years ago
Scott Frederick f032690d0a Add support for CNB platform API 0.9
Fixes gh-30566
3 years ago
Scott Frederick e32511516e Merge branch '2.7.x' 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 5f66019706 Remove the ability to run an application in the Maven process
Closes gh-30501
3 years ago
Stephane Nicoll 13c9c1adb5 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 2c5398898b Polish "Deprecate running an application in the Maven JVM"
See gh-30479
3 years ago
Stephane Nicoll c21b4a5280 Merge branch '2.7.x' 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 42ae55895d Simplify resolution of the application's main class name
Closes gh-30467
3 years ago
Andy Wilkinson fbb060e0fe Polish
See 5d8c1d9bd7.
3 years ago
Andy Wilkinson d9c2e7c85a Merge branch '2.7.x' 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 5d8c1d9bd7 Merge branch '2.7.x' 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 98678ed415 Merge branch '2.7.x' 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 9bf77b1a06 Merge branch '2.7.x' 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 377b13c048 Merge branch '2.7.x' 3 years ago
Scott Frederick de321b00b7 Support podman for building images
Closes gh-30196
3 years ago
Scott Frederick 5e07db7d21 Merge branch '2.7.x' 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 040afdeafe Merge branch '2.7.x' 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 e9d2ec507e Merge branch '2.7.x' 3 years ago
Andy Wilkinson d552f49128 Merge branch '2.7.x' 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 5960d2dba1 Merge branch '2.7.x' into main 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 24a68fc595 Merge branch '2.7.x' 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 74fe5735d9 Polish 3 years ago
Moritz Halbritter a1b1377733 Merge branch '2.7.x' 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 5ee3fdab77 Polish "Allow @DefaultValue to be used on record components"
See gh-29010
3 years ago
Pavel Anisimov 976ed90cd7 Allow @DefaultValue to be used on record components
See gh-29010
3 years ago
Andy Wilkinson e2d0b348e3 Merge branch '2.7.x' 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 a5ec85bede Merge branch '2.7.x' 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 89b2015adf Merge branch '2.7.x' 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 5454e2e26a Merge branch '2.7.x' 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 df549190b5 Merge branch '2.7.x' 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 54f1058d63 Merge branch '2.7.x' 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 6051a10d4a Merge branch '2.7.x' 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 ff4b92a3ba Update copyright year of changed files 3 years ago
Phillip Webb f4b849ec95 Merge branch '2.7.x' 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
Madhura Bhave bf1ed5f2f8 Update copyright header on changed files 3 years ago
Madhura Bhave 44b88cc88c Allow @ConstructorBinding to be optional
This commit makes @ConstructorBinding optional for a type
that has a single parameterized constructor. An @Autowired annotation
on any of the constructors indicates that the type should not be constructor
bound.

Since @ConstructorBinding is now deduced for a single parameterized constructor,
the annotation is no longer needed at the type level.

Closes gh-23216
3 years ago
Andy Wilkinson d62d5a09a1 Merge branch '2.7.x' 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 d7fa2e2e8f Merge branch '2.7.x' 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 9808e80ab4 Merge branch '2.7.x' 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
Andy Wilkinson e52a5490bf Merge branch '2.7.x' 3 years ago
Andy Wilkinson 25e75c60ee Merge branch '2.6.x' into 2.7.x
Closes gh-29806
3 years ago
Andy Wilkinson 85d14cdb2c Merge branch '2.5.x' into 2.6.x
Closes gh-29805
3 years ago
Andy Wilkinson 1fd4a4d86b Remove code related to unsupported versions of Gradle
Closes gh-29681
3 years ago
Scott Frederick 85ea6a1b8f Merge branch '2.7.x' into main 3 years ago
Scott Frederick db6ef0e802 Exclude duplicate properties file when building a jar from jars
See gh-29670 and gh-23955
3 years ago
Andy Wilkinson 68bdef2cd0 Merge branch '2.7.x' 3 years ago
Andy Wilkinson da61545925 Merge branch '2.6.x' into 2.7.x
Closes gh-29749
3 years ago
Andy Wilkinson 646bb05c8d Merge branch '2.5.x' into 2.6.x
Closes gh-29748
3 years ago
Andy Wilkinson c3eee4ad68 Align Gradle's plugin's META-INF repackaging with Maven plugin's
Closes gh-28562
3 years ago
Andy Wilkinson fc23310144 Merge branch '2.6.x' into 2.7.x
Closes gh-29734
3 years ago
Andy Wilkinson d6ebce4ccf Merge branch '2.5.x' into 2.6.x
Closes gh-29733
3 years ago
Andy Wilkinson 6901f6dab2 Test our Gradle plugin against Gradle 7.4
Closes gh-29673
3 years ago
Andy Wilkinson 52ed7f74a0 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 4f724f14d3 Polish "Override available() in RandomAccessDataFile's InputStream"
See gh-29295
3 years ago
Gnaily 49bf620f4b Override available() in RandomAccessDataFile's InputStream
See gh-29295
3 years ago
Andy Wilkinson 067a8dd3ec Raise the minimum supported version of Gradle to 7.4
Closes gh-29674
3 years ago
Moritz Halbritter 7c99fbc785 Merge branch '2.7.x' 3 years ago
Moritz Halbritter 94d095ce1a Merge branch '2.6.x' into 2.7.x
Closes gh-29692
3 years ago
Moritz Halbritter 079ea41d6d Merge branch '2.5.x' into 2.6.x
Closes gh-29691
3 years ago
Moritz Halbritter 262db65a38 Ignore invalid stream types when reading log update events
See gh-29675
3 years ago
Andy Wilkinson 01cc07978b Merge branch '2.7.x' 3 years ago
Andy Wilkinson 665e1f665e Merge branch '2.6.x' into 2.7.x
Closes gh-29688
3 years ago
Andy Wilkinson b46eba16e6 Merge branch '2.5.x' into 2.6.x
Closes gh-29687
3 years ago
Andy Wilkinson 48fe1513fe Test documented build script snippets when they change
Closes gh-29684
3 years ago
Andy Wilkinson 41d49717af Merge branch '2.7.x' 3 years ago
Andy Wilkinson 1e16c2f229 Merge branch '2.6.x' into 2.7.x
Closes gh-29686
3 years ago
Andy Wilkinson c0664efa86 Merge branch '2.5.x' into 2.6.x
Closes gh-29685
3 years ago
Mike Partridge 2e9dcdd96d Replace use of classifier with archiveClassifier
classifier has been deprecated so the docs should be using its
replacement, archiveClassifier, instead.

See gh-29611
3 years ago
Andy Wilkinson 96118c88db Merge branch '2.7.x' 3 years ago
Andy Wilkinson 41863d4b80 Merge branch '2.6.x' into 2.7.x
Closes gh-29680
3 years ago
Andy Wilkinson 358cdb33f7 Merge branch '2.5.x' into 2.6.x
Closes gh-29679
3 years ago
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
3 years ago
Phillip Webb 501d174db0 Merge branch '2.7.x' 3 years ago
Phillip Webb ce08b519b1 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 50e0e28155 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 2b40ce09d8 Update copyright year of changed files 3 years ago
Stephane Nicoll 41fb9cf562 Merge branch '2.7.x' 3 years ago
Stephane Nicoll f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
3 years ago
Stephane Nicoll 136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
3 years ago
Stephane Nicoll 7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
3 years ago
Yanming Zhou b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
3 years ago
Andy Wilkinson f2ac7d10ef Merge branch '2.7.x' 3 years ago
Andy Wilkinson 8480abca20 Merge branch '2.6.x' into 2.7.x
Closes gh-29561
3 years ago
Andy Wilkinson fe43d527b5 Merge branch '2.5.x' into 2.6.x
Closes gh-29560
3 years ago
Andy Wilkinson 3ed65f2383 Avoid running Maven plugin ITs for each s-b-dependencies change
Closes gh-28781
3 years ago
Scott Frederick 4494d3a805 Merge branch '2.7.x' into main 3 years ago
Scott Frederick 698eb94913 Merge branch '2.6.x' into 2.7.x
Closes gh-29554
3 years ago
Scott Frederick 909ef6d635 Merge branch '2.5.x' into 2.6.x
Closes gh-29553
3 years ago
Scott Frederick 000cbfa2d9 Set file permissions on all created test files
Closes gh-29551
3 years ago
Andy Wilkinson de3b9a4910 Remove code deprecated for removal in 2.x
Closes gh-29482
3 years ago
Phillip Webb 1b7db2750d Merge branch '2.7.x'
Closes gh-29373
3 years ago
Phillip Webb e1c84e2972 Merge branch '2.6.x' into 2.7.x
Closes gh-29372
3 years ago
Phillip Webb 72696cdb0f Merge branch '2.5.x' into 2.6.x
Closes gh-29371
3 years ago
Phillip Webb 9cf55808fb Ensure run user actually exists
Update `launch.script` so that the `run_user` variable is only set when
the user actually exists. Prior to this commit, if the jar file was
owned by a non-existing user the startup script could fail.

Fixes gh-29370
3 years ago
Stephane Nicoll cad11addb2 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 980aa616c8 Fix build failure
See gh-29290
3 years ago
Stephane Nicoll 11e604af41 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 9821cdfd8b Remove deprecated code
Closes gh-29290
3 years ago
Andy Wilkinson ccc924b908 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 508d0af453 Merge branch '2.6.x' into 2.7.x
Closes gh-29269
3 years ago
Andy Wilkinson a6d8ff4677 Merge branch '2.5.x' into 2.6.x
Closes gh-29268
3 years ago
Andy Wilkinson 41b01cc289 Only write parent entries when entry is new
Previously, when writing a repackaged jar, an attempt to write all of
an entry's parent directories would always be made, irrespective of
whether or not the entry itself had already been written. This was
inefficient as, due to the way that the jar is written, once an entry
itself has been written, we know that all of its parent directories
will also have been written.

This commit updates the jar writer so that no attempt is made to
write parent directory entries if the entry itself has already been
written.

Fixes gh-29175
3 years ago
Stephane Nicoll eb81cbf053 Merge branch '2.6.x' into 2.7.x
Closes gh-29173
3 years ago
Stephane Nicoll 8ee0640cc0 Merge branch '2.5.x' into 2.6.x
Closes gh-29172
3 years ago
izeye 9a6c1c531d Test our Gradle plugin against Gradle 7.3.3
See gh-29161
3 years ago
Stephane Nicoll a05714ad9f Merge branch '2.6.x' into 2.7.x
Closes gh-29097
3 years ago
Stephane Nicoll 10362a9315 Merge branch '2.5.x' into 2.6.x
Closes gh-29096
3 years ago
Stephane Nicoll 8c9d398422 Test our Gradle plugin against Gradle 7.3.2
Closes gh-29093
3 years ago
Phillip Webb 003fb229fd Merge branch '2.7.x' 3 years ago
Phillip Webb f3bcbca841 Update copyright year of changed files 3 years ago
Stephane Nicoll 50c15769ff Merge branch '2.7.x' 3 years ago
Stephane Nicoll 5383de4fe1 Merge branch '2.6.x' into 2.7.x 3 years ago
Stephane Nicoll 32ecbb89d6 Merge branch '2.5.x' into 2.6.x 3 years ago
Stephane Nicoll 496cd3d2ba Polish
See gh-28999
3 years ago
Scott Frederick c78b157e95 Merge branch '2.7.x' 3 years ago
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
3 years ago
Scott Frederick 2b7a034776 Merge branch '2.7.x' 3 years ago
Scott Frederick 3cb30cb283 Merge branch '2.6.x' into 2.7.x
Closes gh-28923
3 years ago
Scott Frederick 3555837845 Merge branch '2.5.x' into 2.6.x
Closes gh-28922
3 years ago
Scott Frederick b0b2cd79b4 Use latest buildpack image tag when no tag is provided
Fixes gh-28921
3 years ago
Scott Frederick 16f54d2c5c Merge branch '2.7.x' 3 years ago
Scott Frederick 61fb9f83df Merge branch '2.6.x' into 2.7.x
Closes gh-28905
3 years ago
Scott Frederick ab0cc55e20 Merge branch '2.5.x' into 2.6.x
Closes gh-28904
3 years ago
Scott Frederick 467c092fdc Remove classpath index manifest attribute from repackaged war files
Fixes gh-28895
3 years ago
Andy Wilkinson a3ecdcf058 Merge branch '2.6.x' into 2.7.x
Closes gh-28892
3 years ago
Andy Wilkinson 4606e17696 Merge branch '2.5.x' into 2.6.x
Closes gh-28891
3 years ago
Andy Wilkinson af60a8a7cf Test our Gradle plugin against Gradle 7.3.1
Closes gh-28890
3 years ago
Scott Frederick 1f838bf2ee Merge branch '2.7.x' 3 years ago
Scott Frederick 5f14cffea3 Add support for CNB platform API 0.5 through 0.8
Fixes gh-28850
3 years ago
Andy Wilkinson fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
3 years ago
Andy Wilkinson 900085628a Raise the minimum supported version of Java to 17
Closes gh-28101
3 years ago
Andy Wilkinson 99f33ede14 Remove SecurityManager support
Closes gh-28213
3 years ago
Andy Wilkinson 814c86c5e8 Raise the minimum supported version of Gradle to 7.3
Closes gh-28100
3 years ago
Andy Wilkinson e06b0d97f7 Update main branch to start work on 3.0.x 3 years ago
Andy Wilkinson 86a773a8e9 Update main branch to start work on 2.7.x 3 years ago
Andy Wilkinson 4bd86a6e20 Allow spring-boot-image-tests to run without an existing snapshot
Closes gh-28817
3 years ago
Phillip Webb beb68671bb Update copyright year of changed files 3 years ago
Andy Wilkinson 0074d621d0 Merge branch '2.5.x'
Closes gh-28754
3 years ago
Andy Wilkinson 015cf920da Name custom task inputs
Closes gh-28753
3 years ago
Andy Wilkinson 258222781a Merge branch '2.5.x'
Closes gh-28752
3 years ago
Andy Wilkinson 96d98a0f6f Declare dir task inputs with relative path sensitivity
Closes gh-28751
3 years ago
Andy Wilkinson c0d90dfa8f Merge branch '2.5.x'
Closes gh-28749
3 years ago
Andy Wilkinson c083e0b049 Avoid using temp before @TempDir has initialized it
Closes gh-28748
3 years ago
Andy Wilkinson a1e7375fc0 Polish 3 years ago
Andy Wilkinson 2d7e0314f3 Merge branch '2.5.x'
# Conflicts:
#	spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleCompatibilityExtension.java
#	spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java
3 years ago
Andy Wilkinson 0aae9c26da Test our Gradle plugin against Gradle 7.3
Closes gh-28679
3 years ago
Andy Wilkinson b1ff60c728 Merge branch '2.5.x'
Closes gh-28681
3 years ago
Andy Wilkinson 4cfbc0db36 Merge branch '2.4.x' into 2.5.x
Closes gh-28680
3 years ago
Leo Li 9de9983e25 Fix @deprecated and @see in Archive's javadoc
See gh-28677
3 years ago
Andy Wilkinson 2a342ef416 Merge branch '2.5.x'
Closes gh-28662
3 years ago
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
3 years ago
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
3 years ago
Stephane Nicoll 98d3e99ac9 Merge branch '2.5.x'
Closes gh-28550
3 years ago
Stephane Nicoll 91f7ff3ba3 Merge branch '2.4.x' into 2.5.x
Closes gh-28549
3 years ago
Stephane Nicoll 188278ae4a Polish "Fix typo"
See gh-28548
3 years ago
slowjoe007 5a121197fc Fix typo
See gh-28548
3 years ago
Stephane Nicoll 9241f228d5 Add .gitattributes
Closes gh-28474
3 years ago
Stephane Nicoll 66553ac8c7 Add .gitattributes
Closes gh-28473
3 years ago
Stephane Nicoll 1b3f52d609 Harmonize line endings
See gh-27615
3 years ago
Andy Wilkinson 24ef4e6fb9 Merge branch '2.5.x'
Closes gh-28471
3 years ago
Andy Wilkinson 7fbbb4e08a Merge branch '2.4.x' into 2.5.x
Closes gh-28470
3 years ago
Andy Wilkinson 72f80f3ae6 Upgrade to Testcontainers 1.16.1
Closes gh-28468
3 years ago
Scott Frederick e84c1abb0f Prevent Docker volume name clashes in tests during parallel builds
See gh-28292
3 years ago
Phillip Webb e25f216eab Merge branch '2.5.x'
Closes gh-28425
3 years ago
Phillip Webb daf36dff55 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
3 years ago
Phillip Webb 2f6651c3cb Don't use markdown syntax in javadoc or error messages
Closes gh-28408
3 years ago
Scott Frederick 871468931f Polish "Add option to customize cache volume names when building an image"
See gh-28292
3 years ago
Julian Liebig dc36346285 Add option to customize cache volume names when building an image
This commit adds configuration to the Maven and Gradle plugins to
allow specifying the names of build and launch cache volumes provided
to the CNB builder.

See gh-28292
3 years ago
Phillip Webb bcef8ee4c9 Merge branch '2.5.x'
Closes gh-28357
3 years ago
Phillip Webb a93304c973 Merge branch '2.4.x' into 2.5.x
Closes gh-28356
3 years ago
Phillip Webb 7388f2b60b Attempt to reduce JarFileWrapper heap consumption
Update `JarURLConnection` to use a single shared wrapper per
jar file rather than creating a new one each time. This update
should help to reduce GC pressure.

Fixes gh-28042
3 years ago
Phillip Webb f4bd8956af Polish "Allow build info properties to be excluded"
Update the Maven plugin to use an alternative syntax to exclude
the info properties and apply some minor polishing.

See gh-27412
3 years ago
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
3 years ago
Andy Wilkinson 9514a72d5a Test using an up-to-date version of Postgres
See gh-28296
3 years ago
Stephane Nicoll cc8d7fc605 Polish contribution
See gh-28239
3 years ago
Leo Li 1770f065a5 Polish
See gh-28239
3 years ago
Andy Wilkinson 48b1175559 Merge branch '2.5.x'
Closes gh-28263
3 years ago
Andy Wilkinson d47260637b Merge branch '2.4.x' into 2.5.x
Closes gh-28262
3 years ago
Andy Wilkinson c5d45585d9 Remove unnecessary overrides of finalize
Closes gh-28209
3 years ago
Andy Wilkinson 1a505964ee Merge branch '2.5.x'
Closes gh-28207
3 years ago
Andy Wilkinson 1931104d13 Merge branch '2.4.x' into 2.5.x
Closes gh-28206
3 years ago
Andy Wilkinson 9c9fbf400e Upgrade to Spring Java Format 0.0.29
Closes gh-28205
3 years ago
Andy Wilkinson 2b7645b806 Merge branch '2.5.x'
Closes gh-28191
3 years ago
Andy Wilkinson ff3eed73ee Merge branch '2.4.x' into 2.5.x
Closes gh-28190
3 years ago
Andy Wilkinson b7a2a2d5e0 Set last access and last modified times in layertools extract
Closes gh-28167
3 years ago
Vincent Ricard 873bca36c4 Replace latin locutions in the documentation
See gh-28141
3 years ago
Scott Frederick 64c49003aa Polish "Add option to create tags for a built image"
See gh-27613
3 years ago
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
3 years ago
Andy Wilkinson 0b5d178e5b Merge branch '2.5.x'
Closes gh-28120
3 years ago
Andy Wilkinson ef18a2166d Merge branch '2.4.x' into 2.5.x
Closes gh-28119
3 years ago
Andy Wilkinson 5957dfeea4 Don't include binary jars in loader-tools source jar
Closes gh-28113
3 years ago
Phillip Webb c9dc40a465 Merge branch '2.5.x' 3 years ago
Phillip Webb 40d65a74dc Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb ec12d51f30 Polish 3 years ago
Phillip Webb 55a1ec72cc Update copyright year of changed files 3 years ago
Phillip Webb 4c2c4ec16c Merge branch '2.5.x' 3 years ago
Phillip Webb 5ba69634c9 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb dfd36673f7 Update copyright year of changed files 3 years ago
Phillip Webb cfeafee826 Polish 3 years ago
dreis2211 cf0fcafd13 Polish
See gh-27940
3 years ago
Scott Frederick 96238ba8b7 Expose default value for imageName in bootBuildImage task
Fixes gh-28040
3 years ago
Scott Frederick a6d03279ca Merge branch '2.5.x'
Closes gh-27994
3 years ago
Scott Frederick a540da11ad Merge branch '2.4.x' into 2.5.x
Closes gh-27993
3 years ago
Scott Frederick c8ff874e91 Add builderFor label to ephemeral builder image
Adding a label to the ephemeral builder image cloned from the base
builder image eliminates contention between builds that are run
concurrently. Without this label, concurrent builds could result in
a race condition in the Docker daemon if the ephemeral builder image
shared by builds was deleted by both builds at exactly the same time.

Fixes gh-27888
3 years ago
Andy Wilkinson 7c034c33e2 Merge branch '2.5.x'
Closes gh-27967
3 years ago
Andy Wilkinson f530819d68 Merge branch '2.4.x' into 2.5.x
Closes gh-27966
3 years ago
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
3 years ago
Andy Wilkinson c65013f717 Merge branch '2.5.x'
Closes gh-27901
3 years ago
Andy Wilkinson 37240bda3f Merge branch '2.4.x' into 2.5.x
Closes gh-27900
3 years ago
Andy Wilkinson 47163af9b6 Fix handling of Zip64 jar files larger than 4,294,967,295 bytes
Previously, a Zip64 jar file was identified by the number of entries
in the central directory being 0xFFFF. This value indicates that
there the number of entries is too big for the 2-byte field. However,
a jar may be in Zip64 format due to it exceeding the Zip format's
maximum size rather than its maximum number of entries so this field
cannot be used as a reliable indicator. The Zip specification doesn't
require any of the fields of the end of central directory record to
have a value of 0xFFFF (2-byte fields) or 0xFFFFFFFF (4-byte fields)
when using Zip64 format so we need to take a different approach.

Additionally, a number of places in the code assumed that an entry's
offset would always be available from the central directory file
header directly. This assumption did not hold true when the jar was
a Zip64 archive due to its size as the offset's value would be
0xFFFFFFF indicating that it should be read from the Zip64 extended
information field within the header's extra field instead.

This commit updates the Zip64 detection to look for the Zip64 end of
central directory locator instead. If present, it begins 20 bytes
before the beginning of the end of central directory record. Its
first four bytes are always 0x07064b50. The code that reads the
local header offset has also been updated to refer to the Zip64
extended information field when the offset is too large to fit in
the 4-byte field in the central directory file header. To allow
greater-than-4-byte offsets to be handled, a number of fields,
method parameters, and local variables have had their type changed
from an int to a long.

Fixes gh-27822
3 years ago
Andy Wilkinson 8362ff9b54 Merge branch '2.5.x'
Closes gh-27886
3 years ago
Andy Wilkinson ba19577646 Merge branch '2.4.x' into 2.5.x
Closes gh-27885
3 years ago
Andy Wilkinson 93ac6455d3 Document that starter parent enables compilation with -parameters
Closes gh-27762
3 years ago
Scott Frederick f386ebe61d Remove tests that rely on an unpredictable order of repackaged libs
See gh-27436
3 years ago
Scott Frederick 40a9c4d90f Sort repackaged libraries in a reproducible Maven build
When a Maven build is configured to ensure reproducibility, any
libraries added to `BOOT-INF/lib` in a jar archive or to `WEB-INF/lib`
in a war archive by the Spring Boot plugin repackaging should be
sorted by name to ensure a stable and predictable order.

Fixes gh-27436
3 years ago
Andy Wilkinson fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
3 years ago
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
3 years ago
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
3 years ago
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
3 years ago
Andy Wilkinson 8966b1308b Merge branch '2.5.x'
Closes gh-27733
3 years ago
Andy Wilkinson b4f0f29bff Test our Gradle plugin against Gradle 7.2
Closes gh-27732
3 years ago
Andy Wilkinson 79be0766bc Merge branch '2.5.x'
Closes gh-27731
3 years ago
Andy Wilkinson ea641d3aab Merge branch '2.4.x' into 2.5.x
Closes gh-27730
3 years ago
Andy Wilkinson 29f5570208 Stop s-b-configuration-metadata leaking enforced constraints
Fixes gh-27726
3 years ago
Scott Frederick 2178c281e9 Polish "Add network option for image building"
See gh-27486
3 years ago
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
3 years ago
Andy Wilkinson 1966d1650b Merge branch '2.5.x'
Closes gh-27650
3 years ago
Andy Wilkinson 119fb6948d Test our Gradle plugin against Gradle 7.2-rc-3
Closes gh-27640
3 years ago
Andy Wilkinson c43c22283d Merge branch '2.5.x'
Closes gh-27621
3 years ago
Andy Wilkinson f19fff4c64 Merge branch '2.4.x' into 2.5.x
Closes gh-27620
3 years ago
Andy Wilkinson d4d1ca007e Mention productionRuntimeClasspath in the docs
Closes gh-27558
3 years ago
Andy Wilkinson ee669dbf11 Merge branch '2.5.x'
Closes gh-27594
3 years ago
Andy Wilkinson 7610fe02c5 Test our Gradle plugin against 7.2-rc-2
Closes gh-27593
3 years ago
Stephane Nicoll 9826304e29 Merge branch '2.4.x' into 2.5.x
Closes gh-27557
3 years ago
izeye 9f44cefc56 Use deprecated mainClassName in Gradle test
See gh-27537
3 years ago
Scott Frederick dc5bf0368d Merge branch '2.5.x'
Closes gh-27536
3 years ago
Scott Frederick f60d998ea1 Merge branch '2.4.x' into 2.5.x
Closes gh-27535
3 years ago
Scott Frederick 5d793afcb5 Prevent hanging when deleting Docker builder container after exception
An exception being thrown while the Maven plugin is uploading the app
archive bits to an ephemeral builder container would leave the
interaction with the Docker daemon in a state that caused further
interaction with the daemon (such as deleting the ephemeral builder)
to hang indefinitely. This commit cleans up the connection on an
exception to prevent this condition.

Fixes gh-27515
3 years ago
Andy Wilkinson 2482607a06 Merge branch '2.5.x'
Closes gh-27526
3 years ago
Andy Wilkinson 533bb24b55 Merge branch '2.4.x' into 2.5.x
Closes gh-27525
3 years ago
Andy Wilkinson ad2d9c0ab1 Customize Cassandra's configuration to reduce container startup time
Closes gh-27524
3 years ago
Andy Wilkinson cdad8e2b7f Merge branch '2.5.x' 3 years ago
Andy Wilkinson 85054723f0 Reinstate GradleProjectBuilder for compatibility with JDK17-ea32
See gh-27521
3 years ago
Andy Wilkinson 23c4674352 Merge branch '2.5.x'
Closes gh-27522
3 years ago
Andy Wilkinson ca5af2d456 Test our Gradle plugin against Gradle 7.2-rc-1
Closes gh-27521
3 years ago
Andy Wilkinson 04dc62904f Merge branch '2.4.x' into 2.5.x
Closes gh-27495
3 years ago
Andy Wilkinson 5d9da7206e Limit use of deprecated mainClassName in Gradle plugin tests
Closes gh-27320
3 years ago
Andy Wilkinson 681df90d33 Generate metadata for records using implicit constructor binding
Closes gh-27216
3 years ago
Andy Wilkinson 37f690323f Polish
Closes gh-27432
3 years ago
Scott Frederick 9f001efa29 Adjust fat jar central directory to account for launch script
An upgrade to Apache Commons Compress allows the build plugins to write
the launch script to the fat jar as a proper preamble, making the file
compatible with more jar and zip tooling.

Fixes gh-22336
3 years ago
Scott Frederick a0b32251eb Split gradle test support into a separate module
See gh-25824
3 years ago
Andy Wilkinson 25234219ce Merge branch '2.5.x'
Closes gh-27365
3 years ago
dreis2211 be38ce3645 Disable Gradle plugin tests that fail on JDK 17
See gh-27328
3 years ago
Stephane Nicoll 6f4d8449be Initiate layers-2.6
See gh-27326
3 years ago
Stephane Nicoll b393031dbe Merge branch '2.5.x'
Closes gh-27326
3 years ago
Stephane Nicoll d8f9a20221 Add missing XSD version for layers configuration
Closes gh-27321
3 years ago
Stephane Nicoll dc5acb0019 Remove deprecated code flagged for removal
Closes gh-27303
3 years ago
Stephane Nicoll d67089cdfe Merge branch '2.5.x'
Closes gh-27236
3 years ago
dreis2211 dacfe27350 Fix tests for multi-release JARs on JDK 17
See gh-27229
3 years ago
Scott Frederick 18c7c0af22 Add Paketo image building system tests
A new system test plugin is being made available for running test
suites that should be run less frequently than with every commit, such
as tests that verify Spring Boot compatibility with external
projects. CI pipeline configuration for running system tests is also
provided.

The first system tests verify the behavior of the Spring Boot image
building plugins when building images using Paketo buildpacks.

Closes gh-25824
3 years ago
Andy Wilkinson 5ebe2f4539 Merge branch '2.5.x'
Closes gh-27192
3 years ago
dreis2211 00d3330c9a Avoid illegal reflective access on ZipEntry.xdostime
See gh-27100
3 years ago
Andy Wilkinson 87591d94ee Merge branch '2.5.x'
Closes gh-27188
3 years ago
Andy Wilkinson ff79787def Avoid using deprecated API to get Kotlin Plugin's version
Closes gh-27090
3 years ago
Andy Wilkinson 7c744db0e9 Merge branch '2.5.x'
Closes gh-27180
3 years ago
Andy Wilkinson c21791e671 Test our Gradle plugin against Gradle 7.1.1
Closes gh-27142
3 years ago
Phillip Webb d00db60bab Merge branch '2.5.x' 3 years ago
Phillip Webb dfbd82b838 Fix Kotlin 1.5.20 classpath issues
See gh-27086
3 years ago
Phillip Webb 716e8ab717 Merge branch '2.5.x' 3 years ago
Phillip Webb d44207161f Suppress Kotlin 1.5.20 deprecation warning
See gh-27086
3 years ago
Phillip Webb 6102f10639 Merge branch '2.5.x' 3 years ago
Phillip Webb 2c518f1dff Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb a76e5c043e Update copyright year of changed files 3 years ago
Phillip Webb e85b0c7012 Merge branch '2.5.x' 3 years ago
Phillip Webb fd83158fa5 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb 63ed921554 Restore simple Library constructor
See gh-15808
3 years ago
Phillip Webb 5fc0e1ca81 Merge branch '2.5.x'
Closes gh-27057
3 years ago
Phillip Webb af37f59136 Merge branch '2.4.x' into 2.5.x
Closes gh-27056
3 years ago
Madhura Bhave b790c82732 Apply exclusions to existing war entries
Update `RepackageMojo` and supporting classes so that `exclusions`
on the repackage goal apply to both the contributed libraries and any
existing jar entries already contained in the original war.

Prior to this commit, exclusions would apply to contributed jars (for
example, those in `WEB-INF/lib-provided`) but not jars that were
packaged directly into `WEB-INF/lib` by the war plugin

Fixes gh-15808

Co-authored-by: Phillip Webb <pwebb@vmware.com>
3 years ago
Andy Wilkinson 752a92960c Merge branch '2.5.x'
Closes gh-27001
3 years ago