JCRVLT-405 prevent NPE for unknown package dependencies

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/commons/filevault-package-maven-plugin/trunk@1873208 13f79535-47bb-0310-9956-ffa450edef68
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 92d2a2e..f9b0d06 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
@@ -754,7 +754,7 @@
         if (!dependencies.isEmpty()) {
             MavenBasedPackageDependency.resolve(project, getLog(), dependencies);
             // pid = uri
-            dependenciesLocations = dependencies.stream().map(a -> a.getInfo().getId().toString() + "=" + a.getLocation()).collect(Collectors.joining(","));
+            dependenciesLocations = dependencies.stream().filter(a -> a.getInfo() != null).map(a -> a.getInfo().getId().toString() + "=" + a.getLocation()).collect(Collectors.joining(","));
         }
         return dependenciesLocations;
     }
diff --git a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/DependencyCheckIT.java b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/DependencyCheckIT.java
index 463e327..0eb0aed 100644
--- a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/DependencyCheckIT.java
+++ b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/DependencyCheckIT.java
@@ -27,7 +27,7 @@
 @RunWith(Parameterized.class)
 public class DependencyCheckIT {
 
-    @Parameterized.Parameters
+    @Parameterized.Parameters(name="{index}: project {0}")
     public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {"fail-missing-deps", true},
@@ -39,7 +39,8 @@
                 {"no-errors", false},
                 {"repo-structure-pkg", false},
                 {"no-error-cleanup", false},
-                {"no-error-cleanup-filter", false}
+                {"no-error-cleanup-filter", false},
+                {"no-error-unknown-dependency", false}
         });
     }
 
diff --git a/src/test/resources/test-projects/validate-deps-projects/no-error-unknown-dependency/pom.xml b/src/test/resources/test-projects/validate-deps-projects/no-error-unknown-dependency/pom.xml
new file mode 100755
index 0000000..b54d8df
--- /dev/null
+++ b/src/test/resources/test-projects/validate-deps-projects/no-error-unknown-dependency/pom.xml
@@ -0,0 +1,52 @@
+<!--
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.jackrabbit.filevault</groupId>
+    <artifactId>package-plugin-test-pkg</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>content-package</packaging>
+    <name>Packaging test</name>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>filevault-package-maven-plugin</artifactId>
+                <version>${plugin.version}</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <packageType>application</packageType>
+                    <failOnDependencyErrors>true</failOnDependencyErrors>
+                    <filters>
+                        <filter>
+                            <root>/tmp/foo</root>
+                        </filter>
+                    </filters>
+                    <dependencies>
+                        <dependency>
+                            <group>some/unknown/group</group>
+                            <name>somename</name>
+                            <version>[2.0,)</version>
+                        </dependency>
+                    </dependencies>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>