You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2024/09/20 12:53:53 UTC

(jackrabbit-filevault-package-maven-plugin) branch master updated: Use latest SNAPSHOT of FileVault

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault-package-maven-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new f910a28  Use latest SNAPSHOT of FileVault
f910a28 is described below

commit f910a28081e0c8e9bcd316eb0b5c618348b4034f
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Sep 20 14:53:44 2024 +0200

    Use latest SNAPSHOT of FileVault
    
    Extend AbstractDependencyResolver
---
 pom.xml                                            |  2 +-
 .../maven/packaging/impl/DependencyResolver.java   | 56 ++--------------------
 .../packaging/MavenBasedPackageDependencyTest.java |  6 +--
 3 files changed, 9 insertions(+), 55 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2e284f1..b992706 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
         <groupId>org.apache.jackrabbit.vault</groupId>
         <artifactId>parent</artifactId>
         <relativePath />
-        <version>3.8.0</version>
+        <version>3.8.1-SNAPSHOT</version>
     </parent>
 
     <!-- ====================================================================== -->
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DependencyResolver.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DependencyResolver.java
index fc4757a..1519d67 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DependencyResolver.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DependencyResolver.java
@@ -18,19 +18,16 @@ package org.apache.jackrabbit.filevault.maven.packaging.impl;
 
 import java.io.File;
 import java.io.IOException;
-import java.net.URI;
 import java.util.Collection;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.jackrabbit.filevault.maven.packaging.mojo.AbstractValidateMojo;
 import org.apache.jackrabbit.vault.packaging.Dependency;
-import org.apache.jackrabbit.vault.packaging.PackageId;
 import org.apache.jackrabbit.vault.packaging.PackageInfo;
 import org.apache.jackrabbit.vault.packaging.VersionRange;
 import org.apache.jackrabbit.vault.packaging.impl.DefaultPackageInfo;
-import org.apache.jackrabbit.vault.validation.context.AbstractDependencyResolver.MavenCoordinates;
+import org.apache.jackrabbit.vault.validation.context.AbstractDependencyResolver;
 import org.apache.maven.plugin.logging.Log;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
