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/28 04:06:23 UTC
svn commit: r1839398 -
/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
Author: tripod
Date: Tue Aug 28 04:06:23 2018
New Revision: 1839398
URL: http://svn.apache.org/viewvc?rev=1839398&view=rev
Log:
JCRVLT-315 improve exception handling when embedding a sub package fails (Closes #16)
Modified:
jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java?rev=1839398&r1=1839397&r2=1839398&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java Tue Aug 28 04:06:23 2018
@@ -803,7 +803,7 @@ public class GenerateMetadataMojo extend
}
- private Map<String, File> getEmbeddeds() throws IOException, MojoFailureException {
+ private Map<String, File> getEmbeddeds() throws MojoFailureException {
Map<String, File> fileMap = new HashMap<>();
for (Embedded emb : embeddeds) {
final Collection<Artifact> artifacts = emb.getMatchingArtifacts(project);
@@ -850,8 +850,8 @@ public class GenerateMetadataMojo extend
final String targetPathName = targetPath + destFileName;
final String targetNodePathName = targetPathName.substring(JCR_ROOT.length() - 1);
- fileMap.put(targetPathName, source);
getLog().info(String.format("Embedding %s (from %s) -> %s", artifact.getId(), source.getAbsolutePath(), targetPathName));
+ fileMap.put(targetPathName, source);
if (emb.isFilter()) {
addWorkspaceFilter(targetNodePathName);
@@ -861,12 +861,12 @@ public class GenerateMetadataMojo extend
return fileMap;
}
- private Map<String, File> getSubPackages() throws IOException {
+ private Map<String, File> getSubPackages() throws MojoFailureException {
Map<String, File> fileMap = new HashMap<>();
for (SubPackage pack : subPackages) {
final Collection<Artifact> artifacts = pack.getMatchingArtifacts(project);
if (artifacts.isEmpty()) {
- getLog().warn("No matching artifacts for " + pack);
+ getLog().warn("No matching artifacts for sub package " + pack);
continue;
}
@@ -881,11 +881,12 @@ public class GenerateMetadataMojo extend
try (ZipFile zip = new ZipFile(source, ZipFile.OPEN_READ)){
ZipEntry e = zip.getEntry("META-INF/vault/properties.xml");
if (e == null) {
- getLog().error("Package does not contain properties.xml");
- throw new IOException("properties.xml missing");
+ throw new IOException("Package does not contain 'META-INF/vault/properties.xml'");
}
in = zip.getInputStream(e);
props.loadFromXML(in);
+ } catch (IOException e) {
+ throw new MojoFailureException("Could not open subpackage '" + source + "' to extract metadata: " + e.getMessage(), e);
} finally {
IOUtil.close(in);
}
@@ -897,8 +898,8 @@ public class GenerateMetadataMojo extend
final String targetNodePathName = pid.getInstallationPath() + ".zip";
final String targetPathName = "jcr_root" + targetNodePathName;
+ getLog().info(String.format("Embedding %s (from %s) -> %s", artifact.getId(), source.getAbsolutePath(), targetPathName));
fileMap.put(targetPathName, source);
- getLog().info("Embedding " + artifact.getId() + " -> " + targetPathName);
if (pack.isFilter()) {
addWorkspaceFilter(targetNodePathName);
}