add unit test for computing dependencies
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 e13e0ab..0c3d041 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
@@ -234,7 +234,7 @@
* {@code ()} or excluded using brackets {@code []}
*/
@Parameter(property = "vault.dependencies")
- private Collection<MavenBasedPackageDependency> dependencies = new LinkedList<>();
+ Collection<MavenBasedPackageDependency> dependencies = new LinkedList<>();
/**
@@ -773,7 +773,7 @@
* @return the dependency string
* @throws URISyntaxException
*/
- private String computeDependencies() throws IOException {
+ String computeDependencies() throws IOException {
String dependenciesString = null;
if (!dependencies.isEmpty()) {
MavenBasedPackageDependency.resolve(project, getLog(), dependencies);
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 fa88841..5ef7dc9 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
@@ -117,6 +117,14 @@
}
+ static MavenBasedPackageDependency fromGroupNameAndVersion(String group, String name, String version) {
+ MavenBasedPackageDependency dependency = new MavenBasedPackageDependency();
+ dependency.group = group;
+ dependency.name = name;
+ dependency.version = version;
+ return dependency;
+ }
+
/**
* Converts a list of {@link MavenBasedPackageDependency} instances to vault dependencies.
*
diff --git a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojoTest.java b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojoTest.java
index fed386f..2355ce9 100644
--- a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojoTest.java
+++ b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojoTest.java
@@ -23,6 +23,7 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -123,6 +124,18 @@
}
}
+ @Test
+ public void testComputeDependencies() throws IOException {
+ GenerateMetadataMojo mojo = new GenerateMetadataMojo();
+ mojo.dependencies = new ArrayList<>();
+ MavenBasedPackageDependency dependency = MavenBasedPackageDependency.fromGroupNameAndVersion("day/cq60/product", "cq-content", "[6.3.64,)");
+ mojo.dependencies.add(dependency);
+ dependency = MavenBasedPackageDependency.fromGroupNameAndVersion("mygroup", "mypackage", "[1,2)");
+ mojo.dependencies.add(dependency);
+ // upper bound of the first dependency is left out in case it is unlimited
+ Assert.assertEquals("day/cq60/product:cq-content:6.3.64,mygroup:mypackage:[1,2)", mojo.computeDependencies());
+ }
+
private void assertEscapedValueWorksInManifest(String value) throws IOException {
String escapedValue = GenerateMetadataMojo.escapeManifestValue(value);
Manifest manifest = new Manifest();
@@ -156,4 +169,5 @@
return value.replaceAll("\r ", "");
}
+
}