spring-boot/spring-boot-project/spring-boot-tools
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-antlib Rename spring-boot-loader to spring-boot-loader-classic 2023-10-03 15:40:04 -07:00
spring-boot-autoconfigure-processor Use `.isEmpty()` where feasible 2023-12-19 22:38:05 -08:00
spring-boot-buildpack-platform Polish 2024-09-01 18:50:38 -07:00
spring-boot-cli Make buildSrc's custom Gradle tasks consistently abstract 2024-06-28 15:40:56 +01:00
spring-boot-configuration-metadata Replace contains/put/get pattern with computeIfAbsent 2023-08-08 13:12:47 +02:00
spring-boot-configuration-metadata-changelog-generator Escape pipe symbol in properties changelog table cells 2023-11-30 11:37:25 +01:00
spring-boot-configuration-processor Polish "Replace Configuration fully qualified name by constant" 2024-09-16 09:01:36 +02:00
spring-boot-gradle-plugin Only configure plugin classpath where it's needed 2024-09-18 14:53:54 +01:00
spring-boot-gradle-test-support Only configure plugin classpath where it's needed 2024-09-18 14:53:54 +01:00
spring-boot-jarmode-layertools Merge branch '3.1.x' into 3.2.x 2024-04-18 11:59:50 +02:00
spring-boot-loader Update copyright year of changed files 2024-09-03 21:04:26 -07:00
spring-boot-loader-classic Improve loading of jar entry certificates 2024-08-22 10:56:25 +01:00
spring-boot-loader-tools Reduce warnings reported by Eclipse 2024-07-25 14:55:00 +01:00
spring-boot-maven-plugin Test spring-boot-maven-plugin against Maven 3.9.9 2024-09-03 14:29:49 +02:00
spring-boot-properties-migrator Don't report already migrated properties when has group 2024-08-31 11:18:47 -07:00
spring-boot-test-support Move Docker-related test support into a separate module 2024-06-26 19:47:35 +01:00
spring-boot-test-support-docker Fix duplicate words 2024-08-19 09:44:29 +02:00