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()));
}