Phillip Webb
4be3218cb6
Merge branch '2.7.x'
2 years ago
Scott Frederick
c22e76632c
Add Build-Jdk-Spec to jar and war manifest when building with Gradle
...
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.
This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.
Fixes gh-32829
2 years ago
Andy Wilkinson
9e6259cd37
Remove development-only dependencies from native image classpath
...
Fixes gh-32843
2 years ago
Scott Frederick
b78b22b6f6
Allow Gradle task property to be set with String or enum value
...
See gh-32769
2 years ago
Andy Wilkinson
26e747d2db
Fix package tangle in spring-boot-gradle-plugin
...
Closes gh-32814
2 years ago
Scott Frederick
8acf9afccb
Use String instead of enum for Gradle task Property
...
See gh-32769
2 years ago
Andy Wilkinson
8621be6bba
Make consistent use of Property for Gradle task configuration
...
Closes gh-32769
2 years ago
Andy Wilkinson
2dacddb4d7
Make bootBuildImage produce native image when NBT plugin is applied
...
Closes gh-32768
2 years ago
Andy Wilkinson
2c756ea874
Use collectReachabilityMetadata task to add metadata to bootJar
...
Closes gh-32737
2 years ago
Phillip Webb
c16c6bc3b5
Fix reachability argfile format
...
Update the argfile to a format that actually works when
passed to the `native-image` command.
See gh-32738
2 years ago
Phillip Webb
8358a0e3f3
Fix reachability-metadata.properties location
...
Update tools to use the correct `reachability-metadata.properties`
location which should include the version number.
See gh-32738
2 years ago
Andy Wilkinson
3082b0c5bf
Add a section on AOT to the Gradle plugin's docs
...
Closes gh-32750
2 years ago
Andy Wilkinson
ff16f6d6c6
Work around configuration cache problem in NBT Gradle Plugin
...
See gh-32752
See graalvm/native-build-tools#338
2 years ago
Phillip Webb
071649360b
Generate 'META-INF/native-image/argfile' file for buildpack use
...
Update the Maven and Gradle plugin to generate an `argfile` file
file under `META-INF/native-image` that contains `--exclude-config`
arguments that should be passed when generating a native image.
The contents of the file is generated for each nested jar that has a
`reachability-metadata.properties` file containing 'override=true'.
The `reachability-metadata.properties` file is expected to be generated
by the Graal native build tools plugin.
Closes gh-32738
2 years ago
Phillip Webb
430c6b7e9f
Downgrade to SLF4J 1.7 for spring-boot-gradle-plugin tests
...
The downgrade is required for tests to run in Eclipse.
Closes gh-32626
2 years ago
Andy Wilkinson
3ca5c7ff5b
Create AOT source sets as soon as the Java plugin is applied
...
Previously, the AOT source sets were not created until both the
Java and Spring Boot plugins had been applied. This could create
ordering problems when the Spring Boot plugin's native image plugin
action tried to access the AOT source sets to configure the
classpaths of the nativeCompile and nativeTest tasks. If the
plugins were applied in a particular order the AOT source sets
would not exist and a failure would occur.
This commit updates the Spring Boot AOT plugin to create the source
sets as soon as the Java plugin has been applied. This ensure that
they're in place when reacting to the native image plugin being
applied.
Closes gh-32661
2 years ago
Andy Wilkinson
808e0be552
Merge branch '2.7.x'
...
Closes gh-32679
2 years ago
Andy Wilkinson
1b604e30f7
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32678
2 years ago
Andy Wilkinson
215eb96355
Improve error handling in SpringBootPlugin
...
Closes gh-32677
2 years ago
Andy Wilkinson
d351086a06
Adapt to breaking changes to AOT processing entry points
...
See gh-32550
2 years ago
Phillip Webb
e0b67889a8
Use Stream.toList instead of Stream.collect when possible
...
Update code to make use of `Stream.toList()` whenever possible.
Closes gh-28177
2 years ago
Stephane Nicoll
e2dd0ef9a4
Adapt AotProcessor to changes in Spring Framework
...
Closes gh-32560
2 years ago
Andy Wilkinson
0f44e69995
Merge branch '2.7.x'
...
Closes gh-32500
2 years ago
Andy Wilkinson
5124ae94ae
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32499
2 years ago
Andy Wilkinson
cfac7f55a4
Correct annotations on BootBuildImage's file-based inputs
...
Closes gh-32495
2 years ago
Andy Wilkinson
7c7c34cda1
Fix classpath roots of AOT test processing
...
This was regressed in 6175c4210d
so that
each class on the classpath was passed in as a "root". This commit
corrects this so that only the roots are passed to the AOT test
processor.
See gh-32424
2 years ago
Andy Wilkinson
4a80b36160
Configure native image classpath outside of task realisation
...
Closes gh-32465
2 years ago
Andy Wilkinson
6175c4210d
Fix skipping of processAot when there is no main source
...
See gh-32424
2 years ago
Andy Wilkinson
fa81e8ca79
Skip processAot and processTestAot if there is no main or test code
...
Closes gh-32424
2 years ago
Andy Wilkinson
e8aa5680d6
Support file-based reachability metadata repositories
...
See gh-32408
2 years ago
Andy Wilkinson
8323f24ccc
Make classes generated by AOT test processing available to nativeTest
...
Closes gh-32428
2 years ago
Scott Frederick
1ed4d89466
Copy native reachability metadata to jar file in Gradle plugin
...
When the Spring Boot Gradle plugin builds a fat jar and the Native
Build Tools Gradle plugin is applied to the build, any configuration
files from the GraalVM reachability metadata repository that match
project dependencies are copied to a `META-INF/native-image`
directory in the fat jar.
Closes gh-32408
2 years ago
Andy Wilkinson
2b503ee334
Add AOT-generated classes as a dependency
...
Previously, the AOT-generated classes were added directly to the
compile classpath of the AOT compilation task. This didn't work
perfectly in IntelliJ IDEA, leaving the generated classes in the
runtime scope and causing compilation problems where the
AOT-generated source tried to reference those classes.
This commit updates the plugin to add the AOT-generated classes as
a dependency to the AOT source set's implementation configuration.
This makes the classes available during compilation by the source
set's Java compilation task while also makeing IntelliJ IDEA aware
of their presence on the compile classpath.
Closes gh-32395
2 years ago
Andy Wilkinson
867c49337a
Add AOT-generated classes to classpath of AOT JavaCompile tasks
...
See gh-32304
2 years ago
Andy Wilkinson
aafceb3868
Merge branch '2.7.x'
...
Closes gh-32285
2 years ago
Andy Wilkinson
f17df7bf30
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32284
2 years ago
Andy Wilkinson
23c2f73b3f
Update tests to allow them to run on Java 19
...
Closes gh-32280
2 years ago
Andy Wilkinson
144fdaa703
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32283
2 years ago
Andy Wilkinson
78f4242e46
Build with Gradle 7.5 while still supporting Gradle 6.8+
...
Closes gh-32281
2 years ago
Andy Wilkinson
3dfe28c9f1
Ensure that a test engine is available to AOT test processing
...
See gh-32192
2 years ago
Andy Wilkinson
cf84ae7ad8
Exclude non-existent test classes dirs from AOT test processing
...
See gh-32192
2 years ago
Andy Wilkinson
fc979397be
Polish SpringBootAotPlugin
2 years ago
Andy Wilkinson
fd28f6d1d6
Add Gradle plugin support for processing test contexts ahead-of-time
...
Closes gh-32192
2 years ago
Phillip Webb
c0b3d36205
Rename 'generateAotSources' task to processAot'
...
See gh-31918
2 years ago
Andy Wilkinson
a8ae7a1e44
Fix Gradle AOT integration test on Windows
...
See gh-31970
2 years ago
Stephane Nicoll
332419e3a7
Remove extra 'build' directory
...
See gh-32069
2 years ago
Stephane Nicoll
e21041ce65
Harmonize location of generated classes processed Ahead-of-time
...
Closes gh-32069
2 years ago
Andy Wilkinson
cb18eb095b
Make transitive runtime dependencies available to AOT processing
...
Closes gh-31970
2 years ago
Phillip Webb
e08c16dfd6
Polish
2 years ago
Andy Wilkinson
6c28156b29
Avoid config-time creation of AOT source set's tasks
...
Closes gh-31844
2 years ago
Scott Frederick
6f65777035
Merge branch '2.7.x'
...
Closes gh-31827
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
cf7a163c6d
Merge branch '2.7.x'
2 years ago
Scott Frederick
f9cf31e59e
Fix compile errors
...
See gh-28844
2 years ago
Scott Frederick
36d6106bb0
Merge branch '2.7.x'
...
Closes gh-31825
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
Andy Wilkinson
6da8c88b2b
Include library resources on classpath of AOT source generation
...
Closes gh-31803
2 years ago
Andy Wilkinson
7bd9873cd9
Raise the minimum supported version of Gradle to 7.5
...
Closes gh-31215
2 years ago
Moritz Halbritter
3703b317ce
Enable GraalVM reachability metadata repository
...
Closes gh-31687
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
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
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
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
4bb5ba2bd0
Merge branch '2.7.x'
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
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
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
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
Stephane Nicoll
a4cccc98c6
Merge branch '2.7.x'
3 years ago
izeye
ed412af138
Polish
...
See gh-30695
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
izeye
40d0e38e76
Test Spring Boot Gradle Plugin against Gradle 7.4.2
...
See gh-30506
3 years ago
Andy Wilkinson
42ae55895d
Simplify resolution of the application's main class name
...
Closes gh-30467
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
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
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
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
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