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/09/25 08:08:13 UTC

svn commit: r1809591 - in /jackrabbit/commons/filevault-package-maven-plugin/trunk: it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ it/src/test/resources/test-projects/package-type-auto-application-cleanup/ it/src/test/resources/test-...

Author: tripod
Date: Mon Sep 25 08:08:13 2017
New Revision: 1809591

URL: http://svn.apache.org/viewvc?rev=1809591&view=rev
Log:
JCRVLT-205 Add support for cleanup filter entries

Added:
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto-application-cleanup/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto-application-cleanup/pom.xml   (contents, props changed)
      - copied, changed from r1809590, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/filter.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml
      - copied, changed from r1809590, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml
      - copied, changed from r1809590, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml
Modified:
    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/java/org/apache/jackrabbit/filevault/maven/packaging/PackageTypesTest.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/Filter.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DefaultWorkspaceFilter.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/PathFilterSet.java

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=1809591&r1=1809590&r2=1809591&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 Mon Sep 25 08:08:13 2017
@@ -43,7 +43,9 @@ public class DependencyCheckTest {
                 {"fail-no-contains", true},
                 {"fail-no-cover", true},
                 {"no-errors", false},
-                {"repo-structure-pkg", false}
+                {"repo-structure-pkg", false},
+                {"no-error-cleanup", false},
+                {"no-error-cleanup-filter", false}
         });
     }
 

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/PackageTypesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/PackageTypesTest.java?rev=1809591&r1=1809590&r2=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/PackageTypesTest.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/PackageTypesTest.java Mon Sep 25 08:08:13 2017
@@ -43,7 +43,14 @@ public class PackageTypesTest {
 
     @Parameterized.Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][]{{"application", false}, {"application-sourced", false}, {"content", false}, {"mixed", false}, {"container", false}, {"invalid", true}});
