Skip to content

Commit 4388f71

Browse files
committed
fixed package dependency resolution for multiple packages configured
1 parent c1d9963 commit 4388f71

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/main/java/dev/dsf/fhir/validator/implementation_guide/ValidationPackageManagerImpl.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import java.util.Objects;
1010
import java.util.Optional;
1111
import java.util.stream.Collectors;
12-
import java.util.stream.Stream;
1312

1413
import org.slf4j.Logger;
1514
import org.slf4j.LoggerFactory;
@@ -74,10 +73,11 @@ public List<ValidationPackageWithDepedencies> downloadPackagesWithDependencies(
7473
packages.add(ValidationPackageWithDepedencies.from(packagesByNameAndVersion, identifier));
7574
}
7675

77-
logger.info("Using packages {} for validation",
78-
packages.stream().flatMap(p -> Stream.concat(Stream.of(p), p.getDependencies().stream()))
79-
.map(ValidationPackage::getIdentifier).map(ValidationPackageIdentifier::toString).sorted()
80-
.collect(Collectors.joining(", ", "[", "]")));
76+
logger.info("Validating with packages {}",
77+
packages.stream().map(p -> p.getIdentifier().toString() + " {dependencies: "
78+
+ p.getDependencies().stream().map(ValidationPackage::getIdentifier)
79+
.map(ValidationPackageIdentifier::toString).sorted().collect(Collectors.joining(", "))
80+
+ "}").collect(Collectors.joining(", ", "[", "]")));
8181

8282
return packages;
8383
}
@@ -88,6 +88,9 @@ private void downloadPackageWithDependencies(ValidationPackageIdentifier identif
8888
{
8989
if (allPackagesByNameAndVersion.containsKey(identifier))
9090
{
91+
ValidationPackage dependency = allPackagesByNameAndVersion.get(identifier);
92+
packagesByNameAndVersion.put(identifier, dependency);
93+
9194
// already downloaded
9295
return;
9396
}
@@ -103,6 +106,9 @@ else if (noDownloadPackages.contains(identifier))
103106
// check again, as the identifier may have changed from a A.B.x wildcard
104107
if (allPackagesByNameAndVersion.containsKey(identifier))
105108
{
109+
ValidationPackage dependency = allPackagesByNameAndVersion.get(identifier);
110+
packagesByNameAndVersion.put(identifier, dependency);
111+
106112
// already downloaded
107113
return;
108114
}

0 commit comments

Comments
 (0)