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 2021/11/25 15:48:16 UTC
[jackrabbit-filevault-package-maven-plugin] branch master updated: JCRVLT-567 move validationcontext implementations to FileVault (#64)
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 829a08a JCRVLT-567 move validationcontext implementations to FileVault (#64)
829a08a is described below
commit 829a08abebded00b9c15e4df709b96e28ca2ce08
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Nov 25 16:48:09 2021 +0100
JCRVLT-567 move validationcontext implementations to FileVault (#64)
update to FileVault 3.5.6
---
pom.xml | 2 +-
.../maven/packaging/AbstractValidateMojo.java | 2 +-
.../maven/packaging/GenerateMetadataMojo.java | 2 +-
.../packaging/MavenBasedPackageDependency.java | 35 +------
.../maven/packaging/ValidatePackageMojo.java | 16 +--
.../impl/context/ArchiveValidationContextImpl.java | 75 --------------
.../validator/impl/context/DependencyResolver.java | 108 ++++-----------------
.../impl/context/DirectoryValidationContext.java | 4 +-
.../impl/context/SubPackageValidationContext.java | 40 --------
.../packaging/MavenBasedPackageDependencyTest.java | 16 +--
10 files changed, 41 insertions(+), 259 deletions(-)
diff --git a/pom.xml b/pom.xml
index 85753bd..09c074e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.apache.jackrabbit.vault</groupId>
<artifactId>parent</artifactId>
<relativePath />
- <version>3.5.4</version>
+ <version>3.5.6</version>
</parent>
<!-- ====================================================================== -->
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java
index f1e695a..e56d239 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java
@@ -292,7 +292,7 @@ public abstract class AbstractValidateMojo extends AbstractMojo {
}
// resolve mapping map
resolver = new DependencyResolver(DefaultRepositoryRequest.getRepositoryRequest(session, project), repositorySystem,
- resolutionErrorHandler, resolveMap(mapPackageDependencyToMavenGa), resolvedDependencies);
+ resolutionErrorHandler, resolveMap(mapPackageDependencyToMavenGa), resolvedDependencies, getLog());
doExecute(validationHelper);
} catch (IOException e) {
throw new MojoExecutionException("Could not create/write to CSV File", e);
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
index 4a52ddc..7acde6d 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
@@ -326,7 +326,7 @@ public class GenerateMetadataMojo extends AbstractMetadataPackageMojo {
* </pre>
* All fields are optional. All filter criteria is concatenated with AND logic (i.e. every criterion must match for a specific dependency to be embedded).
* <br>
- * All filter patterns follow the format<code><filter>{,<filter>}</code>.
+ * All filter patterns follow the format <code><filter>{,<filter>}</code>.
* Each {@code filter} is a string which is either an exclude (if it starts with a {@code ~}) or an include otherwise. If the first {@code filter} is an include the pattern acts as whitelist,
* otherwise as blacklist. The last matching filter determines the outcome. Only matching dependencies are being considered for being embedded.</td></tr>
* <br>
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java
index 5ef7dc9..209f5fa 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java
@@ -26,6 +26,7 @@ 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;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.plugin.logging.Log;
@@ -110,8 +111,6 @@ public class MavenBasedPackageDependency {
private String mavenVersion;
- private final static String MAVEN_REPOSITORY_SCHEME = "maven";
-
// default constructor for passing Maven Mojo parameters of that type
public MavenBasedPackageDependency() {
@@ -267,40 +266,10 @@ public class MavenBasedPackageDependency {
ssp.append(":").append(classifier);
}
try {
- return new URI(MAVEN_REPOSITORY_SCHEME, ssp.toString(), null);
+ return new URI(AbstractDependencyResolver.MAVEN_REPOSITORY_SCHEME, ssp.toString(), null);
} catch (URISyntaxException e) {
throw new IllegalArgumentException("Could not create uri from string " + ssp.toString(), e);
}
}
- public static Artifact uriToMavenCoordinates(URI uri) {
- if (!MAVEN_REPOSITORY_SCHEME.equals(uri.getScheme())) {
- return null;
- }
- if (!uri.isOpaque()) {
- throw new IllegalArgumentException("Only opaque Maven URIs are supported");
- }
- // support groupId, artifactId, packaging and classifier (format like https://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html#artifact)
- // extract group id and artifact id
- String[] parts = uri.getSchemeSpecificPart().split(":");
- if (parts.length < 2) {
- throw new IllegalArgumentException("At least group id and artifact id need to be given separatedby ':'");
- }
- String groupId = parts[0];
- String artifactId = parts[1];
- String version = "default";
- if (parts.length > 2) {
- version = parts[2];
- }
- String type = "zip";
- if (parts.length > 3) {
- type = parts[3];
- }
- String classifier = "";
- if (parts.length > 4) {
- type = parts[4];
- }
- // TODO: version must not be null!
- return new DefaultArtifact(groupId, artifactId, version, null, type, classifier, null);
- }
}
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ValidatePackageMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ValidatePackageMojo.java
index 707227f..6e21646 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ValidatePackageMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ValidatePackageMojo.java
@@ -28,14 +28,14 @@ import java.util.LinkedList;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
-import org.apache.jackrabbit.filevault.maven.packaging.validator.impl.context.ArchiveValidationContextImpl;
-import org.apache.jackrabbit.filevault.maven.packaging.validator.impl.context.SubPackageValidationContext;
import org.apache.jackrabbit.vault.fs.io.Archive;
import org.apache.jackrabbit.vault.fs.io.ZipArchive;
import org.apache.jackrabbit.vault.fs.io.ZipStreamArchive;
import org.apache.jackrabbit.vault.util.Constants;
import org.apache.jackrabbit.vault.validation.ValidationExecutor;
import org.apache.jackrabbit.vault.validation.ValidationViolation;
+import org.apache.jackrabbit.vault.validation.context.ArchiveValidationContext;
+import org.apache.jackrabbit.vault.validation.context.SubPackageInArchiveValidationContext;
import org.apache.jackrabbit.vault.validation.spi.ValidationMessageSeverity;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
@@ -125,11 +125,11 @@ public class ValidatePackageMojo extends AbstractValidateMojo {
getLog().info("Start validating package " + getProjectRelativeFilePath(file) + "...");
// open file to extract the meta data for the validation context
- ArchiveValidationContextImpl context;
+ ArchiveValidationContext context;
ValidationExecutor executor;
try (Archive archive = new ZipArchive(file.toFile())) {
archive.open(true);
- context = new ArchiveValidationContextImpl(archive, file, resolver, getLog());
+ context = new ArchiveValidationContext(archive, file, resolver);
executor = validationExecutorFactory.createValidationExecutor(context, false, enforceRecursiveSubpackageValidation, getValidatorSettingsForPackage(context.getProperties().getId(), false));
if (executor != null) {
validationHelper.printUsedValidators(getLog(), executor, context, true);
@@ -143,13 +143,13 @@ public class ValidatePackageMojo extends AbstractValidateMojo {
}
}
- private void validateArchive(ValidationHelper validationHelper, Archive archive, Path path, ArchiveValidationContextImpl context,
+ private void validateArchive(ValidationHelper validationHelper, Archive archive, Path path, ArchiveValidationContext context,
ValidationExecutor executor) throws IOException, SAXException, ParserConfigurationException, MojoFailureException {
validateEntry(validationHelper, archive, archive.getRoot(), Paths.get(""), path, context, executor);
validationHelper.printMessages(executor.done(), getLog(), buildContext, path);
}
- private void validateEntry(ValidationHelper validationHelper, Archive archive, Archive.Entry entry, Path entryPath, Path packagePath, ArchiveValidationContextImpl context,
+ private void validateEntry(ValidationHelper validationHelper, Archive archive, Archive.Entry entry, Path entryPath, Path packagePath, ArchiveValidationContext context,
ValidationExecutor executor) throws IOException, SAXException, ParserConfigurationException, MojoFailureException {
// sort children to make sure that .content.xml comes first!
List<Archive.Entry> sortedEntryList = new ArrayList<>(entry.getChildren());
@@ -167,7 +167,7 @@ public class ValidatePackageMojo extends AbstractValidateMojo {
}
}
- private void validateInputStream(ValidationHelper validationHelper, @Nullable InputStream inputStream, Path entryPath, Path packagePath, ArchiveValidationContextImpl context,
+ private void validateInputStream(ValidationHelper validationHelper, @Nullable InputStream inputStream, Path entryPath, Path packagePath, ArchiveValidationContext context,
ValidationExecutor executor) throws IOException, SAXException, ParserConfigurationException, MojoFailureException {
Collection<ValidationViolation> messages = new LinkedList<>();
if (entryPath.startsWith(Constants.META_INF)) {
@@ -188,7 +188,7 @@ public class ValidatePackageMojo extends AbstractValidateMojo {
getLog().debug("ZIP entry " + subPackagePath + " is no subpackage as it is lacking the mandatory jcr_root entry");
} else {
getLog().info("Start validating sub package '" + subPackagePath + "'...");
- SubPackageValidationContext subPackageValidationContext = new SubPackageValidationContext(context, subArchive, subPackagePath, resolver, getLog());
+ SubPackageInArchiveValidationContext subPackageValidationContext = new SubPackageInArchiveValidationContext(context, subArchive, subPackagePath, resolver);
ValidationExecutor subPackageValidationExecutor = validationExecutorFactory
.createValidationExecutor(subPackageValidationContext, true, enforceRecursiveSubpackageValidation, getValidatorSettingsForPackage(subPackageValidationContext.getProperties().getId(), true));
if (subPackageValidationExecutor != null) {
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/ArchiveValidationContextImpl.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/ArchiveValidationContextImpl.java
deleted file mode 100644
index a1c4ecd..0000000
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/ArchiveValidationContextImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.filevault.maven.packaging.validator.impl.context;
-
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.Collection;
-
-import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
-import org.apache.jackrabbit.vault.fs.io.Archive;
-import org.apache.jackrabbit.vault.packaging.PackageInfo;
-import org.apache.jackrabbit.vault.packaging.PackageProperties;
-import org.apache.jackrabbit.vault.validation.spi.ValidationContext;
-import org.apache.maven.plugin.logging.Log;
-
-
-/**
- * Implements a validation context based on a given {@link Archive}.
- */
-public class ArchiveValidationContextImpl implements ValidationContext {
-
- private final WorkspaceFilter filter;
- private final PackageProperties properties;
- private final Path archivePath;
- private final Collection<PackageInfo> resolvedDependencies;
-
- public ArchiveValidationContextImpl(Archive archive, Path archivePath, DependencyResolver resolver, Log log) throws IOException {
- this.archivePath = archivePath;
- properties = archive.getMetaInf().getPackageProperties();
- this.filter = archive.getMetaInf().getFilter();
- if (filter == null) {
- throw new IllegalStateException("Archive '" + archivePath + "' does not contain a filter.xml.");
- }
- this.resolvedDependencies = resolver.resolve(getProperties().getDependencies(), getProperties().getDependenciesLocations(), log);
- }
-
- @Override
- public PackageProperties getProperties() {
- return properties;
- }
-
- @Override
- public WorkspaceFilter getFilter() {
- return filter;
- }
-
- @Override
- public ValidationContext getContainerValidationContext() {
- return null;
- }
-
- public Path getPackageRootPath() {
- return archivePath;
- }
-
- @Override
- public Collection<PackageInfo> getDependenciesPackageInfo() {
- return this.resolvedDependencies;
- }
-
-}
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java
index b8150ba..b7bb4d0 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java
@@ -31,6 +31,7 @@ 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;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
@@ -42,103 +43,21 @@ import org.apache.maven.repository.RepositorySystem;
import org.jetbrains.annotations.Nullable;
/** Allows to resolve a {@link Dependency} from the underlying Maven repository (first local, then remote). */
-public class DependencyResolver {
+public class DependencyResolver extends AbstractDependencyResolver {
private final RepositoryRequest repositoryRequest;
private final RepositorySystem repositorySystem;
private final ResolutionErrorHandler resolutionErrorHandler;
- private final Map<Dependency, Artifact> mapPackageDependencyToMavenArtifact;
- private final Collection<PackageInfo> knownPackageInfos;
+ private final Log log;
public DependencyResolver(RepositoryRequest repositoryRequest, RepositorySystem repositorySystem,
ResolutionErrorHandler resolutionErrorHandler, Map<Dependency, Artifact> mapPackageDependencyToMavenArtifact,
- Collection<PackageInfo> knownPackageInfos) {
- super();
+ Collection<PackageInfo> knownPackageInfos, Log log) {
+ super(knownPackageInfos);
this.repositoryRequest = repositoryRequest;
this.repositorySystem = repositorySystem;
this.resolutionErrorHandler = resolutionErrorHandler;
- this.mapPackageDependencyToMavenArtifact = mapPackageDependencyToMavenArtifact;
- this.knownPackageInfos = knownPackageInfos;
- }
-
- public List<PackageInfo> resolve(Dependency[] packageDependencies, Map<PackageId, URI> packageLocations, Log log) throws IOException {
- List<PackageInfo> packageInfos = new LinkedList<>();
-
- // resolve dependencies
- for (Dependency packageDependency : packageDependencies) {
- PackageInfo packageInfo = null;
- // is it already resolved?
- for (PackageInfo knownPackageInfo : knownPackageInfos) {
- if (packageDependency.matches(knownPackageInfo.getId())) {
- log.debug("Dependency is already resolved from project dependencies: " + packageDependency);
- packageInfo = knownPackageInfo;
- }
- }
- if (packageInfo == null) {
- for (Map.Entry<PackageId, URI> packageLocation : packageLocations.entrySet()) {
- if (packageDependency.matches(packageLocation.getKey())) {
- Artifact artifact = MavenBasedPackageDependency.uriToMavenCoordinates(packageLocation.getValue());
- packageInfo = resolve(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), log);
- }
- }
- }
- if (packageInfo == null) {
- packageInfo = resolve(packageDependency, log);
- }
- if (packageInfo != null) {
- packageInfos.add(packageInfo);
- }
- }
- return packageInfos;
- }
-
- public @Nullable PackageInfo resolve(Dependency dependency, Log log) throws IOException {
- // resolving a version range is not supported with Maven API, but only with lower level Aether API (requires Maven 3.5 or newer)
- // https://github.com/eclipse/aether-demo/blob/master/aether-demo-snippets/src/main/java/org/eclipse/aether/examples/FindAvailableVersions.java
- // therefore do an best effort resolve instead
-
- final String groupId;
- final String artifactId;
- // strip version for retrieving entry from mapping table
- Artifact artifact = mapPackageDependencyToMavenArtifact.get(new Dependency(dependency.getGroup(), dependency.getName(), null));
- // is it special artifact which is supposed to be ignored?
- if (artifact == AbstractValidateMojo.IGNORE_ARTIFACT) {
- return null;
- }
- log.info("Trying to resolve dependency '" + dependency + "' from Maven repository");
- // is it part of the mapping table?
- if (artifact != null) {
- groupId = artifact.getGroupId();
- artifactId = artifact.getArtifactId();
- } else {
- groupId = dependency.getGroup();
- artifactId = dependency.getName();
- }
- PackageInfo info = null;
- if (dependency.getRange().isLowInclusive()) {
- info = resolve(groupId, artifactId, dependency.getRange().getLow().toString(), log);
- }
- if (info == null && dependency.getRange().isHighInclusive()) {
- info = resolve(groupId, artifactId, dependency.getRange().getHigh().toString(), log);
- }
- if (info == null && VersionRange.INFINITE.equals(dependency.getRange())) {
- info = resolve(groupId, artifactId, Artifact.LATEST_VERSION, log);
- }
- if (info == null) {
- log.warn("Could not resolve dependency from any Maven Repository for dependency " + dependency);
- return null;
- }
- return info;
- }
-
- private @Nullable PackageInfo resolve(String groupId, String artifactId, String version, Log log) throws IOException {
- Artifact artifact = repositorySystem.createArtifact(groupId, artifactId, version, "zip");
- File file = resolve(artifact, log);
- if (file != null) {
- return DefaultPackageInfo.read(file);
- } else {
- return null;
- }
+ this.log = log;
}
private @Nullable File resolve(Artifact artifact, Log log) {
@@ -158,6 +77,21 @@ public class DependencyResolver {
}
return null;
}
+ }
+ @Override
+ public @Nullable PackageInfo resolvePackageInfo(MavenCoordinates mavenCoordinates) throws IOException {
+ final Artifact artifact;
+ if (mavenCoordinates.getClassifier() != null) {
+ artifact = repositorySystem.createArtifactWithClassifier(mavenCoordinates.getGroupId(), mavenCoordinates.getArtifactId(), mavenCoordinates.getVersion(), mavenCoordinates.getPackaging(), mavenCoordinates.getClassifier());
+ } else {
+ artifact = repositorySystem.createArtifact(mavenCoordinates.getGroupId(), mavenCoordinates.getArtifactId(), mavenCoordinates.getVersion(), mavenCoordinates.getPackaging());
+ }
+ File file = resolve(artifact, log);
+ if (file != null) {
+ return DefaultPackageInfo.read(file);
+ } else {
+ return null;
+ }
}
}
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java
index a9bb159..a723f9a 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java
@@ -47,7 +47,7 @@ public class DirectoryValidationContext implements ValidationContext {
private final PackageProperties properties;
private final DefaultWorkspaceFilter filter;
- private List<PackageInfo> resolvedDependencies;
+ private Collection<PackageInfo> resolvedDependencies;
private final boolean isIncremental;
private static final Path RELATIVE_PROPERTIES_XML_PATH = Paths.get(Constants.VAULT_DIR, Constants.PROPERTIES_XML);
@@ -82,7 +82,7 @@ public class DirectoryValidationContext implements ValidationContext {
}
filter.load(filterFile);
- this.resolvedDependencies = resolver.resolve(getProperties().getDependencies(), getProperties().getDependenciesLocations(), log);
+ this.resolvedDependencies = resolver.resolvePackageInfo(getProperties().getDependencies(), getProperties().getDependenciesLocations());
this.isIncremental = isIncremental;
}
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/SubPackageValidationContext.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/SubPackageValidationContext.java
deleted file mode 100644
index a16b2ba..0000000
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/SubPackageValidationContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.filevault.maven.packaging.validator.impl.context;
-
-import java.io.IOException;
-import java.nio.file.Path;
-
-import org.apache.jackrabbit.vault.fs.io.Archive;
-import org.apache.jackrabbit.vault.validation.spi.ValidationContext;
-import org.apache.maven.plugin.logging.Log;
-
-public class SubPackageValidationContext extends ArchiveValidationContextImpl {
-
- private final ValidationContext containerPackageContext;
-
- public SubPackageValidationContext(ArchiveValidationContextImpl containerPackageContext, Archive archive, Path archivePath, DependencyResolver resolver, Log log) throws IOException {
- super(archive, archivePath, resolver, log);
- this.containerPackageContext = containerPackageContext;
- }
-
- @Override
- public ValidationContext getContainerValidationContext() {
- return containerPackageContext;
- }
-
-}
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 feff012..9aa363b 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
@@ -19,19 +19,13 @@ package org.apache.jackrabbit.filevault.maven.packaging;
import java.net.URI;
import java.net.URISyntaxException;
-import org.apache.jackrabbit.filevault.maven.packaging.SimpleEmbeddedTest.SimpleArtifact;
-import org.apache.maven.artifact.Artifact;
+import org.apache.jackrabbit.vault.validation.context.AbstractDependencyResolver.MavenCoordinates;
import org.junit.Assert;
import org.junit.Test;
public class MavenBasedPackageDependencyTest {
@Test
- public void testUriToMavenCoordinates() throws URISyntaxException {
- Assert.assertEquals(new SimpleArtifact("group1", "name1", null, "zip"), MavenBasedPackageDependency.uriToMavenCoordinates(new URI("maven", "group1:name1", null)));
- }
-
- @Test
public void testMavenCoordinatesToUri() throws URISyntaxException {
Assert.assertEquals(new URI("maven", "group1:name1:1.0:zip:classifier1", null), MavenBasedPackageDependency.mavenCoordinatesToUri("group1", "name1", "1.0", "classifier1"));
Assert.assertEquals(new URI("maven", "group1:name1:1.0:zip", null), MavenBasedPackageDependency.mavenCoordinatesToUri("group1", "name1", "1.0", null));
@@ -39,14 +33,14 @@ public class MavenBasedPackageDependencyTest {
@Test
public void testMavenCoordinatesToUriRoundtrip() throws URISyntaxException {
- Artifact artifact = new SimpleArtifact("groupname", "artifactName", null, "zip");
- Assert.assertEquals(artifact, MavenBasedPackageDependency.uriToMavenCoordinates(MavenBasedPackageDependency.mavenCoordinatesToUri(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getClassifier())));
+ MavenCoordinates coordinates = new MavenCoordinates("groupname", "artifactName", "1.0");
+ Assert.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);
- Artifact artifact = MavenBasedPackageDependency.uriToMavenCoordinates(uri);
- Assert.assertEquals(uri, MavenBasedPackageDependency.mavenCoordinatesToUri(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getClassifier()));
+ MavenCoordinates coordinates = MavenCoordinates.parse(uri);
+ Assert.assertEquals(uri, MavenBasedPackageDependency.mavenCoordinatesToUri(coordinates.getGroupId(), coordinates.getArtifactId(), coordinates.getVersion(), coordinates.getClassifier()));
}
}