@@ -47,13 +44,12 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 /** Allows to resolve a {@link Dependency} from the underlying Maven repository (first local, then remote). */
-public class DependencyResolver implements org.apache.jackrabbit.vault.validation.context.DependencyResolver {
+public class DependencyResolver extends AbstractDependencyResolver {
 
     private final RepositorySystemSession repositorySession;
     private final RepositorySystem repositorySystem;
     private final Log log;
 
-    private final Collection<PackageInfo> packageInfoCache;
     private final Map<Dependency, Artifact> mapPackageDependencyToMavenArtifact;
     private final List<RemoteRepository> repositories;
 
@@ -61,59 +57,16 @@ public class DependencyResolver implements org.apache.jackrabbit.vault.validatio
             List<RemoteRepository> repositories,
             Map<Dependency, Artifact> mapPackageDependencyToMavenArtifact,
             Collection<PackageInfo> knownPackageInfos, Log log) {
+        super();
         this.repositorySession = repositorySession;
         this.repositorySystem = repositorySystem;
         this.repositories = repositories;
         this.mapPackageDependencyToMavenArtifact = mapPackageDependencyToMavenArtifact;
         this.log = log;
-        this.packageInfoCache = new LinkedList<>(knownPackageInfos);
     }
 
-    // copy from org.apache.jackrabbit.vault.validation.context.AbstractDependencyResolver due to https://issues.apache.org/jira/browse/JCRVLT-769
-    // FIXME: remove once https://issues.apache.org/jira/browse/JCRVLT-774 is resolved
     @Override
-    public @NotNull Collection<PackageInfo> resolvePackageInfo(@NotNull Dependency[] dependencies, @NotNull Map<PackageId, URI> dependencyLocations) throws IOException {
-        List<PackageInfo> packageInfos = new LinkedList<>();
-        // resolve dependencies
-        for (Dependency dependency : dependencies) {
-            PackageInfo packageInfo = null;
-            // 1. try to get from cache
-            for (PackageInfo packageInfoFromCache : packageInfoCache) {
-                if (dependency.matches(packageInfoFromCache.getId())) {
-                    log.debug("Dependency is already resolved from project dependencies: " + dependency);
-                    packageInfo = packageInfoFromCache;
-                }
-            }
-            // 2. try to resolve via provided dependency location URIs
-            if (packageInfo == null) {
-                for (Map.Entry<PackageId, URI> dependencyLocation : dependencyLocations.entrySet()) {
-                    if (dependency.matches(dependencyLocation.getKey())) {
-                        MavenCoordinates coordinates = MavenCoordinates.parse(dependencyLocation.getValue());
-                        if (coordinates == null) {
-                            log.warn("Unsupported URL scheme for dependency location '" + dependencyLocation.getValue()
-                                    + "'");
-                        } else {
-                            packageInfo = resolvePackageInfo(coordinates);
-                        }
-                        
-                    }
-                }
-            }
-            // 3. try to apply some heuristics
-            if (packageInfo == null) {
-                packageInfo = resolvePackageInfo(dependency);
-            }
-            if (packageInfo != null) {
-                packageInfos.add(packageInfo);
-                if (packageInfoCache.contains(packageInfo)) {
-                    packageInfoCache.add(packageInfo);
-                }
-            }
-        }
-        return packageInfos;
-    }
-
-    private PackageInfo resolvePackageInfo(@NotNull MavenCoordinates mavenCoordinates) throws IOException {
+    public PackageInfo resolvePackageInfo(@NotNull MavenCoordinates mavenCoordinates) throws IOException {
         Artifact artifact = new DefaultArtifact(mavenCoordinates.getGroupId(), mavenCoordinates.getArtifactId(), mavenCoordinates.getClassifier(), mavenCoordinates.getPackaging(), mavenCoordinates.getVersion());
         return resolvePackageInfo(artifact);
     }
@@ -136,6 +89,7 @@ public class DependencyResolver implements org.apache.jackrabbit.vault.validatio
      * @return the resolved package info or {@code null}
      * @throws IOException
      */
+    @Override
     protected @Nullable PackageInfo resolvePackageInfo(@NotNull Dependency dependency) throws IOException {
         Artifact artifact = mapPackageDependencyToMavenArtifact.get(new Dependency(dependency.getGroup(), dependency.getName(), null));
         // is it special artifact which is supposed to be ignored?
diff --git a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependencyTest.java b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependencyTest.java
index 6a1cba5..bfec660 100644
--- a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependencyTest.java
+++ b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependencyTest.java
@@ -34,13 +34,13 @@ public class MavenBasedPackageDependencyTest {
 
     @Test 
     public void testMavenCoordinatesToUriRoundtrip() throws URISyntaxException {
-        MavenCoordinates coordinates = new MavenCoordinates("groupname", "artifactName", "1.0");
+        MavenCoordinates coordinates = new MavenCoordinates("groupname", "artifactName", "1.0", "zip", "classifier");
         assertEquals(coordinates, MavenCoordinates.parse(MavenBasedPackageDependency.mavenCoordinatesToUri(coordinates.getGroupId(), coordinates.getArtifactId(), coordinates.getVersion(), coordinates.getClassifier())));
     }
-    
+
     @Test 
     public void testUriToMavenCoordinatesRoundtrip() throws URISyntaxException {
-        URI uri = new URI("maven", "test-group:some name:1.0:zip", null);
+        URI uri = new URI("maven", "test-group:some name:1.0:zip:classifier", null);
         MavenCoordinates coordinates = MavenCoordinates.parse(uri);
         assertEquals(uri, MavenBasedPackageDependency.mavenCoordinatesToUri(coordinates.getGroupId(), coordinates.getArtifactId(), coordinates.getVersion(), coordinates.getClassifier()));
     }