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 2018/08/29 00:56:00 UTC

svn commit: r1839527 - in /jackrabbit/commons/filevault-package-maven-plugin/trunk: ./ src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/

Author: tripod
Date: Wed Aug 29 00:56:00 2018
New Revision: 1839527

URL: http://svn.apache.org/viewvc?rev=1839527&view=rev
Log:
JCRVLT-268 scanning for oak index does not work on windows systems (closes #17)

Modified:
    jackrabbit/commons/filevault-package-maven-plugin/trunk/RELEASE-NOTES.md
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
    jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/FileValidator.java

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/RELEASE-NOTES.md
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/RELEASE-NOTES.md?rev=1839527&r1=1839526&r2=1839527&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/RELEASE-NOTES.md (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/RELEASE-NOTES.md Wed Aug 29 00:56:00 2018
@@ -32,6 +32,7 @@ Changes in Jackrabbit FileVault Package
 * [JCRVLT-256] Package Maven Plugin: NPE when dependency has no manifest
 * [JCRVLT-276] Switch to timezone designators being understood by ISO8601.parse(...)
 * [JCRVLT-272] analyze-classes mojo can fail with "Access denied" for multi-module projects
+* [JCRVLT-268] scanning for oak index does not work on windows systems
 
 #### New Features
 * [JCRVLT-288] Support XML Docview formatting in a dedicated goal

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java?rev=1839527&r1=1839526&r2=1839527&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java Wed Aug 29 00:56:00 2018
@@ -27,6 +27,7 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.filevault.maven.packaging.impl.FileValidator;
 import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
@@ -257,7 +258,9 @@ public class VaultMojo extends AbstractP
                         InputStream in = null;
                         try {
                             in = entry.getInputStream();
-                            fileValidator.lookupIndexDefinitionInArtifact(in, entry.getName());
+                            // ArchiveEntry.name always contains platform-dependent separators, convert to forwards slashes as separator
+                            String sanitizedFileName = FilenameUtils.separatorsToUnix(entry.getName());
+                            fileValidator.lookupIndexDefinitionInArtifact(in, sanitizedFileName);
                         } finally {
                             IOUtils.closeQuietly(in);
                         }

Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/FileValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/FileValidator.java?rev=1839527&r1=1839526&r2=1839527&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/FileValidator.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/FileValidator.java Wed Aug 29 00:56:00 2018
@@ -45,12 +45,21 @@ public class FileValidator {
     //store entries of index found in _oak_index/.content.xml
     Map<String, String> foundIndexes = new HashMap<String, String>();
 
+    /**
+     * Checks if the given input stream and file name refers to a index definition or filter file covering an oak index.
+     * @param artifactFileInputStream the input stream of the artifact to check
+     * @param artifactName the file name within the content package (using forward slashes as separators) of the artifact to check
+     * @throws IOException
+     * @throws MojoExecutionException
+     */
     public void lookupIndexDefinitionInArtifact(InputStream artifactFileInputStream, String artifactName) throws IOException, MojoExecutionException {
+        // in case this is a subpackage
         if (artifactName.endsWith("zip")) {
             ZipInputStream zipArtifactStream = new ZipInputStream(artifactFileInputStream);
             String entryName = "";
             ZipEntry entry = zipArtifactStream.getNextEntry();
             while (entry != null) {
+                // entryName must only contain forward slashes as separators
                 entryName = entry.getName();
                 if (entryName.endsWith("zip")) {
                     //recur if the entry is a zip file