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