You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2017/10/17 09:01:51 UTC

svn commit: r1812375 - in /jackrabbit/commons/filevault-package-maven-plugin/trunk: it/ it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ it/src/test/resources/test-projects/check-signature/ it/src/test/resources/test-projects/filter-te...

Author: tripod
Date: Tue Oct 17 09:01:50 2017
New Revision: 1812375

URL: http://svn.apache.org/viewvc?rev=1812375&view=rev
Log:
JCRVLT-212 Fail build if resulting package will not have any filter.

also fixes:
- JCRVLT-213 package type and dependency analyzer should use default filter.xml

Added:
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/FilterTest.java
      - copied, changed from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/vault/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/vault/filter.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/expected-filter.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/.content.xml   (with props)
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/pom.xml
      - copied, changed from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-fails/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-fails/pom.xml
      - copied, changed from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/expected-filter.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/pom.xml
      - copied, changed from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/pom.xml   (contents, props changed)
      - copied, changed from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml
Modified:
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/check-signature/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-types/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/pom.xml?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/pom.xml Tue Oct 17 09:01:50 2017
@@ -78,6 +78,7 @@
                     <configuration>
                         <excludes>
                             <exclude>src/test/resources/test-projects/**/*.txt</exclude>
+                            <exclude>src/test/resources/test-projects/**/expected-filter.xml</exclude>
                         </excludes>
                     </configuration>
                 </plugin>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java Tue Oct 17 09:01:50 2017
