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/11/27 01:29:57 UTC

svn commit: r1816404 - in /jackrabbit/commons/filevault-package-maven-plugin/trunk/src: main/java/org/apache/jackrabbit/filevault/maven/packaging/ test/resources/test-content/ test/resources/test-projects/validate-deps-projects/fail-missing-deps-implic...

Author: tripod
Date: Mon Nov 27 01:29:57 2017
New Revision: 1816404

URL: http://svn.apache.org/viewvc?rev=1816404&view=rev
Log:
JCRVLT-219 Internal ancestors not used for dependency validation

Added:
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-content/test-package-exclude.zip
Modified:
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-no-contains/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-errors/pom.xml
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/repo-structure-pkg/pom.xml

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/DependencyValidator.java Mon Nov 27 01:29:57 2017
@@ -41,6 +41,8 @@ public class DependencyValidator {
 
     private List<String> errors = new LinkedList<String>();
 
+    private static Set<String> VALID_ROOTS = new HashSet<>(Arrays.asList("", "/", "/libs", "/apps", "/etc", "/var", "/tmp", "/content"));
+
     public DependencyValidator addDependencies(Dependency ... dependencies) {
         this.dependencies.addAll(Arrays.asList(dependencies));
         return this;
@@ -89,8 +91,13 @@ public class DependencyValidator {
                 continue;
             }
             String root = StringUtils.substringBeforeLast(set.getRoot(), "/");
-            // ignore root node as ancestor
-            if ("/".equals(root)) {
+            // ignore well known roots
+            if (VALID_ROOTS.contains(root)) {
+                continue;
+            }
+
+            // check if this package already contains the ancestor
+            if (filters.contains(root)) {
                 continue;
             }
             ancestors.add(root);

Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-content/test-package-exclude.zip
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-content/test-package-exclude.zip?rev=1816404&view=auto
==============================================================================
Binary files jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-content/test-package-exclude.zip (added) and jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-content/test-package-exclude.zip Mon Nov 27 01:29:57 2017 differ

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/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/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps-implicit/META-INF/vault/filter.xml Mon Nov 27 01:29:57 2017
@@ -16,5 +16,5 @@
   limitations under the License.
   -->
 <workspaceFilter version="1.0">
-    <filter root="/apps/test"/>
+    <filter root="/apps/test/foo"/>
 </workspaceFilter>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/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/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-missing-deps/pom.xml Mon Nov 27 01:29:57 2017
@@ -33,7 +33,7 @@
                     <failOnDependencyErrors>true</failOnDependencyErrors>
                     <filters>
                         <filter>
-                            <root>/libs/foo</root>
+                            <root>/libs/foo/bar</root>
                         </filter>
                     </filters>
                 </configuration>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-no-contains/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-no-contains/pom.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-no-contains/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/fail-no-contains/pom.xml Mon Nov 27 01:29:57 2017
@@ -48,6 +48,14 @@
     </build>
     <dependencies>
         <dependency>
+            <!--
+            Test Package contains:
+
+            <workspaceFilter version="1.0">
+                <filter root="/tmp" />
+                <filter root="/var/foo/bar"/>
+            </workspaceFilter>
+            -->
             <groupId>com.apache.jackrabbit.filevault</groupId>
             <artifactId>test.content.package</artifactId>
             <version>1.0.0</version>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup-filter/pom.xml Mon Nov 27 01:29:57 2017
@@ -30,6 +30,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
+                    <packageType>application</packageType>
                     <failOnDependencyErrors>true</failOnDependencyErrors>
                     <filterSource>${project.basedir}/filter.xml</filterSource>
                 </configuration>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-error-cleanup/pom.xml Mon Nov 27 01:29:57 2017
@@ -30,6 +30,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
+                    <packageType>application</packageType>
                     <failOnDependencyErrors>true</failOnDependencyErrors>
                     <filters>
                         <filter>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-errors/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-errors/pom.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-errors/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/no-errors/pom.xml Mon Nov 27 01:29:57 2017
@@ -30,20 +30,38 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
+                    <packageType>application</packageType>
                     <failOnDependencyErrors>true</failOnDependencyErrors>
                     <filters>
+                        <!-- root should always be covered -->
+                        <filter><root>/var</root></filter>
+
+                        <!-- those are covered by test-package -->
+                        <filter><root>/var/foo/bar/components</root></filter>
+                        <filter><root>/tmp/foo</root></filter>
+
+                        <!-- /libs and /apps should always be covered -->
+                        <filter><root>/libs/foo</root></filter>
+                        <filter><root>/apps/foo</root></filter>
+
+                        <!-- test internal ancestors that are exclude by dependent package -->
                         <filter>
-                            <root>/var/foo/bar/components</root>
-                        </filter>
-                        <filter>
-                            <root>/tmp/foo</root>
+                            <root>/libs/foo/bar</root>
+                            <includes>
+                                <include>/libs/foo/bar</include>
+                            </includes>
                         </filter>
+                        <filter><root>/libs/foo/bar/sub</root></filter>
                     </filters>
                     <dependencies>
                         <dependency>
                             <groupId>com.apache.jackrabbit.filevault</groupId>
                             <artifactId>test.content.package</artifactId>
                         </dependency>
+                        <dependency>
+                            <groupId>com.apache.jackrabbit.filevault</groupId>
+                            <artifactId>test.content.package.exclude</artifactId>
+                        </dependency>
                     </dependencies>
                 </configuration>
             </plugin>
@@ -51,6 +69,12 @@
     </build>
     <dependencies>
         <dependency>
+            <!--
+                <workspaceFilter version="1.0">
+                    <filter root="/tmp" />
+                    <filter root="/var/foo/bar"/>
+                </workspaceFilter>
+            -->
             <groupId>com.apache.jackrabbit.filevault</groupId>
             <artifactId>test.content.package</artifactId>
             <version>1.0.0</version>
@@ -58,5 +82,20 @@
             <systemPath>${testcontent.directory}/test-package.zip</systemPath>
             <type>zip</type>
         </dependency>
+        <dependency>
+            <!--
+                <workspaceFilter version="1.0">
+                    <filter root="/libs/foo">
+                        <exclude pattern="/libs/foo/bar(/.*)?"/>
+                    </filter>
+                </workspaceFilter>
+            -->
+            <groupId>com.apache.jackrabbit.filevault</groupId>
+            <artifactId>test.content.package.exclude</artifactId>
+            <version>1.0.0</version>
+            <scope>system</scope>
+            <systemPath>${testcontent.directory}/test-package-exclude.zip</systemPath>
+            <type>zip</type>
+        </dependency>
     </dependencies>
 </project>

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/repo-structure-pkg/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/repo-structure-pkg/pom.xml?rev=1816404&r1=1816403&r2=1816404&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/repo-structure-pkg/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/test/resources/test-projects/validate-deps-projects/repo-structure-pkg/pom.xml Mon Nov 27 01:29:57 2017
@@ -30,6 +30,7 @@
                 <version>${plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
+                    <packageType>application</packageType>
                     <failOnDependencyErrors>true</failOnDependencyErrors>
                     <filters>
                         <filter>