Phillip Webb
9ab1b669d0
Polish
2022-02-16 17:56:07 -08:00
Andy Wilkinson
ba73436ea8
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29881
2022-02-16 14:59:39 +00:00
Andy Wilkinson
86c75b7a5c
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29880
2022-02-16 14:58:58 +00:00
Andy Wilkinson
03352b0a8c
Prohibit use of APIs that prevent task configuration avoidance
...
Closes gh-29809
2022-02-16 14:57:47 +00:00
Andy Wilkinson
8e4484acea
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29878
2022-02-16 12:01:31 +00:00
Andy Wilkinson
ce4beae12f
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29877
2022-02-16 12:01:15 +00:00
izeye
6bd6f590d3
Fix Javadoc since for ResolveMainClassName#setClasspath(Object)
...
See gh-29826
2022-02-16 12:00:31 +00:00
Andy Wilkinson
a513dbb797
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29818
2022-02-15 12:24:38 +00:00
Andy Wilkinson
f134358c78
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29817
2022-02-15 12:24:05 +00:00
Andy Wilkinson
c84b35c460
Polish "Avoid using Gradle APIs that trigger eager task creation"
...
See gh-29762
2022-02-15 08:36:29 +00:00
Lars Grefer
7cd87acd73
Avoid using Gradle APIs that trigger eager task creation
...
See gh-29762
2022-02-15 08:24:14 +00:00
Andy Wilkinson
25e75c60ee
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29806
2022-02-14 12:32:47 +00:00
Andy Wilkinson
85d14cdb2c
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29805
2022-02-14 12:32:32 +00:00
Andy Wilkinson
1fd4a4d86b
Remove code related to unsupported versions of Gradle
...
Closes gh-29681
2022-02-14 12:31:21 +00:00
Scott Frederick
db6ef0e802
Exclude duplicate properties file when building a jar from jars
...
See gh-29670 and gh-23955
2022-02-11 15:31:20 -06:00
Andy Wilkinson
da61545925
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29749
2022-02-11 13:34:51 +00:00
Andy Wilkinson
646bb05c8d
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29748
2022-02-11 13:34:40 +00:00
Andy Wilkinson
c3eee4ad68
Align Gradle's plugin's META-INF repackaging with Maven plugin's
...
Closes gh-28562
2022-02-11 13:32:52 +00:00
Andy Wilkinson
fc23310144
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29734
2022-02-10 17:13:56 +00:00
Andy Wilkinson
d6ebce4ccf
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29733
2022-02-10 17:02:39 +00:00
Andy Wilkinson
6901f6dab2
Test our Gradle plugin against Gradle 7.4
...
Closes gh-29673
2022-02-10 16:57:13 +00:00
Andy Wilkinson
4f724f14d3
Polish "Override available() in RandomAccessDataFile's InputStream"
...
See gh-29295
2022-02-10 15:25:01 +00:00
Gnaily
49bf620f4b
Override available() in RandomAccessDataFile's InputStream
...
See gh-29295
2022-02-10 15:23:19 +00:00
Moritz Halbritter
94d095ce1a
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29692
2022-02-09 14:10:41 +01:00
Moritz Halbritter
079ea41d6d
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29691
2022-02-09 14:09:33 +01:00
Moritz Halbritter
262db65a38
Ignore invalid stream types when reading log update events
...
See gh-29675
2022-02-09 14:03:02 +01:00
Andy Wilkinson
665e1f665e
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29688
2022-02-09 11:35:03 +00:00
Andy Wilkinson
b46eba16e6
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29687
2022-02-09 11:34:51 +00:00
Andy Wilkinson
48fe1513fe
Test documented build script snippets when they change
...
Closes gh-29684
2022-02-09 11:33:40 +00:00
Andy Wilkinson
1e16c2f229
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29686
2022-02-09 11:32:43 +00:00
Andy Wilkinson
c0664efa86
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29685
2022-02-09 11:32:32 +00:00
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
2022-02-09 11:31:22 +00:00
Andy Wilkinson
41863d4b80
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29680
2022-02-08 19:21:59 +00:00
Andy Wilkinson
358cdb33f7
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29679
2022-02-08 19:21:48 +00:00
Andy Wilkinson
43ca2d2cb0
Access classpath lazily to allow later changes to be picked up
...
Previously, the classpath of bootJar, bootWar, and bootRun was
configured directly as a FileCollection derived from the main source
set's runtime classpath. This direct configuration meant that
subsequent changes to the main source set's runtime classpath may not
have been picked up.
This commit changes the configuration of the classpath to use a
Callable. This indirection allows subsequent changes to the main
source set's runtime classpath to be picked up as long as they
occur before Gradle calls the callable.
Closes gh-29672
2022-02-08 19:21:37 +00:00
Phillip Webb
ce08b519b1
Merge branch '2.6.x' into 2.7.x
2022-02-02 10:37:55 -08:00
Phillip Webb
50e0e28155
Merge branch '2.5.x' into 2.6.x
2022-02-02 10:37:32 -08:00
Phillip Webb
2b40ce09d8
Update copyright year of changed files
2022-02-02 10:35:40 -08:00
Stephane Nicoll
f812b33cbd
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29613
2022-02-01 11:07:31 +01:00
Stephane Nicoll
136b5959c3
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29612
2022-02-01 10:59:08 +01:00
Stephane Nicoll
7f17f819a6
Polish "Enforce use of BDDMockito"
...
See gh-29178
2022-02-01 10:03:18 +01:00
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
2022-02-01 09:37:15 +01:00
Andy Wilkinson
8480abca20
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29561
2022-01-25 12:19:37 +00:00
Andy Wilkinson
fe43d527b5
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29560
2022-01-25 12:19:16 +00:00
Andy Wilkinson
3ed65f2383
Avoid running Maven plugin ITs for each s-b-dependencies change
...
Closes gh-28781
2022-01-25 12:11:19 +00:00
Scott Frederick
698eb94913
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29554
2022-01-24 16:20:33 -06:00
Scott Frederick
909ef6d635
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29553
2022-01-24 16:19:43 -06:00
Scott Frederick
000cbfa2d9
Set file permissions on all created test files
...
Closes gh-29551
2022-01-24 16:19:20 -06:00
Phillip Webb
e1c84e2972
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29372
2022-01-12 14:07:48 -08:00
Phillip Webb
72696cdb0f
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29371
2022-01-12 14:07:31 -08:00
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
2022-01-12 14:05:30 -08:00
Stephane Nicoll
980aa616c8
Fix build failure
...
See gh-29290
2022-01-07 17:58:15 +01:00
Stephane Nicoll
9821cdfd8b
Remove deprecated code
...
Closes gh-29290
2022-01-07 14:42:14 +01:00
Andy Wilkinson
508d0af453
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29269
2022-01-05 11:58:33 +00:00
Andy Wilkinson
a6d8ff4677
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29268
2022-01-05 11:58:03 +00:00
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
2022-01-05 11:49:48 +00:00
Stephane Nicoll
eb81cbf053
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29173
2021-12-25 09:55:38 +01:00
Stephane Nicoll
8ee0640cc0
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29172
2021-12-25 09:55:24 +01:00
izeye
9a6c1c531d
Test our Gradle plugin against Gradle 7.3.3
...
See gh-29161
2021-12-25 09:52:14 +01:00
Stephane Nicoll
a05714ad9f
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29097
2021-12-17 10:30:42 +01:00
Stephane Nicoll
10362a9315
Merge branch '2.5.x' into 2.6.x
...
Closes gh-29096
2021-12-17 10:30:26 +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
Stephane Nicoll
5383de4fe1
Merge branch '2.6.x' into 2.7.x
2021-12-13 09:23:44 +01:00
Stephane Nicoll
32ecbb89d6
Merge branch '2.5.x' into 2.6.x
2021-12-13 09:23:33 +01:00
Stephane Nicoll
496cd3d2ba
Polish
...
See gh-28999
2021-12-13 09:23:08 +01:00
Scott Frederick
8f57f0babb
Add classpath index support for exploded war archives
...
Update the Maven and Gradle packaging for war files so that a
`classpath.idx` file is written into the archive that provides the
original order of the classpath, as was previously done for jar files.
The `WarLauncher` class will use this file when running as an exploded
archive to ensure that the classpath order is the same as when running
from the far war.
Fixes gh-19875
2021-12-09 16:41:49 -06:00
Scott Frederick
3cb30cb283
Merge branch '2.6.x' into 2.7.x
...
Closes gh-28923
2021-12-07 14:10:46 -06:00
Scott Frederick
3555837845
Merge branch '2.5.x' into 2.6.x
...
Closes gh-28922
2021-12-07 14:10:28 -06:00
Scott Frederick
b0b2cd79b4
Use latest buildpack image tag when no tag is provided
...
Fixes gh-28921
2021-12-07 14:10:10 -06:00
Scott Frederick
61fb9f83df
Merge branch '2.6.x' into 2.7.x
...
Closes gh-28905
2021-12-03 11:42:28 -06:00
Scott Frederick
ab0cc55e20
Merge branch '2.5.x' into 2.6.x
...
Closes gh-28904
2021-12-03 11:42:03 -06:00
Scott Frederick
467c092fdc
Remove classpath index manifest attribute from repackaged war files
...
Fixes gh-28895
2021-12-03 11:41:28 -06:00
Andy Wilkinson
a3ecdcf058
Merge branch '2.6.x' into 2.7.x
...
Closes gh-28892
2021-12-02 10:31:11 +00:00
Andy Wilkinson
4606e17696
Merge branch '2.5.x' into 2.6.x
...
Closes gh-28891
2021-12-02 10:30:51 +00:00
Andy Wilkinson
af60a8a7cf
Test our Gradle plugin against Gradle 7.3.1
...
Closes gh-28890
2021-12-02 10:29:22 +00:00
Scott Frederick
5f14cffea3
Add support for CNB platform API 0.5 through 0.8
...
Fixes gh-28850
2021-12-01 14:05:20 -06:00
Andy Wilkinson
86a773a8e9
Update main branch to start work on 2.7.x
2021-11-30 11:16:53 +00:00
Andy Wilkinson
4bd86a6e20
Allow spring-boot-image-tests to run without an existing snapshot
...
Closes gh-28817
2021-11-26 13:01:34 +00:00
Phillip Webb
beb68671bb
Update copyright year of changed files
2021-11-24 10:23:32 -08:00
Andy Wilkinson
0074d621d0
Merge branch '2.5.x'
...
Closes gh-28754
2021-11-19 15:37:32 +00:00
Andy Wilkinson
015cf920da
Name custom task inputs
...
Closes gh-28753
2021-11-19 15:35:39 +00:00
Andy Wilkinson
258222781a
Merge branch '2.5.x'
...
Closes gh-28752
2021-11-19 14:52:03 +00:00
Andy Wilkinson
96d98a0f6f
Declare dir task inputs with relative path sensitivity
...
Closes gh-28751
2021-11-19 14:29:29 +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
a1e7375fc0
Polish
2021-11-15 13:03:10 +00:00
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
2021-11-15 12:51:43 +00:00
Andy Wilkinson
0aae9c26da
Test our Gradle plugin against Gradle 7.3
...
Closes gh-28679
2021-11-15 12:47:51 +00:00
Andy Wilkinson
b1ff60c728
Merge branch '2.5.x'
...
Closes gh-28681
2021-11-15 12:09:06 +00:00
Andy Wilkinson
4cfbc0db36
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28680
2021-11-15 12:08:49 +00:00
Leo Li
9de9983e25
Fix @deprecated and @see in Archive's javadoc
...
See gh-28677
2021-11-15 12:07:22 +00:00
Andy Wilkinson
2a342ef416
Merge branch '2.5.x'
...
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson
5e4a502b2d
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson
2cec3971d7
Prohibit unwanted dependencies in all modules not just starters
...
Closes gh-28658
2021-11-12 20:04:35 +00:00
Stephane Nicoll
98d3e99ac9
Merge branch '2.5.x'
...
Closes gh-28550
2021-11-08 08:29:56 +01:00
Stephane Nicoll
91f7ff3ba3
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28549
2021-11-08 08:29:43 +01:00
Stephane Nicoll
188278ae4a
Polish "Fix typo"
...
See gh-28548
2021-11-08 08:29:11 +01:00
slowjoe007
5a121197fc
Fix typo
...
See gh-28548
2021-11-08 08:28:28 +01:00
Stephane Nicoll
9241f228d5
Add .gitattributes
...
Closes gh-28474
2021-10-28 15:31:40 +02:00
Stephane Nicoll
66553ac8c7
Add .gitattributes
...
Closes gh-28473
2021-10-28 15:27:49 +02:00
Stephane Nicoll
1b3f52d609
Harmonize line endings
...
See gh-27615
2021-10-28 15:22:57 +02:00
Andy Wilkinson
24ef4e6fb9
Merge branch '2.5.x'
...
Closes gh-28471
2021-10-28 13:07:22 +01:00
Andy Wilkinson
7fbbb4e08a
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28470
2021-10-28 13:07:07 +01:00
Andy Wilkinson
72f80f3ae6
Upgrade to Testcontainers 1.16.1
...
Closes gh-28468
2021-10-28 13:06:41 +01: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
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
2021-10-19 15:38:12 -05:00
Phillip Webb
bcef8ee4c9
Merge branch '2.5.x'
...
Closes gh-28357
2021-10-14 21:49:06 -07:00
Phillip Webb
a93304c973
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28356
2021-10-14 21:48:53 -07:00
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
2021-10-14 21:48:01 -07:00
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
2021-10-13 21:12:45 -07: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
Andy Wilkinson
9514a72d5a
Test using an up-to-date version of Postgres
...
See gh-28296
2021-10-13 11:56:44 +01:00
Stephane Nicoll
cc8d7fc605
Polish contribution
...
See gh-28239
2021-10-13 09:10:11 +02:00
Leo Li
1770f065a5
Polish
...
See gh-28239
2021-10-13 09:07:33 +02:00
Andy Wilkinson
48b1175559
Merge branch '2.5.x'
...
Closes gh-28263
2021-10-08 12:39:45 +01:00
Andy Wilkinson
d47260637b
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28262
2021-10-08 12:39:17 +01:00
Andy Wilkinson
c5d45585d9
Remove unnecessary overrides of finalize
...
Closes gh-28209
2021-10-08 12:39:00 +01:00
Andy Wilkinson
1a505964ee
Merge branch '2.5.x'
...
Closes gh-28207
2021-10-06 10:03:24 +01:00
Andy Wilkinson
1931104d13
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28206
2021-10-06 09:57:19 +01:00
Andy Wilkinson
9c9fbf400e
Upgrade to Spring Java Format 0.0.29
...
Closes gh-28205
2021-10-06 09:52:45 +01:00
Andy Wilkinson
2b7645b806
Merge branch '2.5.x'
...
Closes gh-28191
2021-10-04 10:23:02 +01:00
Andy Wilkinson
ff3eed73ee
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28190
2021-10-04 10:21:49 +01:00
Andy Wilkinson
b7a2a2d5e0
Set last access and last modified times in layertools extract
...
Closes gh-28167
2021-10-04 10:17:11 +01:00
Vincent Ricard
873bca36c4
Replace latin locutions in the documentation
...
See gh-28141
2021-10-01 07:33:01 +02:00
Scott Frederick
64c49003aa
Polish "Add option to create tags for a built image"
...
See gh-27613
2021-09-28 15:32:27 -05:00
Rafael Ceccone
66f44b0c7f
Add option to create tags for a built image
...
This commit adds configuration to the Maven and Gradle plugins to
allow specifying multiple tag to be created that refer to the built
image.
See gh-27613
2021-09-28 15:32:27 -05:00
Andy Wilkinson
0b5d178e5b
Merge branch '2.5.x'
...
Closes gh-28120
2021-09-23 13:23:54 +01:00
Andy Wilkinson
ef18a2166d
Merge branch '2.4.x' into 2.5.x
...
Closes gh-28119
2021-09-23 13:23:40 +01:00
Andy Wilkinson
5957dfeea4
Don't include binary jars in loader-tools source jar
...
Closes gh-28113
2021-09-23 13:23:29 +01:00
Phillip Webb
c9dc40a465
Merge branch '2.5.x'
2021-09-21 14:44:17 -07:00
Phillip Webb
40d65a74dc
Merge branch '2.4.x' into 2.5.x
2021-09-21 14:43:38 -07:00
Phillip Webb
ec12d51f30
Polish
2021-09-21 14:00:28 -07:00
Phillip Webb
55a1ec72cc
Update copyright year of changed files
2021-09-21 11:25:50 -07:00
Phillip Webb
4c2c4ec16c
Merge branch '2.5.x'
2021-09-21 11:25:36 -07:00
Phillip Webb
5ba69634c9
Merge branch '2.4.x' into 2.5.x
2021-09-21 11:17:55 -07:00
Phillip Webb
dfd36673f7
Update copyright year of changed files
2021-09-21 11:17:19 -07:00
Phillip Webb
cfeafee826
Polish
2021-09-21 11:16:46 -07:00
dreis2211
cf0fcafd13
Polish
...
See gh-27940
2021-09-21 08:08:29 +02:00
Scott Frederick
96238ba8b7
Expose default value for imageName in bootBuildImage task
...
Fixes gh-28040
2021-09-16 15:51:12 -05:00
Scott Frederick
a6d03279ca
Merge branch '2.5.x'
...
Closes gh-27994
2021-09-14 16:45:58 -05:00
Scott Frederick
a540da11ad
Merge branch '2.4.x' into 2.5.x
...
Closes gh-27993
2021-09-14 16:45:34 -05:00
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
2021-09-14 15:22:23 -05:00
Andy Wilkinson
7c034c33e2
Merge branch '2.5.x'
...
Closes gh-27967
2021-09-13 10:48:19 +01: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