Skip to content

Commit 8788c8d

Browse files
committed
conga-aem-maven-plugin:cloudmanager-all-package: Ensure dependencies of sub packages are managed as well.
1 parent 3841123 commit 8788c8d

6 files changed

Lines changed: 111 additions & 18 deletions

File tree

changes.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 https://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">
2424
<body>
2525

26+
<release version="1.14.8" date="not released">
27+
<action type="update" dev="sseifert">
28+
conga-aem-maven-plugin:cloudmanager-all-package: Ensure dependencies of sub packages are managed as well.
29+
</action>
30+
</release>
31+
2632
<release version="1.14.6" date="2021-06-27">
2733
<action type="update" dev="sseifert">
2834
conga-aem-maven-plugin:cloudmanager-all-package: Extract nested sub packages and treat them in the same way as the other packages (managing dependencies and run modes).

tooling/conga-aem-maven-plugin/src/main/java/io/wcm/devops/conga/plugins/aem/maven/allpackage/AllPackageBuilder.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ public boolean build(Map<String, String> properties) throws IOException {
221221
Set<Dependency> allPackagesFromFileSets = new HashSet<>();
222222
for (ContentPackageFileSet fileSet : fileSets) {
223223
for (ContentPackageFile pkg : fileSet.getContentPackages()) {
224-
allPackagesFromFileSets.add(new Dependency(pkg.getGroup(), pkg.getName(), VersionRange.fromString(pkg.getVersion())));
224+
addDependencyInformation(allPackagesFromFileSets, pkg);
225225
}
226226
}
227227

@@ -364,6 +364,7 @@ private List<TemporaryContentPackageFile> processContentPackage(ContentPackageFi
364364
Set<Dependency> allPackagesFromFileSets) throws IOException {
365365

366366
List<TemporaryContentPackageFile> result = new ArrayList<>();
367+
List<TemporaryContentPackageFile> subPackages = new ArrayList<>();
367368

368369
// create temp zip file to create rewritten copy of package
369370
File tempFile = File.createTempFile(FilenameUtils.getBaseName(pkg.getFile().getName()), ".zip");
@@ -386,9 +387,13 @@ private List<TemporaryContentPackageFile> processContentPackage(ContentPackageFi
386387
Properties props = new Properties();
387388
props.loadFromXML(is);
388389
addSuffixToPackageName(props, pkg, environmentRunMode);
389-
if (autoDependenciesMode != AutoDependenciesMode.OFF) {
390-
updateDependencies(props, previousPkg, environmentRunMode, allPackagesFromFileSets);
390+
391+
// update package dependencies
392+
ContentPackageFile dependencyFile = previousPkg;
393+
if (autoDependenciesMode == AutoDependenciesMode.OFF) {
394+
dependencyFile = null;
391395
}
396+
updateDependencies(props, dependencyFile, environmentRunMode, allPackagesFromFileSets);
392397

393398
// if package type is missing package properties, put in the type defined in model
394399
if (props.get(NAME_PACKAGE_TYPE) == null) {
@@ -417,7 +422,7 @@ else if (StringUtils.equals(FilenameUtils.getExtension(zipInEntry.getName()), "z
417422
+ " with invalid package type: '" + StringUtils.defaultString(tempSubPackage.getPackageType()) + "'");
418423
}
419424
if (StringUtils.isNoneBlank(tempSubPackage.getGroup(), tempSubPackage.getName())) {
420-
result.addAll(processContentPackage(tempSubPackage, previousPkg, environmentRunMode, allPackagesFromFileSets));
425+
subPackages.add(tempSubPackage);
421426
processedEntry = true;
422427
}
423428
else {
@@ -438,6 +443,16 @@ else if (StringUtils.equals(FilenameUtils.getExtension(zipInEntry.getName()), "z
438443
}
439444
}
440445

446+
// add sub package metadata to set with dependency information
447+
for (TemporaryContentPackageFile tempSubPackage : subPackages) {
448+
addDependencyInformation(allPackagesFromFileSets, tempSubPackage);
449+
}
450+
451+
// process sub packages and add to result
452+
for (TemporaryContentPackageFile tempSubPackage : subPackages) {
453+
result.addAll(processContentPackage(tempSubPackage, previousPkg, environmentRunMode, allPackagesFromFileSets));
454+
}
455+
441456
result.add(new TemporaryContentPackageFile(tempFile, pkg.getVariants()));
442457
}
443458
return result;
@@ -506,6 +521,10 @@ private static Dependency[] removeReferencesToManagedPackages(Dependency[] deps,
506521
.toArray(size -> new Dependency[size]);
507522
}
508523

524+
private static void addDependencyInformation(Set<Dependency> allPackagesFromFileSets, ContentPackageFile pkg) {
525+
allPackagesFromFileSets.add(new Dependency(pkg.getGroup(), pkg.getName(), VersionRange.fromString(pkg.getVersion())));
526+
}
527+
509528
public String getGroupName() {
510529
return this.groupName;
511530
}

0 commit comments

Comments
 (0)