From dae909a983444fa88bc949ecf3aeeebb8fb3449b Mon Sep 17 00:00:00 2001 From: Bartosz Spyrko-Smietanko Date: Tue, 3 Sep 2024 13:00:36 +0100 Subject: [PATCH] Add option to use Signature Validation --- pom.xml | 2 +- .../prospero/metadata/ManifestVersionResolver.java | 11 ++++++++--- .../prospero/metadata/ProsperoMetadataUtils.java | 5 +++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 53c25eb4..bf716a0a 100644 --- a/pom.xml +++ b/pom.xml @@ -21,8 +21,8 @@ 5.13.0 4.13.2 1.1.0.Final + 1.1.1.Final-SNAPSHOT 3.26.3 - 3.25.0 1.0.8.Final diff --git a/src/main/java/org/wildfly/prospero/metadata/ManifestVersionResolver.java b/src/main/java/org/wildfly/prospero/metadata/ManifestVersionResolver.java index 38e927c0..fb2be895 100644 --- a/src/main/java/org/wildfly/prospero/metadata/ManifestVersionResolver.java +++ b/src/main/java/org/wildfly/prospero/metadata/ManifestVersionResolver.java @@ -30,6 +30,7 @@ import org.wildfly.channel.Repository; import org.wildfly.channel.maven.VersionResolverFactory; import org.wildfly.channel.spi.MavenVersionsResolver; +import org.wildfly.channel.spi.SignatureValidator; import org.wildfly.channel.version.VersionMatcher; import java.io.ByteArrayOutputStream; @@ -62,11 +63,15 @@ public class ManifestVersionResolver { * @param system */ public ManifestVersionResolver(Path localMavenCache, RepositorySystem system) { + this(localMavenCache, system, null); + } + + public ManifestVersionResolver(Path localMavenCache, RepositorySystem system, SignatureValidator signatureValidator) { Objects.requireNonNull(localMavenCache); Objects.requireNonNull(system); final DefaultRepositorySystemSession session = newRepositorySystemSession(system, localMavenCache); - this.resolverFactory = new VersionResolverFactory(system, session); + this.resolverFactory = new VersionResolverFactory(system, session, signatureValidator); } // used in tests only @@ -96,14 +101,14 @@ public ManifestVersionRecord getCurrentVersions(List channels) throws I final ChannelManifest manifest = ChannelManifestMapper.from(manifestCoordinate.getUrl()); manifestVersionRecord.addManifest(new ManifestVersionRecord.UrlManifest(manifestCoordinate.getUrl().toExternalForm(), hashCode, manifest.getName())); } else if (manifestCoordinate.getVersion() != null) { - final String description = getManifestDescription(manifestCoordinate, resolverFactory.create(channel.getRepositories())); + final String description = getManifestDescription(manifestCoordinate, resolverFactory.create(channel)); manifestVersionRecord.addManifest(new ManifestVersionRecord.MavenManifest( manifestCoordinate.getGroupId(), manifestCoordinate.getArtifactId(), manifestCoordinate.getVersion(), description)); } else { - final MavenVersionsResolver mavenVersionsResolver = resolverFactory.create(channel.getRepositories()); + final MavenVersionsResolver mavenVersionsResolver = resolverFactory.create(channel); final Optional latestVersion = VersionMatcher.getLatestVersion(mavenVersionsResolver.getAllVersions(manifestCoordinate.getGroupId(), manifestCoordinate.getArtifactId(), manifestCoordinate.getExtension(), manifestCoordinate.getClassifier())); if (latestVersion.isPresent()) { diff --git a/src/main/java/org/wildfly/prospero/metadata/ProsperoMetadataUtils.java b/src/main/java/org/wildfly/prospero/metadata/ProsperoMetadataUtils.java index baa731d1..b67406ee 100644 --- a/src/main/java/org/wildfly/prospero/metadata/ProsperoMetadataUtils.java +++ b/src/main/java/org/wildfly/prospero/metadata/ProsperoMetadataUtils.java @@ -129,8 +129,9 @@ public static void writeChannelsConfiguration(Path channelPath, List ch final List namedChannels = channels.stream().map(c -> { if (c.getName() == null || c.getName().isEmpty()) { final String name = nextAvailableName(c, counter, definedChannelNames); - return new Channel(c.getSchemaVersion(), name, c.getDescription(), c.getVendor(), c.getRepositories(), c.getManifestCoordinate(), - c.getBlocklistCoordinate(), c.getNoStreamStrategy()); + return new Channel.Builder(c) + .setName(name) + .build(); } else { return c; }