+        return Arrays.asList(new Object[][]{
+                {"application", false},
+                {"application-sourced", false},
+                {"application-cleanup", false},
+                {"content", false},
+                {"mixed", false},
+                {"container", false},
+                {"invalid", true}});
     }
 
     private final String type;

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto-application-cleanup/pom.xml (from r1809590, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto-application-cleanup/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto-application-cleanup/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml&r1=1809590&r2=1809591&rev=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/package-type-auto-application-cleanup/pom.xml Mon Sep 25 08:08:13 2017
@@ -16,11 +16,10 @@
   -->
 <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>
@@ -29,10 +28,14 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <failOnDependencyErrors>true</failOnDependencyErrors>
+                    <failOnDependencyErrors>false</failOnDependencyErrors>
                     <filters>
                         <filter>
-                            <root>/libs/foo</root>
+                            <root>/apps/test</root>
+                        </filter>
+                        <filter>
+                            <root>/etc/clientlibs/cleanup</root>
+                            <type>cleanup</type>
                         </filter>
                     </filters>
                 </configuration>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/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/pom.xml?rev=1809591&r1=1809590&r2=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml Mon Sep 25 08:08:13 2017
@@ -16,6 +16,7 @@
   -->
 <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>

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/filter.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/filter.xml?rev=1809591&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/filter.xml (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/filter.xml Mon Sep 25 08:08:13 2017
@@ -0,0 +1,21 @@
+<?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 type="cleanup" root="/libs/foo"/>
+</workspaceFilter>

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml (from r1809590, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml&r1=1809590&r2=1809591&rev=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml Mon Sep 25 08:08:13 2017
@@ -16,6 +16,7 @@
   -->
 <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>
@@ -30,11 +31,7 @@
                 <extensions>true</extensions>
                 <configuration>
                     <failOnDependencyErrors>true</failOnDependencyErrors>
-                    <filters>
-                        <filter>
-                            <root>/libs/foo</root>
-                        </filter>
-                    </filters>
+                    <filterSource>${project.basedir}/filter.xml</filterSource>
                 </configuration>
             </plugin>
         </plugins>

Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml (from r1809590, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml&r1=1809590&r2=1809591&rev=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml Mon Sep 25 08:08:13 2017
@@ -16,6 +16,7 @@
   -->
 <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>
@@ -33,6 +34,7 @@
                     <filters>
                         <filter>
                             <root>/libs/foo</root>
+                            <type>cleanup</type>
                         </filter>
                     </filters>
                 </configuration>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java?rev=1809591&r1=1809590&r2=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java Mon Sep 25 08:08:13 2017
@@ -83,6 +83,9 @@ public class DependencyValidator {
         // check that this filter is covered.
         Set<String> ancestors = new HashSet<String>();
         for (PathFilterSet set: filters.getFilterSets()) {
+            if (set.isCleanUp()) {
+                continue;
+            }
             String root = StringUtils.substringBeforeLast(set.getRoot(), "/");
             // ignore root node as ancestor
             if ("/".equals(root)) {

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/Filter.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/Filter.java?rev=1809591&r1=1809590&r2=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/Filter.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/Filter.java Mon Sep 25 08:08:13 2017
@@ -29,6 +29,7 @@ public class Filter {
      *
      * &lt;filter&gt;
      *      &lt;root&gt;/var&lt;/root&gt;
+     *      &lt;type&gt;cleanup&lt;/type&gt;
      *      &lt;mode&gt;merge&lt;/mode&gt;
      *      &lt;includes&gt;
      *          &lt;include&gt;dam/sharepoint(/.*)?&lt;/include&gt;
@@ -45,6 +46,8 @@ public class Filter {
     /** ImportMode defaulting to REPLACE */
     private ImportMode mode = ImportMode.REPLACE;
 
+    private boolean cleanupType;
+
     private final IncludeExcludeList includes = new IncludeExcludeList();
 
     private final IncludeExcludeList excludes = new IncludeExcludeList();
@@ -74,10 +77,19 @@ public class Filter {
         return mode;
     }
 
+    public boolean isCleanupType() {
+        return cleanupType;
+    }
+
+    public void setType(String type) {
+        cleanupType = "cleanup".equals(type);
+    }
+
     public PathFilterSet toPathFilterSet() {
         PathFilterSet set = new PathFilterSet();
         set.setRoot(root);
         set.setImportMode(mode);
+        set.setCleanUp(cleanupType);
         for (String pattern: includes) {
             set.addInclude(new DefaultPathFilter(pattern));
         }

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=1809591&r1=1809590&r2=1809591&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 Mon Sep 25 08:08:13 2017
@@ -834,6 +834,9 @@ public class VaultMojo extends AbstractE
             boolean hasApps = false;
             boolean hasOther = false;
             for (PathFilterSet p: filters.getFilterSets()) {
+                if (p.isCleanUp()) {
+                    continue;
+                }
                 String root = p.getRoot();
                 if ("/apps".equals(root) || root.startsWith("/apps/") || "/libs".equals(root) || root.startsWith("/libs/")) {
                     hasApps = true;

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DefaultWorkspaceFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DefaultWorkspaceFilter.java?rev=1809591&r1=1809590&r2=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DefaultWorkspaceFilter.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/DefaultWorkspaceFilter.java Mon Sep 25 08:08:13 2017
@@ -178,11 +178,11 @@ public class DefaultWorkspaceFilter  {
             DocumentBuilder builder = factory.newDocumentBuilder();
             Document document = builder.parse(in);
             Element doc = document.getDocumentElement();
-            if (!doc.getNodeName().equals("workspaceFilter")) {
+            if (!"workspaceFilter".equals(doc.getNodeName())) {
                 throw new IOException("<workspaceFilter> expected.");
             }
             String v = doc.getAttribute(ATTR_VERSION);
-            if (v == null || v.equals("")) {
+            if (v == null || "".equals(v)) {
                 v = "1.0";
             }
             version = Double.parseDouble(v);
@@ -209,7 +209,7 @@ public class DefaultWorkspaceFilter  {
         for (int i=0; i<nl.getLength(); i++) {
             Node child = nl.item(i);
             if (child.getNodeType() == Node.ELEMENT_NODE) {
-                if (!child.getNodeName().equals("filter")) {
+                if (!"filter".equals(child.getNodeName())) {
                     throw new IOException("<filter> expected.");
                 }
                 PathFilterSet def = readDef((Element) child);
@@ -226,14 +226,17 @@ public class DefaultWorkspaceFilter  {
         if (mode != null && mode.length() > 0) {
             def.setImportMode(ImportMode.valueOf(mode.toUpperCase()));
         }
+        // check for type
+        def.setCleanUp("cleanup".equals(elem.getAttribute("type")));
+
         // check for filters
         NodeList n1 = elem.getChildNodes();
         for (int i=0; i<n1.getLength(); i++) {
             Node child = n1.item(i);
             if (child.getNodeType() == Node.ELEMENT_NODE) {
-                if (child.getNodeName().equals("include")) {
+                if ("include".equals(child.getNodeName())) {
                     def.addInclude(readFilter((Element) child));
-                } else if (child.getNodeName().equals("exclude")) {
+                } else if ("exclude".equals(child.getNodeName())) {
                     def.addExclude(readFilter((Element) child));
                 } else {
                     throw new IOException("either <include> or <exclude> expected.");
@@ -245,7 +248,7 @@ public class DefaultWorkspaceFilter  {
 
     private PathFilter readFilter(Element elem) throws IOException {
         String pattern = elem.getAttribute("pattern");
-        if (pattern == null || pattern.equals("")) {
+        if (pattern == null || "".equals(pattern)) {
             throw new IOException("Filter pattern must not be empty");
         }
         return new DefaultPathFilter(pattern);
@@ -269,6 +272,9 @@ public class DefaultWorkspaceFilter  {
                 //attrs = new AttributesImpl();
                 //attrs.addAttribute(null, null, "root", "CDATA", set.getRoot());
                 ser.attribute(null, "root", set.getRoot());
+                if (set.isCleanUp()) {
+                    ser.attribute(null, "type", "cleanup");
+                }
                 if (set.getImportMode() != ImportMode.REPLACE) {
                     //attrs.addAttribute(null, null, "mode", "CDATA", set.getImportMode().name().toLowerCase());
                     ser.attribute(null, "mode", set.getImportMode().name().toLowerCase());

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/PathFilterSet.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/PathFilterSet.java?rev=1809591&r1=1809590&r2=1809591&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/PathFilterSet.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/PathFilterSet.java Mon Sep 25 08:08:13 2017
@@ -48,6 +48,8 @@ public class PathFilterSet extends Filte
      */
     private boolean onlyRelativePatterns;
 
+    private boolean cleanUp;
+
     /**
      * Default constructor. initializes the root path to "/"
      */
@@ -64,6 +66,24 @@ public class PathFilterSet extends Filte
     }
 
     /**
+     * Specifies if this filter is a cleanup filter. A cleanup filter has weaker dependency constraints.
+     * @return {@code true} if this is a cleanup filter.
+     */
+    public boolean isCleanUp() {
+        return cleanUp;
+    }
+
+    /**
+     * Marks this filter as cleanup filter if set to {@code true}.
+     * @param cleanUp cleanup attribute.
+     * @return this.
+     */
+    public PathFilterSet setCleanUp(boolean cleanUp) {
+        this.cleanUp = cleanUp;
+        return this;
+    }
+
+    /**
      * Evaluates the filters if this set does {@link #covers(String) cover} the
      * given item. otherwise <code>false</code> is returned.
      * The result of the evaluation is the polarity of the last matched path.