Add a new configuration property to prevent the application from
starting when configuration keys that need to be migrated are
found.
With `on-error`, the application fails when keys that are no longer
supported are found. With `on-warning`, it also fails when keys that
have been renamed are found. The default, `never`, keeps the current
behavior of only logging the report.
See gh-51855
Signed-off-by: Hyunwoo Jung <hyunwoojung@kakao.com>
Stack IDs are deprecated since Platform API 0.12 in favor of target
data. Comparing them produced false warnings for valid combinations,
e.g. the default builder with its tiny run image ('resolute' vs
'resolute.tiny').
Compare the OS distribution instead, read from the
io.buildpacks.base.distro.* labels with a fallback to the
io.buildpacks.stack.distro.* labels set by Paketo images. A missing
name or version matches any value, as in the lifecycle.
Deprecate BuildLog.stackIdsDoNotMatch in favor of distrosDoNotMatch.
Closes gh-51851
Update `AggregatedJavadoc` so that jar names are constructed from
resolved artifact IDs rather than using the raw cache filename. Without
this change, javadoc generation fails when consuming SNAPSHOT
dependencies.
See gh-51456
Update docs build to use offline javadoc links based on the
contents of the javadoc jars. Since some libraries ship incorrect
Gradle `.module` files, new dependency variants have been added for
`implicitjavadoc` and `implicitsources`. These assume that javadoc
and source jars are shipped using Maven conventions. These variants
must be resolved using `lenient = true` since not all libraries ship
them.
The `element-list` files for `log4j` and `tomcat` have been copied
directly from their website since they are available online but no
javadoc jars are shipped.
The `aggregatedJavadoc` task will now fail if links are made to
unknown packages.
Closes gh-51456