@@ -39,6 +39,7 @@ public class DependencyCheckTest {
     public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {"fail-missing-deps", true},
+                {"fail-missing-deps-implicit", true},
                 {"fail-no-maven-deps", true},
                 {"fail-no-contains", true},
                 {"fail-no-cover", true},

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/FilterTest.java (from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/FilterTest.java?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/FilterTest.java&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java&r1=1812360&r2=1812375&rev=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyCheckTest.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/FilterTest.java Tue Oct 17 09:01:50 2017
@@ -21,31 +21,31 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Properties;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
 
 import org.apache.maven.it.VerificationException;
 import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.FileUtils;
+import org.apache.maven.it.util.IOUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @RunWith(Parameterized.class)
-public class DependencyCheckTest {
+public class FilterTest {
 
     @Parameterized.Parameters
     public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
-                {"fail-missing-deps", true},
-                {"fail-no-maven-deps", true},
-                {"fail-no-contains", true},
-                {"fail-no-cover", true},
-                {"no-errors", false},
-                {"repo-structure-pkg", false},
-                {"no-error-cleanup", false},
-                {"no-error-cleanup-filter", false}
+                {"no-filter-fails", true},
+                {"no-filter-with-prop-ok", false},
+                {"implicit-filter", false},
         });
     }
 
@@ -53,7 +53,7 @@ public class DependencyCheckTest {
 
     private final boolean expectToFail;
 
-    public DependencyCheckTest(String projectName, boolean expectToFail) {
+    public FilterTest(String projectName, boolean expectToFail) {
         this.projectName = projectName;
         this.expectToFail = expectToFail;
     }
@@ -61,7 +61,6 @@ public class DependencyCheckTest {
     private void verify(File projectDir) throws VerificationException, IOException {
         final Properties props = new Properties();
         props.put("plugin.version", System.getProperty("plugin.version"));
-        props.put("testcontent.directory", new File("target/test-classes/test-content").getAbsolutePath());
 
         Verifier verifier = new Verifier(projectDir.getAbsolutePath());
         verifier.setSystemProperties(props);
@@ -78,13 +77,23 @@ public class DependencyCheckTest {
         }
 
         final File packageFile = new File(projectDir, "target/package-plugin-test-pkg-1.0.0-SNAPSHOT.zip");
-        assertThat(packageFile.exists(), is(true));
+        assertTrue(packageFile.exists());
+
+        ZipFile zip = new ZipFile(packageFile);
+        ZipEntry entry = zip.getEntry("META-INF/vault/filter.xml");
+
+        // this is a bit a hack, but it is the only test that doesn't have a filter.xml
+        assertNotNull("package has a filter.xml", entry);
+
+        String result = IOUtil.toString(zip.getInputStream(entry), "utf-8");
+        String expected = FileUtils.fileRead(new File(projectDir.getAbsolutePath(), "expected-filter.xml"));
+        assertEquals("filter.xml is correct", expected, result);
     }
 
 
     @Test
-    public void test_dependency_checks() throws Exception {
-        final File projectDir = new File("target/test-classes/test-projects/validate-deps-projects/" + projectName);
+    public void test_filter_checks() throws Exception {
+        final File projectDir = new File("target/test-classes/test-projects/filter-tests/" + projectName);
         verify(projectDir);
     }
 }

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/check-signature/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/check-signature/pom.xml?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/check-signature/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/check-signature/pom.xml Tue Oct 17 09:01:50 2017
@@ -35,6 +35,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
+                    <failOnEmptyFilter>false</failOnEmptyFilter>
                     <signature>
                         <groupId>org.codehaus.mojo.signature</groupId>
                         <artifactId>java18</artifactId>

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/vault/filter.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/vault/filter.xml?rev=1812375&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/vault/filter.xml (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/META-INF/vault/filter.xml Tue Oct 17 09:01:50 2017
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  -->
+<workspaceFilter version="1.0">
+    <filter root="/apps/test"/>
+</workspaceFilter>

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/expected-filter.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/expected-filter.xml?rev=1812375&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/expected-filter.xml (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/expected-filter.xml Tue Oct 17 09:01:50 2017
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  -->
+<workspaceFilter version="1.0">
+    <filter root="/apps/test"/>
+</workspaceFilter>

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/.content.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/.content.xml?rev=1812375&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/.content.xml (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/.content.xml Tue Oct 17 09:01:50 2017
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  -->
+
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+    jcr:primaryType="sling:Folder"/>

Propchange: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/jcr_root/aps/.content.xml
------------------------------------------------------------------------------
    svn:executable = *

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/pom.xml (from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml&r1=1812360&r2=1812375&rev=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/implicit-filter/pom.xml Tue Oct 17 09:01:50 2017
@@ -25,9 +25,18 @@
     <version>1.0.0-SNAPSHOT</version>
     <packaging>content-package</packaging>
 
-    <description>Description from project</description>
+    <description>Test project that defines an implicit filter in META-INF/vault</description>
     <build>
-
+        <resources>
+            <resource>
+                <directory>${basedir}/META-INF</directory>
+                <targetPath>${project.build.directory}/vault-work/META-INF</targetPath>
+            </resource>
+            <resource>
+                <directory>${basedir}/jcr_root</directory>
+                <targetPath>.</targetPath>
+            </resource>
+        </resources>
         <plugins>
             <plugin>
                 <groupId>org.apache.jackrabbit</groupId>
@@ -35,10 +44,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <properties>
-                        <description>Description from plugin</description>
-                        <empty></empty>
-                    </properties>
+                    <failOnDependencyErrors>false</failOnDependencyErrors>
                 </configuration>
             </plugin>
         </plugins>

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-fails/pom.xml (from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-fails/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-fails/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml&r1=1812360&r2=1812375&rev=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-fails/pom.xml Tue Oct 17 09:01:50 2017
@@ -25,9 +25,8 @@
     <version>1.0.0-SNAPSHOT</version>
     <packaging>content-package</packaging>
 
-    <description>Description from project</description>
+    <description>Test project that does not define a filter and fails building.</description>
     <build>
-
         <plugins>
             <plugin>
                 <groupId>org.apache.jackrabbit</groupId>
@@ -35,10 +34,6 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <properties>
-                        <description>Description from plugin</description>
-                        <empty></empty>
-                    </properties>
                 </configuration>
             </plugin>
         </plugins>

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/expected-filter.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/expected-filter.xml?rev=1812375&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/expected-filter.xml (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/expected-filter.xml Tue Oct 17 09:01:50 2017
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<workspaceFilter version="1.0" />

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/pom.xml (from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml&r1=1812360&r2=1812375&rev=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/filter-tests/no-filter-with-prop-ok/pom.xml Tue Oct 17 09:01:50 2017
@@ -25,9 +25,8 @@
     <version>1.0.0-SNAPSHOT</version>
     <packaging>content-package</packaging>
 
-    <description>Description from project</description>
+    <description>Test project that does not define a filter but ignores missing filters.</description>
     <build>
-
         <plugins>
             <plugin>
                 <groupId>org.apache.jackrabbit</groupId>
@@ -35,10 +34,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <properties>
-                        <description>Description from plugin</description>
-                        <empty></empty>
-                    </properties>
+                    <failOnEmptyFilter>false</failOnEmptyFilter>
                 </configuration>
             </plugin>
         </plugins>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/override-description/pom.xml Tue Oct 17 09:01:50 2017
@@ -35,6 +35,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
+                    <failOnEmptyFilter>false</failOnEmptyFilter>
                     <properties>
                         <description>Description from plugin</description>
                         <empty></empty>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml Tue Oct 17 09:01:50 2017
@@ -29,6 +29,7 @@
                 <extensions>true</extensions>
                 <configuration>
                     <!-- TODO: implement auto detection -->
+                    <failOnEmptyFilter>false</failOnEmptyFilter>
                     <packageType>container</packageType>
                 </configuration>
             </plugin>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-types/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-types/pom.xml?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-types/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-types/pom.xml Tue Oct 17 09:01:50 2017
@@ -29,6 +29,7 @@
                 <extensions>true</extensions>
                 <configuration>
                     <packageType>${test.packageType}</packageType>
+                    <failOnEmptyFilter>false</failOnEmptyFilter>
                 </configuration>
             </plugin>
         </plugins>

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml?rev=1812375&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml Tue Oct 17 09:01:50 2017
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  -->
+<workspaceFilter version="1.0">
+    <filter root="/apps/test"/>
+</workspaceFilter>

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/pom.xml (from r1812360, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml&r1=1812360&r2=1812375&rev=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto/container/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/pom.xml Tue Oct 17 09:01:50 2017
@@ -20,7 +20,19 @@
     <artifactId>package-plugin-test-pkg</artifactId>
     <version>1.0.0-SNAPSHOT</version>
     <packaging>content-package</packaging>
+    <name>Packaging test</name>
+
     <build>
+        <resources>
+            <resource>
+                <directory>${basedir}/META-INF</directory>
+                <targetPath>${project.build.directory}/vault-work/META-INF</targetPath>
+            </resource>
+            <resource>
+                <directory>${basedir}/jcr_root</directory>
+                <targetPath>.</targetPath>
+            </resource>
+        </resources>
         <plugins>
             <plugin>
                 <groupId>org.apache.jackrabbit</groupId>
@@ -28,8 +40,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <!-- TODO: implement auto detection -->
-                    <packageType>container</packageType>
+                    <failOnDependencyErrors>true</failOnDependencyErrors>
                 </configuration>
             </plugin>
         </plugins>

Propchange: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/pom.xml
------------------------------------------------------------------------------
    svn:executable = *

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java?rev=1812375&r1=1812374&r2=1812375&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java Tue Oct 17 09:01:50 2017
@@ -229,6 +229,16 @@ public class VaultMojo extends AbstractE
     private boolean failOnDependencyErrors;
 
     /**
+     * Controls if empty workspace filter fails the build.
+     */
+    @Parameter(
+            property = "vault.failOnEmptyFilter",
+            defaultValue="true",
+            required = true)
+    private boolean failOnEmptyFilter;
+
+
+    /**
      * Defines the path under which the embedded bundles are placed. defaults to '/apps/bundles/install'
      * @since 0.0.6
      */
@@ -369,7 +379,12 @@ public class VaultMojo extends AbstractE
                     if (filters.getSourceAsString().equals(oldFilter.getSourceAsString())) {
                         filterFile = null;
                     } else {
-                        filterFile = new File(vaultDir, "filter-plugin-generated.xml");
+                        if (filters.getFilterSets().isEmpty()) {
+                            filters.load(filterFile);
+                            filterFile = null;
+                        } else {
+                            filterFile = new File(vaultDir, "filter-plugin-generated.xml");
+                        }
                     }
                 } else {
                     if (filters.getFilterSets().isEmpty() && prefix.length() > 0) {
@@ -391,6 +406,11 @@ public class VaultMojo extends AbstractE
             if (filterFile != null) {
                 FileUtils.fileWrite(filterFile.getAbsolutePath(), filters.getSourceAsString());
             }
+            if (filters.getFilterSets().isEmpty() && failOnEmptyFilter) {
+                final String msg = "No workspace filter defined (failOnEmptyFilter=true)";
+                getLog().error(msg);
+                throw new MojoExecutionException(msg);
+            }
 
             validatePackageType();
             computeImportPackage();