spring-boot/spring-boot-project
Andy Wilkinson 1240c59482 Only configure plugin classpath where it's needed
When spring-boot-gradle-plugin is using GradleRunner, it needs to be
configured with a custom plugin classpath to account for the fact
that our Gradle plugin is on the classpath of the system classloader
but some of the other plugins would only be available on a
Gradle-created classloader. This imbalance cause class loading
problems as code in spring-boot-gradle-plugin can't see types at
runtime that are only available on the Gradle-created classloader.

To overcome this, we need to configure the GradleRunner with a custom
plugin classpath that contains both spring-boot-gradle-plugin and all
of the other plugins that are used in its various integration tests.
Previously, this was done in GradleBuild that's used by both
spring-boot-gradle-plugin and spring-boot-image-tests. This caused
a problem as spring-boot-image-tests does not have the
above-described problem and trying to correct it did not work leaving
tests that use spring-boot-gradle-plugin unable to see other plugins
such that the native image plugin.

This commit reworks the customization of the plugin classpath so that
it's only done in spring-boot-gradle-plugin's integration tests.

Closes gh-42338
2024-09-18 14:53:54 +01:00
..
spring-boot Upgrade to Undertow 2.3.17.Final 2024-09-13 16:26:00 +02:00
spring-boot-actuator Update copyright year of changed files 2024-08-19 16:45:34 -07:00
spring-boot-actuator-autoconfigure Polish "Use DataSource.unwrap to get routing data source" 2024-09-16 09:37:22 +02:00
spring-boot-autoconfigure Document that spring.jmx.enabled is not for third-party libraries 2024-09-12 18:35:57 -07:00
spring-boot-dependencies Upgrade to Spring Integration 6.2.9 2024-09-18 08:19:23 +01:00
spring-boot-devtools Prevent 'Recursive update' exceptions with Restarter 2024-09-03 12:09:40 -07:00
spring-boot-docker-compose Move Docker-related test support into a separate module 2024-06-26 19:47:35 +01:00
spring-boot-docs Document that spring.jmx.enabled is not for third-party libraries 2024-09-12 18:35:57 -07:00
spring-boot-parent Minimize scope of version management for commons-compress 2024-02-06 15:08:15 +00:00
spring-boot-starters Upgrade to Tomcat 10.1.24 2024-05-16 15:05:48 +01:00
spring-boot-test Update copyright year of changed files 2024-08-19 16:45:34 -07:00
spring-boot-test-autoconfigure Fix formatting 2024-08-19 16:28:47 +02:00
spring-boot-testcontainers Don't initialize containers during AOT processing 2024-08-14 18:56:00 +01:00
spring-boot-tools Only configure plugin classpath where it's needed 2024-09-18 14:53:54 +01:00