You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2023/08/02 11:59:26 UTC
[jackrabbit-filevault-package-maven-plugin] 01/01: JCRVLT-715 always attach supplemental content packages with correct extension
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch bugfix/JCRVLT-715-potentially-wrong-extension-used-for-supplemental-artifacts
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault-package-maven-plugin.git
commit a3ac9d498c66fbcd1580907ceaf3c42726b5fa3a
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Aug 2 13:59:19 2023 +0200
JCRVLT-715 always attach supplemental content packages with correct
extension
---
.../filevault/maven/packaging/mojo/VaultMojo.java | 2 +-
.../packaging/it/SupplementalArtifactsIT.java | 10 +
.../assembly.xml | 18 +
.../expected-files-additional-cp.txt | 23 +
.../jcr_root/apps/wcm/.content.xml | 20 +
.../jcr_root/apps/wcm/core/.content.xml | 20 +
.../jcr_root/apps/wcm/core/.gitignore | 1 +
.../jcr_root/apps/wcm/core/content/.content.xml | 20 +
.../jcr_root/apps/wcm/core/content/siteadmin.xml | 764 +++++++++++++++++++++
.../pom.xml | 85 +++
.../src/dummy.text | 1 +
11 files changed, 963 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/VaultMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/VaultMojo.java
index 0ef636a..2fa7a8d 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/VaultMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/VaultMojo.java
@@ -565,7 +565,7 @@ public class VaultMojo extends AbstractSourceAndMetadataPackageMojo {
mavenArchiver.createArchive(null, project, getMavenArchiveConfiguration(getGeneratedManifestFile(false)));
if (StringUtils.isNotEmpty(classifier)) {
- projectHelper.attachArtifact(project, finalFile, classifier);
+ projectHelper.attachArtifact(project, PACKAGE_TYPE, classifier, finalFile );
} else {
// set the file for the project's artifact and ensure the
// artifact is correctly handled with the "zip" handler
diff --git a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/SupplementalArtifactsIT.java b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/SupplementalArtifactsIT.java
index 09ac7d0..f6564e9 100644
--- a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/SupplementalArtifactsIT.java
+++ b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/SupplementalArtifactsIT.java
@@ -38,4 +38,14 @@ class SupplementalArtifactsIT {
projectBuilder.verifyExpectedFiles(new File(projectBuilder.getTestProjectDir(), "expected-files-libs.txt"),
ProjectBuilder.verifyPackageZipEntries(new File(projectBuilder.getTestProjectDir(), "target/package-plugin-test-pkg-1.0.0-SNAPSHOT-libs.zip")));
}
+
+ @Test
+ void testTarPrimaryTypeAndContentPackage(ProjectBuilder projectBuilder) throws VerificationException, IOException {
+ projectBuilder.setTestProjectDir("/supplemental-artifacts/archive-and-content-package-in-one-module");
+ projectBuilder.setVerifyPackageContents(false); // main artifact is no content package
+ projectBuilder.build();
+ // verify contents of supplemental artifact (with classifier "additional-cp")
+ projectBuilder.verifyExpectedFiles(new File(projectBuilder.getTestProjectDir(), "expected-files-additional-cp.txt"),
+ ProjectBuilder.verifyPackageZipEntries(new File(projectBuilder.getTestProjectDir(), "target/package-plugin-test-pkg-1.0.0-SNAPSHOT-additional-cp.zip")));
+ }
}
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/assembly.xml b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/assembly.xml
new file mode 100644
index 0000000..002705f
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/assembly.xml
@@ -0,0 +1,18 @@
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ <id>distribution</id>
+ <formats>
+ <format>tar</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>${basedir}/src</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+ </fileSets>
+</assembly>
\ No newline at end of file
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/expected-files-additional-cp.txt b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/expected-files-additional-cp.txt
new file mode 100644
index 0000000..bc1a85a
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/expected-files-additional-cp.txt
@@ -0,0 +1,23 @@
+META-INF/
+META-INF/MANIFEST.MF
+META-INF/maven/
+META-INF/maven/org.apache.jackrabbit.filevault/
+META-INF/maven/org.apache.jackrabbit.filevault/package-plugin-test-pkg/
+META-INF/maven/org.apache.jackrabbit.filevault/package-plugin-test-pkg/pom.properties
+META-INF/maven/org.apache.jackrabbit.filevault/package-plugin-test-pkg/pom.xml
+META-INF/vault/
+META-INF/vault/config.xml
+META-INF/vault/definition/
+META-INF/vault/definition/.content.xml
+META-INF/vault/filter.xml
+META-INF/vault/properties.xml
+META-INF/vault/settings.xml
+jcr_root/
+jcr_root/apps/
+jcr_root/apps/wcm/
+jcr_root/apps/wcm/.content.xml
+jcr_root/apps/wcm/core/
+jcr_root/apps/wcm/core/.content.xml
+jcr_root/apps/wcm/core/content/
+jcr_root/apps/wcm/core/content/.content.xml
+jcr_root/apps/wcm/core/content/siteadmin.xml
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/.content.xml b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/.content.xml
new file mode 100755
index 0000000..dcf03f8
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/.content.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+ jcr:primaryType="sling:Folder"/>
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/.content.xml b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/.content.xml
new file mode 100755
index 0000000..dcf03f8
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/.content.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+ jcr:primaryType="sling:Folder"/>
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/.gitignore b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/.gitignore
new file mode 100644
index 0000000..c57d302
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/.gitignore
@@ -0,0 +1 @@
+# deliberately empty as this is only to check that this will not end up in the generated package
\ No newline at end of file
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/content/.content.xml b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/content/.content.xml
new file mode 100755
index 0000000..dcf03f8
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/content/.content.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+ jcr:primaryType="sling:Folder"/>
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/content/siteadmin.xml b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/content/siteadmin.xml
new file mode 100755
index 0000000..5984d80
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/jcr_root/apps/wcm/core/content/siteadmin.xml
@@ -0,0 +1,764 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
+ jcr:mixinTypes="[cq:Console]"
+ jcr:primaryType="cq:Widget"
+ jcr:title="AEM WCM"
+ sling:redirect="{Boolean}false"
+ sling:resourceType="cq/ui/components/widget"
+ sling:vanityOrder="{Long}500"
+ sling:vanityPath="/siteadmin"
+ consoleDescription="Create and manage multiple websites."
+ consoleTitle="Websites"
+ historyLink="/bin/wcmcommand?cmd=open&path=${resource.path}"
+ historyResourceTypes="[cq:Page]"
+ historyShow="{Boolean}true"
+ historyTitle="Recently used pages"
+ iconClass="siteadmin"
+ id="cq-siteadmin"
+ jsLibs="[cq.wcm.admin]"
+ noSearch="{Boolean}true"
+ tabTitle="Websites"
+ treeAutoExpandMax="100"
+ xtype="siteadmin">
+ <grid jcr:primaryType="nt:unstructured">
+ <assets
+ jcr:primaryType="nt:unstructured"
+ pageSize="15"
+ pageText="Assets {0} - {1} of {2}"
+ pathRegex="\\/content\\/dam(/.*)?"
+ storeProxySuffix=".assets.json"
+ storeReaderFields="[index,title,label,lockedBy,type,width,height,size,inWorkflow,replication,scheduledTasks,numberer,workflows,lastModified,lastModifiedBy,inProgress,ck]">
+ <columns jcr:primaryType="cq:WidgetCollection">
+ <numberer
+ jcr:primaryType="nt:unstructured"
+ usePredefined="numberer"
+ xtype="gridcolumn"/>
+ <thumbnail
+ jcr:primaryType="nt:unstructured"
+ hidden="{Boolean}false"
+ usePredefined="thumbnail"
+ xtype="gridcolumn"/>
+ <title
+ jcr:primaryType="nt:unstructured"
+ hidden="{Boolean}true"
+ usePredefined="title"
+ xssProtect="true"
+ xtype="gridcolumn"/>
+ <name
+ jcr:primaryType="nt:unstructured"
+ usePredefined="name"
+ xtype="gridcolumn"/>
+ <published
+ jcr:primaryType="nt:unstructured"
+ usePredefined="published"
+ xtype="gridcolumn"/>
+ <modified
+ jcr:primaryType="nt:unstructured"
+ usePredefined="modified"
+ xtype="gridcolumn"/>
+ <status
+ jcr:primaryType="nt:unstructured"
+ usePredefined="status"
+ xtype="gridcolumn"/>
+ <workflow
+ jcr:primaryType="nt:unstructured"
+ usePredefined="workflow"
+ xtype="gridcolumn"/>
+ <width
+ jcr:primaryType="nt:unstructured"
+ usePredefined="width"
+ xtype="gridcolumn"/>
+ <height
+ jcr:primaryType="nt:unstructured"
+ usePredefined="height"
+ xtype="gridcolumn"/>
+ <size
+ jcr:primaryType="nt:unstructured"
+ usePredefined="size"
+ xtype="gridcolumn"/>
+ </columns>
+ </assets>
+ </grid>
+ <actions jcr:primaryType="nt:unstructured">
+ <create
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-create-icon"
+ split="{Boolean}true"
+ text="New...">
+ <menu jcr:primaryType="nt:unstructured">
+ <createPage
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create-page"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.createPage"
+ iconCls="cq-siteadmin-create-page-icon"
+ isDefaultAction="{Boolean}true"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="New Page..."/>
+ <createSite
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create-site"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.createSite"
+ iconCls="cq-siteadmin-create-site-icon"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="New Site..."/>
+ <createLiveCopy
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create-livecopy"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.createLiveCopy"
+ iconCls="cq-siteadmin-create-livecopy-icon"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="New Live Copy..."/>
+ <createLaunch
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create-launch"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.createLaunch"
+ iconCls="cq-siteadmin-create-launch-icon"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="New Launch..."/>
+ <separator0
+ jcr:primaryType="nt:unstructured"
+ value="-"
+ xtype="separator"/>
+ <createFile
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create-file"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.canDoFolderOp]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.uploadFiles"
+ iconCls="cq-siteadmin-create-file-icon"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="New File..."/>
+ <createFolder
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-create-folder"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.canDoFolderOp]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.createFolder"
+ iconCls="cq-siteadmin-create-folder-icon"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="New Folder..."/>
+ </menu>
+ </create>
+ <open
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-open"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection]"
+ context="[contextmenu]"
+ handler="CQ.wcm.SiteAdmin.openPages"
+ iconCls="cq-siteadmin-open-icon"
+ isDefaultAction="{Boolean}true"
+ privileges="[read]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Open"/>
+ <separator0
+ jcr:primaryType="nt:unstructured"
+ value="-"
+ xtype="separator"/>
+ <copy
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-copy"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.pgatour.canCopyPasteMoveDeleteDeactivatePage]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.copyPages"
+ target="CQ.wcm.SiteAdmin.getAnyTarget"
+ text="Copy"/>
+ <paste
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-paste"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.canPaste,CQ.wcm.SiteAdmin.pgatour.canCopyPasteMoveDeleteDeactivatePage]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ forceCheck="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.pastePages"
+ privileges="[create]"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Paste"/>
+ <delete
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-delete"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.canDeleteReplicatedPage,CQ.wcm.SiteAdmin.pgatour.canCopyPasteMoveDeleteDeactivatePage]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.deletePage"
+ privileges="[delete]"
+ target="CQ.wcm.SiteAdmin.getAllTargets"
+ text="Delete"/>
+ <separator1
+ jcr:primaryType="nt:unstructured"
+ context="[toolbar,contextmenu]"
+ value="-"
+ xtype="separator"/>
+ <move
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-move"
+ conditions="[CQ.wcm.SiteAdmin.hasSingleSelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.pgatour.canCopyPasteMoveDeleteDeactivatePage]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.movePage"
+ privileges="[delete]"
+ target="CQ.wcm.SiteAdmin.getSingleTarget"
+ text="Move..."/>
+ <separator2
+ jcr:primaryType="nt:unstructured"
+ context="[toolbar,contextmenu]"
+ value="-"
+ xtype="separator"/>
+ <activate
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-activate"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-activate-icon"
+ split="{Boolean}true"
+ text="Activate">
+ <menu jcr:primaryType="nt:unstructured">
+ <activateNow
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-activate-now"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar,contextmenu]"
+ handler="CQ.wcm.SiteAdmin.activatePage"
+ isDefaultAction="{Boolean}true"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getAllTargets"
+ text="Activate"/>
+ <activateLater
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-activate-later"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar]"
+ handler="CQ.wcm.SiteAdmin.scheduleForActivation"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getMultipleTargetsFromList"
+ text="Activate Later..."/>
+ </menu>
+ </activate>
+ <deactivate
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-deactivate"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-deactivate-icon"
+ split="{Boolean}true"
+ text="Deactivate">
+ <menu jcr:primaryType="nt:unstructured">
+ <deactivateNow
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-deactivate-now"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.pgatour.canCopyPasteMoveDeleteDeactivatePage]"
+ context="[toolbar,contextmenu]"
+ handler="CQ.wcm.SiteAdmin.deactivatePage"
+ isDefaultAction="{Boolean}true"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getAllTargets"
+ text="Deactivate"/>
+ <deactivateLater
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-deactivate-later"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.pgatour.canCopyPasteMoveDeleteDeactivatePage]"
+ context="[toolbar]"
+ handler="CQ.wcm.SiteAdmin.scheduleForDeactivation"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getMultipleTargetsFromList"
+ text="Deactivate Later..."/>
+ </menu>
+ </deactivate>
+ <separator3
+ jcr:primaryType="nt:unstructured"
+ context="[toolbar,contextmenu]"
+ listInGridContextMenu="{Boolean}true"
+ value="-"
+ xtype="separator"/>
+ <lock
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-lock"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection]"
+ context="[_contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.lockPage"
+ iconCls="cq-siteadmin-lock-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Lock"/>
+ <unlock
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-unlock"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection]"
+ context="[_contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.unlockPage"
+ iconCls="cq-siteadmin-unlock-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Unlock"/>
+ <workflow
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-workflow"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection,CQ.wcm.SiteAdmin.noFolder,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.startWorkflow"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Workflow..."/>
+ <separator5
+ jcr:primaryType="nt:unstructured"
+ context="[contextmenu]"
+ listInGridContextMenu="{Boolean}true"
+ value="-"
+ xtype="separator"/>
+ <rollout
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-rollout"
+ conditions="[CQ.wcm.SiteAdmin.isLiveCopySource]"
+ context="[contextmenu]"
+ handler="CQ.wcm.SiteAdmin.rolloutPage"
+ iconCls="cq-siteadmin-properties-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Roll-out..."/>
+ <separator6
+ jcr:primaryType="nt:unstructured"
+ context="[contextmenu]"
+ listInGridContextMenu="{Boolean}true"
+ value="-"
+ xtype="separator"/>
+ <properties
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-properties"
+ conditions="[CQ.wcm.SiteAdmin.hasSingleListSelection,CQ.wcm.SiteAdmin.noFolder,CQ.wcm.SiteAdmin.noAsset]"
+ context="[contextmenu]"
+ handler="CQ.wcm.SiteAdmin.openProperties"
+ iconCls="cq-siteadmin-properties-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Properties..."/>
+ <tools
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-tools"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-tools-icon"
+ text="Tools">
+ <menu jcr:primaryType="nt:unstructured">
+ <langcopy
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-languagecopy"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection]"
+ handler="CQ.wcm.SiteAdmin.openLanguageCopy"
+ iconCls="cq-siteadmin-languagecopy-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Language Copy..."/>
+ <findReplace
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-findreplace"
+ conditions="[CQ.wcm.SiteAdmin.hasSingleSelection,CQ.wcm.SiteAdmin.notLocked]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.openFindReplaceDialog"
+ iconCls="cq-siteadmin-findreplace-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getSingleTarget"
+ text="Find & Replace..."/>
+ <restore
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-restore"
+ iconCls="cq-siteadmin-restore-icon"
+ text="Restore">
+ <menu jcr:primaryType="nt:unstructured">
+ <version
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-restore-version"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.noFolder,CQ.wcm.SiteAdmin.noAsset]"
+ handler="CQ.wcm.SiteAdmin.restoreVersion"
+ iconCls="cq-siteadmin-restore-version-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Restore Version...">
+ <tooltip
+ jcr:primaryType="nt:unstructured"
+ autoHide="{Boolean}true"
+ text="Restore an older version of a page"
+ title="Restore Version"/>
+ </version>
+ <tree
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-restore-tree"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.noFolder,CQ.wcm.SiteAdmin.noAsset]"
+ handler="CQ.wcm.SiteAdmin.restoreTree"
+ iconCls="cq-siteadmin-restore-tree-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Restore Tree...">
+ <tooltip
+ jcr:primaryType="nt:unstructured"
+ autoHide="{Boolean}true"
+ text="Restore an older version of a tree"
+ title="Restore Tree"/>
+ </tree>
+ </menu>
+ </restore>
+ <references
+ jcr:primaryType="nt:unstructured"
+ cls="cq-damadmin-references"
+ conditions="[CQ.wcm.SiteAdmin.noFolder]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.showReferences"
+ iconCls="cq-siteadmin-references-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="References..."/>
+ <download
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-findreplace"
+ conditions="[CQ.wcm.SiteAdmin.isAsset]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.download"
+ iconCls="cq-siteadmin-download-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Download"/>
+ <rollout
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-rollout"
+ conditions="[CQ.wcm.SiteAdmin.isLiveCopySource]"
+ handler="CQ.wcm.SiteAdmin.rolloutPage"
+ iconCls="cq-siteadmin-properties-icon"
+ target="CQ.wcm.SiteAdmin.getAnyTarget"
+ text="Roll-out..."/>
+ </menu>
+ </tools>
+ </actions>
+ <tags jcr:primaryType="nt:unstructured">
+ <emulateIE8
+ jcr:primaryType="nt:unstructured"
+ content="IE=8"
+ http-equiv="X-UA-Compatible"
+ tagName="meta"/>
+ <icon1
+ jcr:primaryType="nt:unstructured"
+ href="/libs/wcm/core/content/siteadmin.ico"
+ rel="shortcut icon"
+ tagName="link"
+ type="image/vnd.microsoft.icon"/>
+ <icon2
+ jcr:primaryType="nt:unstructured"
+ href="/libs/wcm/core/content/siteadmin.ico"
+ rel="icon"
+ tagName="link"
+ type="image/vnd.microsoft.icon"/>
+ </tags>
+ <tabs jcr:primaryType="cq:WidgetCollection">
+ <searchpanel
+ jcr:primaryType="cq:Widget"
+ facetURL="/libs/wcm/core/content/search/searchpanel/facets.overlay.infinity.json"
+ xtype="siteadminsearchpanel">
+ <columns jcr:primaryType="cq:WidgetCollection">
+ <numberer
+ jcr:primaryType="nt:unstructured"
+ usePredefined="numberer"
+ xtype="gridcolumn"/>
+ <title
+ jcr:primaryType="nt:unstructured"
+ usePredefined="title"
+ xtype="gridcolumn"/>
+ <name
+ jcr:primaryType="nt:unstructured"
+ usePredefined="name"
+ xtype="gridcolumn"/>
+ <published
+ jcr:primaryType="nt:unstructured"
+ usePredefined="published"
+ xtype="gridcolumn"/>
+ <modified
+ jcr:primaryType="nt:unstructured"
+ usePredefined="modified"
+ xtype="gridcolumn"/>
+ <template
+ jcr:primaryType="nt:unstructured"
+ usePredefined="template"
+ xtype="gridcolumn"/>
+ </columns>
+ <actions jcr:primaryType="nt:unstructured">
+ <open
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-open"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection]"
+ context="[contextmenu]"
+ handler="CQ.wcm.SiteAdmin.openPages"
+ iconCls="cq-siteadmin-open-icon"
+ isDefaultAction="{Boolean}true"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Open"/>
+ <delete
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-delete"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.canDeleteReplicatedPage]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.deletePage"
+ privileges="[delete]"
+ target="CQ.wcm.SiteAdmin.getAllTargets"
+ text="Delete"/>
+ <separator1
+ jcr:primaryType="nt:unstructured"
+ context="[toolbar,contextmenu]"
+ value="-"
+ xtype="separator"/>
+ <move
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-move"
+ conditions="[CQ.wcm.SiteAdmin.hasSingleSelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.movePage"
+ privileges="[delete]"
+ target="CQ.wcm.SiteAdmin.getSingleTarget"
+ text="Move..."/>
+ <separator2
+ jcr:primaryType="nt:unstructured"
+ context="[toolbar,contextmenu]"
+ value="-"
+ xtype="separator"/>
+ <activate
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-activate"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-activate-icon"
+ split="{Boolean}true"
+ text="Activate">
+ <menu jcr:primaryType="nt:unstructured">
+ <activateNow
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-activate-now"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar,contextmenu]"
+ handler="CQ.wcm.SiteAdmin.activatePage"
+ isDefaultAction="{Boolean}true"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getAllTargets"
+ text="Activate"/>
+ <activateLater
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-activate-later"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar]"
+ handler="CQ.wcm.SiteAdmin.scheduleForActivation"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getMultipleTargetsFromList"
+ text="Activate Later..."/>
+ </menu>
+ </activate>
+ <deactivate
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-deactivate"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-deactivate-icon"
+ split="{Boolean}true"
+ text="Deactivate">
+ <menu jcr:primaryType="nt:unstructured">
+ <deactivateNow
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-deactivate-now"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar,contextmenu]"
+ handler="CQ.wcm.SiteAdmin.deactivatePage"
+ isDefaultAction="{Boolean}true"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getAllTargets"
+ text="Deactivate"/>
+ <deactivateLater
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-deactivate-later"
+ conditions="[CQ.wcm.SiteAdmin.hasAnySelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar]"
+ handler="CQ.wcm.SiteAdmin.scheduleForDeactivation"
+ privileges="[replicate]"
+ target="CQ.wcm.SiteAdmin.getMultipleTargetsFromList"
+ text="Deactivate Later..."/>
+ </menu>
+ </deactivate>
+ <lock
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-lock"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection]"
+ context="[_contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.lockPage"
+ iconCls="cq-siteadmin-lock-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Lock"/>
+ <unlock
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-unlock"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection]"
+ context="[_contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.unlockPage"
+ iconCls="cq-siteadmin-unlock-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Unlock"/>
+ <workflow
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-workflow"
+ conditions="[CQ.wcm.SiteAdmin.hasListSelection,CQ.wcm.SiteAdmin.notLocked]"
+ context="[toolbar,contextmenu]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.startWorkflow"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Workflow..."/>
+ <rollout
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-rollout"
+ conditions="[CQ.wcm.SiteAdmin.isLiveCopySource]"
+ context="[contextmenu]"
+ handler="CQ.wcm.SiteAdmin.rolloutPage"
+ iconCls="cq-siteadmin-properties-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Roll-out..."/>
+ <separator5
+ jcr:primaryType="nt:unstructured"
+ context="[contextmenu]"
+ listInGridContextMenu="{Boolean}true"
+ value="-"
+ xtype="separator"/>
+ <properties
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-properties"
+ conditions="[CQ.wcm.SiteAdmin.hasSingleListSelection,CQ.wcm.SiteAdmin.noAsset]"
+ context="[contextmenu]"
+ handler="CQ.wcm.SiteAdmin.openProperties"
+ iconCls="cq-siteadmin-properties-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Properties..."/>
+ <tools
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-tools"
+ context="[toolbar]"
+ iconCls="cq-siteadmin-tools-icon"
+ text="Tools">
+ <menu jcr:primaryType="nt:unstructured">
+ <langcopy
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-languagecopy"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection]"
+ handler="CQ.wcm.SiteAdmin.openLanguageCopy"
+ iconCls="cq-siteadmin-languagecopy-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Language Copy..."/>
+ <findReplace
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-findreplace"
+ conditions="[CQ.wcm.SiteAdmin.hasSingleSelection,CQ.wcm.SiteAdmin.notLocked]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.openFindReplaceDialog"
+ iconCls="cq-siteadmin-findreplace-icon"
+ privileges="[update]"
+ target="CQ.wcm.SiteAdmin.getSingleTarget"
+ text="Find & Replace..."/>
+ <restore
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-restore"
+ iconCls="cq-siteadmin-restore-icon"
+ text="Restore">
+ <menu jcr:primaryType="nt:unstructured">
+ <version
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-restore-version"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.noAsset]"
+ handler="CQ.wcm.SiteAdmin.restoreVersion"
+ iconCls="cq-siteadmin-restore-version-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Restore Version...">
+ <tooltip
+ jcr:primaryType="nt:unstructured"
+ autoHide="{Boolean}true"
+ text="Restore an older version of a page"
+ title="Restore Version"/>
+ </version>
+ <tree
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-restore-tree"
+ conditions="[CQ.wcm.SiteAdmin.hasTreeSelection,CQ.wcm.SiteAdmin.notLocked,CQ.wcm.SiteAdmin.noAsset]"
+ handler="CQ.wcm.SiteAdmin.restoreTree"
+ iconCls="cq-siteadmin-restore-tree-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromTree"
+ text="Restore Tree...">
+ <tooltip
+ jcr:primaryType="nt:unstructured"
+ autoHide="{Boolean}true"
+ text="Restore an older version of a tree"
+ title="Restore Tree"/>
+ </tree>
+ </menu>
+ </restore>
+ <references
+ jcr:primaryType="nt:unstructured"
+ cls="cq-damadmin-references"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.showReferences"
+ iconCls="cq-siteadmin-references-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="References..."/>
+ <download
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-findreplace"
+ conditions="[CQ.wcm.SiteAdmin.isAsset]"
+ disabled="{Boolean}true"
+ handler="CQ.wcm.SiteAdmin.download"
+ iconCls="cq-siteadmin-download-icon"
+ target="CQ.wcm.SiteAdmin.getTargetFromList"
+ text="Download"/>
+ <rollout
+ jcr:primaryType="nt:unstructured"
+ cls="cq-siteadmin-rollout"
+ conditions="[CQ.wcm.SiteAdmin.isLiveCopySource]"
+ handler="CQ.wcm.SiteAdmin.rolloutPage"
+ iconCls="cq-siteadmin-properties-icon"
+ target="CQ.wcm.SiteAdmin.getAnyTarget"
+ text="Roll-out..."/>
+ </menu>
+ </tools>
+ <separator3
+ jcr:primaryType="nt:unstructured"
+ context="[toolbar,contextmenu]"
+ value="-"
+ xtype="separator"/>
+ <separator4
+ jcr:primaryType="nt:unstructured"
+ context="[contextmenu]"
+ listInGridContextMenu="{Boolean}true"
+ value="-"
+ xtype="separator"/>
+ </actions>
+ </searchpanel>
+ </tabs>
+</jcr:root>
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/pom.xml b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/pom.xml
new file mode 100755
index 0000000..f39a87c
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/pom.xml
@@ -0,0 +1,85 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ====================================================================== -->
+ <!-- P R O J E C T D E S C R I P T I O N -->
+ <!-- ====================================================================== -->
+ <groupId>org.apache.jackrabbit.filevault</groupId>
+ <artifactId>package-plugin-test-pkg</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Packaging test</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>3.6.0</version>
+ <executions>
+ <execution>
+ <id>create-distribution</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>assembly.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId><!-- don't use any classifier -->
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>filevault-package-maven-plugin</artifactId>
+ <version>${plugin.version}</version>
+ <extensions>true</extensions>
+ <configuration>
+ <classifier>additional-cp</classifier>
+ </configuration>
+ <executions>
+ <execution>
+ <id>generate-metadata</id>
+ <goals>
+ <goal>generate-metadata</goal>
+ </goals>
+ <configuration>
+ <filters>
+ <filter>
+ <root>/apps/wcm/core</root>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+ <execution>
+ <id>package</id>
+ <goals>
+ <goal>package</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/src/dummy.text b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/src/dummy.text
new file mode 100644
index 0000000..9ea3216
--- /dev/null
+++ b/src/test/resources/test-projects/supplemental-artifacts/archive-and-content-package-in-one-module/src/dummy.text
@@ -0,0 +1 @@
+This file ends up in the tar
\ No newline at end of file