in src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java [89:117]
protected Optional<Toolchain> getToolchain() {
Toolchain tc = null;
if (jdkToolchain != null) {
// Maven 3.3.1 has plugin execution scoped Toolchain Support
try {
Method getToolchainsMethod = toolchainManager
.getClass()
.getMethod("getToolchains", MavenSession.class, String.class, Map.class);
@SuppressWarnings("unchecked")
List<Toolchain> tcs = (List<Toolchain>)
getToolchainsMethod.invoke(toolchainManager, getSession(), "jdk", jdkToolchain);
if (tcs != null && tcs.size() > 0) {
tc = tcs.get(0);
}
} catch (ReflectiveOperationException | SecurityException | IllegalArgumentException e) {
// ignore
}
}
if (tc == null) {
// TODO: Check if we should make the type configurable?
tc = toolchainManager.getToolchainFromBuildContext("jdk", getSession());
}
return Optional.ofNullable(tc);
}