in src/main/java/org/apache/sling/maven/bundlesupport/FsMountMojo.java [206:267]
protected void ensureBundlesInstalled(CloseableHttpClient httpClient, URI consoleTargetUrl)
throws MojoExecutionException {
if (!deployFsResourceBundle) {
return;
}
if (deployFsResourceBundlePrerequisites == null) {
BundlePrerequisite latestJakartaJson = new BundlePrerequisite();
latestJakartaJson.addBundle(new Bundle(BUNDLE_GROUP_ID, FS_BUNDLE_ARTIFACT_ID, FS_BUNDLE_DEFAULT_VERSION));
latestJakartaJson.addPrecondition(
new Bundle(BUNDLE_GROUP_ID, JOHNZON_BUNDLE_ARTIFACT_ID, JOHNZON_2_BUNDLE_MIN_VERSION));
latestJakartaJson.addPrecondition(
new Bundle(BUNDLE_GROUP_ID, SLING_API_BUNDLE_ARTIFACT_ID, SLING_API_BUNDLE_MIN_VERSION));
latestJakartaJson.addPrecondition(new Bundle(
COMMONS_COLLECTIONS4_BUNDLE_GROUP_ID,
COMMONS_COLLECTIONS4_BUNDLE_ARTIFACT_ID,
COMMONS_COLLECTIONS4_BUNDLE_MIN_VERSION,
COMMONS_COLLECTIONS4_BUNDLE_SYMBOLICNAME));
addDeployFsResourceBundlePrerequisite(latestJakartaJson);
BundlePrerequisite legacyJavaxJson = new BundlePrerequisite();
legacyJavaxJson.addBundle(
new Bundle(BUNDLE_GROUP_ID, JOHNZON_BUNDLE_ARTIFACT_ID, JOHNZON_1_BUNDLE_MIN_VERSION));
legacyJavaxJson.addBundle(new Bundle(
COMMONS_COLLECTIONS4_BUNDLE_GROUP_ID,
COMMONS_COLLECTIONS4_BUNDLE_ARTIFACT_ID,
COMMONS_COLLECTIONS4_BUNDLE_MIN_VERSION,
COMMONS_COLLECTIONS4_BUNDLE_SYMBOLICNAME));
legacyJavaxJson.addBundle(
new Bundle(BUNDLE_GROUP_ID, FS_BUNDLE_ARTIFACT_ID, FS_BUNDLE_LEGACY_DEFAULT_VERSION));
legacyJavaxJson.addPrecondition(new Bundle(
BUNDLE_GROUP_ID,
RESOURCE_RESOLVER_BUNDLE_ARTIFACT_ID,
RESOURCE_RESOLVER_BUNDLE_LEGACY_MIN_VERSION));
addDeployFsResourceBundlePrerequisite(legacyJavaxJson);
BundlePrerequisite legacyAncient = new BundlePrerequisite();
legacyAncient.addBundle(
new Bundle(BUNDLE_GROUP_ID, FS_BUNDLE_ARTIFACT_ID, FS_BUNDLE_LEGACY_ACNIENT_DEFAULT_VERSION));
addDeployFsResourceBundlePrerequisite(legacyAncient);
}
boolean foundMatch = false;
for (BundlePrerequisite bundlePrerequisite : deployFsResourceBundlePrerequisites) {
if (isBundlePrerequisitesPreconditionsMet(httpClient, bundlePrerequisite, consoleTargetUrl)) {
for (Bundle bundle : bundlePrerequisite.getBundles()) {
deployBundle(httpClient, bundle, consoleTargetUrl);
}
foundMatch = true;
break;
}
}
if (!foundMatch) {
throw new MojoExecutionException(
"Target server does not meet any of the prerequisites for this goal. Haven't found the necessary bundles: "
+ deployFsResourceBundlePrerequisites.stream()
.map(bundlePrerequisite -> bundlePrerequisite.getPreconditions().stream()
.map(BundlePrerequisite.Bundle::toString)
.collect(Collectors.joining(", ")))
.collect(Collectors.joining(" OR ")));
}
}