Commit Graph

817 Commits (5f65301cbc92785e01d0911e29cfd16ea6f17ff9)

Author SHA1 Message Date
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 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
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
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 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 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 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
Stephane Nicoll 980aa616c8 Fix build failure
See gh-29290
3 years ago
Stephane Nicoll 9821cdfd8b Remove deprecated code
Closes gh-29290
3 years ago
izeye 9a6c1c531d Test our Gradle plugin against Gradle 7.3.3
See gh-29161
3 years ago
Stephane Nicoll 8c9d398422 Test our Gradle plugin against Gradle 7.3.2
Closes gh-29093
3 years ago
Phillip Webb f3bcbca841 Update copyright year of changed files 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 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
Andy Wilkinson af60a8a7cf Test our Gradle plugin against Gradle 7.3.1
Closes gh-28890
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 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 0aae9c26da Test our Gradle plugin against Gradle 7.3
Closes gh-28679
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
slowjoe007 5a121197fc Fix typo
See gh-28548
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 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 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
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
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
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 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 b4f0f29bff Test our Gradle plugin against Gradle 7.2
Closes gh-27732
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 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 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
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
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 dc5acb0019 Remove deprecated code flagged for removal
Closes gh-27303
3 years ago