Create a small Groovy script that can be used in `settings.gradle`
files to extend `repositories` to support the various maven
repositories required for our build.
See gh-42333
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
A `trustBuilder` configuration option has been added to the Maven and
Gradle CNB integration image building goal and task. A known set of
builders published by Paketo, Heroku, and Google are trusted by default,
all other builders are untrusted by default.
Closes gh-41352
0.4.292 of the builder launches an unpacked jar rather than the
script in bin. This only affects an image that uses the archive
generated by bootDistZip. An image that uses the archive generated
by distZip is not affected.
Closes gh-40803