JCRVLT-498 always use the workDirectory with classifier suffix
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractMetadataPackageMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractMetadataPackageMojo.java
index 5851a89..ac1dc06 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractMetadataPackageMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractMetadataPackageMojo.java
@@ -81,13 +81,16 @@
File[] metaInfVaultDirectory;
/**
- * The directory containing the metadata to be packaged up into the content package.
- * Basically containing all files/folders being generated by goal "generate-metadata".
+ * The output directory for goal "generate-metadata" and additional input directory containing the
+ * metadata to be packaged up into the content package for goal "package".
+ * The directory name is suffixed with {@code -<classifier>} in case a {@link #classifier} is used.
+ * In case of the "package" goal this falls back to the non-suffixed directory name in case the one with
+ * suffix does not exist.
*/
@Parameter(
defaultValue = "${project.build.directory}/vault-work",
required = true)
- File workDirectory;
+ private File workDirectory;
/**
* Optional classifier to add to the generated package. If given, the artifact will be attached
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
index d03a97d..f0beb6c 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/GenerateMetadataMojo.java
@@ -469,7 +469,7 @@
// JCRVLT-331 share work directory to expose vault metadata between process-classes and package phases for
// multi-module builds.
getArtifactWorkDirectoryLookup(getPluginContext())
- .put(getModuleArtifactKey(project.getArtifact()), workDirectory);
+ .put(getModuleArtifactKey(project.getArtifact()), getWorkDirectory(true));
try {
// find the meta-inf source directory
@@ -1001,7 +1001,7 @@
File propsXml = new File(otherWorkDirectory, propsRelPath);
if (!propsXml.exists()) {
// fallback to work dir (assuming the same folder name)
- propsXml = new File(otherWorkDirectory.getParent(), workDirectory.getName() + "/" + propsRelPath);
+ propsXml = new File(otherWorkDirectory.getParent(), getWorkDirectory(false).getName() + "/" + propsRelPath);
}
try (InputStream input = new FileInputStream(propsXml)) {
props.loadFromXML(input);
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
index 6cb9ed5..914ba15 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
@@ -426,7 +426,7 @@
}
// then add all files from the workDirectory (they might overlap with the ones from metaInfDirectory, but the duplicates are
// just ignored in the package)
- DefaultFileSet fileSet = createFileSet(workDirectory, "");
+ DefaultFileSet fileSet = createFileSet(getWorkDirectory(false), "");
// issue warning in case of overlaps
Map<File, File> overwrittenWorkFiles = getOverwrittenProtectedFiles(fileSet, true);
for (Entry<File, File> entry : overwrittenWorkFiles.entrySet()) {