Rat (Release Audit Tool) results

The following document contains the results of Rat (Release Audit Tool).

*****************************************************
Summary
-------
Generated at: 2014-07-30T22:16:55+02:00
Notes: 1
Binaries: 10
Archives: 4
Standards: 1124

Apache Licensed: 353
Generated Documents: 0

JavaDocs are generated and so license header is optional
Generated files do not required license headers

771 Unknown Licenses

*******************************

Unapproved licenses:

  integration-test-archetype/pom.xml
  integration-test-archetype/src/main/resources/archetype-resources/pom.xml
  integration-test-archetype/src/main/resources/archetype-resources/src/java/AppTest.java
  integration-test-archetype/src/main/resources/archetype-resources/src/main/assembly/bin.xml
  integration-test-archetype/src/main/resources/archetype-resources/src/main/java/App.java
  integration-test-archetype/src/main/resources/archetype-resources/verify.bsh
  integration-test-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
  integration-test-archetype/src/main/resources/META-INF/maven/archetype.xml
  required-docs.txt
  src/functional-tests/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java
  src/functional-tests/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolatorTest.java
  src/functional-tests/remote-repo/assembly/dependency-artifact/1.0/dependency-artifact-1.0.pom
  src/functional-tests/remote-repo/assembly/dependency-artifact/1.1/dependency-artifact-1.1.pom
  src/functional-tests/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml
  src/it/it-project-parent/pom.xml
  src/it/projects/basic-features/classpath-descriptor/pom.xml
  src/it/projects/basic-features/descriptorDirectoryScan/pom.xml
  src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml
  src/it/projects/basic-features/ExecutionRoot/child/pom.xml
  src/it/projects/basic-features/ExecutionRoot/pom.xml
  src/it/projects/basic-features/ExecutionRoot/src/assemble/src.xml
  src/it/projects/basic-features/ExecutionRoot/verify.bsh
  src/it/projects/basic-features/file-copyIntoTopDir/pom.xml
  src/it/projects/basic-features/file-copyIntoTopDir/src/assemble/bin.xml
  src/it/projects/basic-features/file-copyIntoTopDir/TODO.txt
  src/it/projects/basic-features/file-copyIntoTopDir/verify.bsh
  src/it/projects/basic-features/file-sameName/a.properties
  src/it/projects/basic-features/file-sameName/pom.xml
  src/it/projects/basic-features/file-sameName/src/assemble/bin.xml
  src/it/projects/basic-features/file-sameName/src/config/a/file.txt
  src/it/projects/basic-features/file-sameName/src/config/b/file.txt
  src/it/projects/basic-features/file-sameName/verify.bsh
  src/it/projects/basic-features/formats-in-pom-win/pom.xml
  src/it/projects/basic-features/formats-in-pom-win/src/main/assembly/src.xml
  src/it/projects/basic-features/formats-in-pom-win/verify.bsh
  src/it/projects/basic-features/local-repo-interp/pom.xml
  src/it/projects/basic-features/local-repo-interp/src/main/assembly/bin.xml
  src/it/projects/basic-features/local-repo-interp/src/main/files/some.file
  src/it/projects/basic-features/local-repo-interp/verify.bsh
  src/it/projects/basic-features/massembly-256-pomPropertiesInterp/pom.xml
  src/it/projects/basic-features/massembly-256-pomPropertiesInterp/src/main/assembly/myassembly.xml
  src/it/projects/basic-features/massembly-256-pomPropertiesInterp/src/main/files/some.file
  src/it/projects/basic-features/massembly-256-pomPropertiesInterp/verify.bsh
  src/it/projects/basic-features/massembly-351-projectPrefixInterp/pom.xml
  src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/assembly/myassembly.xml
  src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project1.file
  src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project2.file
  src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project3.file
  src/it/projects/basic-features/massembly-351-projectPrefixInterp/verify.bsh
  src/it/projects/basic-features/outputFileNameMapping-simple/pom.xml
  src/it/projects/basic-features/outputFileNameMapping-simple/src/assemble/bin.xml
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/pom.xml
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml.md5
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml.sha1
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/plexus-utils-1.3-20060811.151624-1.pom
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml.md5
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml.sha1
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/src/assemble/bin.xml
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/src/main/java/test/App.java
  src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/verify.bsh
  src/it/projects/basic-features/relative-project-paths/pom.xml
  src/it/projects/basic-features/relative-project-paths/src/assemble/src.xml
  src/it/projects/basic-features/relative-project-paths/verify.bsh
  src/it/projects/basic-features/this & that/pom.xml
  src/it/projects/basic-features/this & that/src/main/assembly/src.xml
  src/it/projects/basic-features/this & that/verify.bsh
  src/it/projects/bugs/massembly-190/child-1/pom.xml
  src/it/projects/bugs/massembly-190/child-1/src/main/resources/test.txt
  src/it/projects/bugs/massembly-190/child-2/pom.xml
  src/it/projects/bugs/massembly-190/child-2/src/main/resources/test.txt
  src/it/projects/bugs/massembly-190/pom.xml
  src/it/projects/bugs/massembly-190/src/main/assembly/bin.xml
  src/it/projects/bugs/massembly-190/verify.bsh
  src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml
  src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml
  src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/java/tests/App.java
  src/it/projects/bugs/massembly-285/massembly-285-assembly/verify.bsh
  src/it/projects/bugs/massembly-285/massembly-285-mod1/pom.xml
  src/it/projects/bugs/massembly-285/massembly-285-mod1/src/main/java/tests/App.java
  src/it/projects/bugs/massembly-285/massembly-285-mod1/src/test/java/tests/AppTest.java
  src/it/projects/bugs/massembly-285/massembly-285-mod2/pom.xml
  src/it/projects/bugs/massembly-285/massembly-285-mod2/src/main/java/tests/App.java
  src/it/projects/bugs/massembly-285/massembly-285-mod2/src/test/java/tests/AppTest.java
  src/it/projects/bugs/massembly-285/pom.xml
  src/it/projects/bugs/massembly-285/verify.bsh
  src/it/projects/bugs/massembly-306/pom.xml
  src/it/projects/bugs/massembly-375/pom.xml
  src/it/projects/bugs/massembly-375/src/main/assembly/test.txt
  src/it/projects/bugs/massembly-375/src/main/assembly/test.xml
  src/it/projects/bugs/massembly-375/verify.bsh
  src/it/projects/bugs/massembly-462/pom.xml
  src/it/projects/bugs/massembly-462/src/main/assembly/src.xml
  src/it/projects/bugs/massembly-462/src/main/assembly-resources/test.txt
  src/it/projects/bugs/massembly-462/src/main/java/test/App.java
  src/it/projects/bugs/massembly-462/verify.bsh
  src/it/projects/components/component-dependencySet/pom.xml
  src/it/projects/components/component-dependencySet/src/main/assembly/bin.xml
  src/it/projects/components/component-dependencySet/src/main/assembly/depset.xml
  src/it/projects/components/component-dependencySet/src/main/java/test/App.java
  src/it/projects/components/component-dependencySet/src/test/java/test/AppTest.java
  src/it/projects/components/component-moduleSet/child1/pom.xml
  src/it/projects/components/component-moduleSet/child1/src/main/java/test/App.java
  src/it/projects/components/component-moduleSet/child1/src/test/java/test/AppTest.java
  src/it/projects/components/component-moduleSet/child2/pom.xml
  src/it/projects/components/component-moduleSet/child2/src/assemble/bin.xml
  src/it/projects/components/component-moduleSet/child2/src/assemble/modset.xml
  src/it/projects/components/component-moduleSet/pom.xml
  src/it/projects/container-descriptors/configured-handler/pom.xml
  src/it/projects/container-descriptors/configured-handler/src/assemble/bin.xml
  src/it/projects/container-descriptors/configured-handler/src/config/a/file.txt
  src/it/projects/container-descriptors/configured-handler/src/config/b/file.txt
  src/it/projects/container-descriptors/configured-handler/verify.bsh
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/a.properties
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/pom.xml
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/assemble/bin.xml
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/config/a/file.txt
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/config/b/file.txt
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/handler-def/pom.xml
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/handler-def/src/main/resources/META-INF/plexus/components.xml
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/pom.xml
  src/it/projects/container-descriptors/custom-containerDescriptorHandler/verify.bsh
  src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/a.properties
  src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/pom.xml
  src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/assemble/bin.xml
  src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/config/a/file.txt
  src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/config/b/file.txt
  src/it/projects/container-descriptors/custom-handler-withFileEntries/handler-def/pom.xml
  src/it/projects/container-descriptors/custom-handler-withFileEntries/handler-def/src/main/resources/META-INF/plexus/components.xml
  src/it/projects/container-descriptors/custom-handler-withFileEntries/pom.xml
  src/it/projects/container-descriptors/custom-handler-withFileEntries/verify.bsh
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/a.properties
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/pom.xml
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/assemble/bin.xml
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/config/a/file.txt
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/config/b/file.txt
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/handler-def/pom.xml
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/handler-def/src/main/resources/META-INF/plexus/components.xml
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/pom.xml
  src/it/projects/container-descriptors/custom-handler-withMixedEntries/verify.bsh
  src/it/projects/container-descriptors/metaInf-services-aggregation/child1/pom.xml
  src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/main/java/test/App.java
  src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/main/resources/META-INF/services/test.Test
  src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/test/java/test/AppTest.java
  src/it/projects/container-descriptors/metaInf-services-aggregation/child2/pom.xml
  src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/assemble/bin.xml
  src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/main/java/test/App.java
  src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/main/resources/META-INF/services/test.Test
  src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/test/java/test/AppTest.java
  src/it/projects/container-descriptors/metaInf-services-aggregation/pom.xml
  src/it/projects/container-descriptors/metaInf-services-aggregation/verify.bsh
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/pom.xml
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/java/test/App.java
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/resources/META-INF/spring.handlers
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/resources/META-INF/spring.schemas
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/test/java/test/AppTest.java
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/pom.xml
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/assemble/bin.xml
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/java/test/App.java
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/resources/META-INF/spring.handlers
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/resources/META-INF/spring.schemas
  src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/test/java/test/AppTest.java
  src/it/projects/container-descriptors/metaInf-spring-aggregation/pom.xml
  src/it/projects/container-descriptors/metaInf-spring-aggregation/verify.bsh
  src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/pom.xml
  src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/main/java/test/App.java
  src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/verify.bsh
  src/it/projects/dependency-sets/dep-with-transitive-filter/pom.xml
  src/it/projects/dependency-sets/dep-with-transitive-filter/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/dep-with-transitive-filter/src/main/java/test/App.java
  src/it/projects/dependency-sets/dep-with-transitive-filter/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dep-with-transitive-filter/verify.bsh
  src/it/projects/dependency-sets/dependencySet-matchScope/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-matchScope/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-matchScope/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-matchScope/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-matchScope/pom.xml
  src/it/projects/dependency-sets/dependencySet-matchScope/README-jira.txt
  src/it/projects/dependency-sets/dependencySet-matchScope/verify.bsh
  src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml
  src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt
  src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-notUnpacked/pom.xml
  src/it/projects/dependency-sets/dependencySet-notUnpacked/verify.bsh
  src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/pom.xml
  src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/assembly/bin.xml
  src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/main/java/foo/Foo.java
  src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/main/webapp/WEB-INF/web.xml
  src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/verify.bsh
  src/it/projects/dependency-sets/dependencySet-unpacked/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpacked/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-unpacked/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-unpacked/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-unpacked/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpacked/verify.bsh
  src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child1/src/main/resources/assembly-resources/test.txt
  src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-unpacked-filtered/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/verify.bsh
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/main/java/test/App2.java
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/pom.xml
  src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/verify.bsh
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/pom.xml
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/pom.xml
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/pom.xml
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/src/assemble/bin.xml
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/src/main/java/test/App.java
  src/it/projects/dependency-sets/dependencySet-withExecutedProject/verify.bsh
  src/it/projects/dependency-sets/depMgmt-override/child/pom.xml
  src/it/projects/dependency-sets/depMgmt-override/child/src/assembly/bundle.xml
  src/it/projects/dependency-sets/depMgmt-override/pom.xml
  src/it/projects/dependency-sets/depMgmt-override/verify.bsh
  src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child1/pom.xml
  src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child1/src/main/resources/assembly-resources/test.txt
  src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child2/pom.xml
  src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/depSet-artifactPomPropInterp/pom.xml
  src/it/projects/dependency-sets/depSet-artifactPomPropInterp/verify.bsh
  src/it/projects/dependency-sets/depSet-byDepVersion/child1/pom.xml
  src/it/projects/dependency-sets/depSet-byDepVersion/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-byDepVersion/child2/pom.xml
  src/it/projects/dependency-sets/depSet-byDepVersion/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-byDepVersion/child3/pom.xml
  src/it/projects/dependency-sets/depSet-byDepVersion/child3/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/depSet-byDepVersion/pom.xml
  src/it/projects/dependency-sets/depSet-byDepVersion/verify.bsh
  src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml
  src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml
  src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh
  src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml
  src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/depSet-runtimeScope/child1/pom.xml
  src/it/projects/dependency-sets/depSet-runtimeScope/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-runtimeScope/child2/pom.xml
  src/it/projects/dependency-sets/depSet-runtimeScope/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-runtimeScope/child3/pom.xml
  src/it/projects/dependency-sets/depSet-runtimeScope/child3/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/depSet-runtimeScope/pom.xml
  src/it/projects/dependency-sets/depSet-runtimeScope/verify.bsh
  src/it/projects/dependency-sets/depSet-transFromProfile/child1/pom.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-transFromProfile/child2/pom.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-transFromProfile/child3/pom.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/child3/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-transFromProfile/child4/pom.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/child4/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/child4/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-transFromProfile/pom.xml
  src/it/projects/dependency-sets/depSet-transFromProfile/test.properties
  src/it/projects/dependency-sets/depSet-transFromProfile/verify.bsh
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/child1/pom.xml
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/child1/src/main/resources/test.txt
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/pom.xml
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/pom.xml
  src/it/projects/dependency-sets/depSet-unpacked-rdonly/verify.bsh
  src/it/projects/dependency-sets/include-project-artifact/pom.xml
  src/it/projects/dependency-sets/include-project-artifact/README-jira.txt
  src/it/projects/dependency-sets/include-project-artifact/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/include-project-artifact/src/main/java/test/App.java
  src/it/projects/dependency-sets/include-project-artifact/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/include-project-artifact/verify.bsh
  src/it/projects/dependency-sets/include-project-attachments/pom.xml
  src/it/projects/dependency-sets/include-project-attachments/README-jira.txt
  src/it/projects/dependency-sets/include-project-attachments/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/include-project-attachments/src/main/assembly/src.xml
  src/it/projects/dependency-sets/include-project-attachments/src/main/java/test/App.java
  src/it/projects/dependency-sets/include-project-attachments/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/include-project-attachments/verify.bsh
  src/it/projects/dependency-sets/include-provided/child1/pom.xml
  src/it/projects/dependency-sets/include-provided/child1/src/main/java/test/App.java
  src/it/projects/dependency-sets/include-provided/child1/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/include-provided/child2/pom.xml
  src/it/projects/dependency-sets/include-provided/child2/src/assemble/bin.xml
  src/it/projects/dependency-sets/include-provided/child2/src/main/java/test/App.java
  src/it/projects/dependency-sets/include-provided/child2/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/include-provided/pom.xml
  src/it/projects/dependency-sets/include-provided/README-jira.txt
  src/it/projects/dependency-sets/include-provided/verify.bsh
  src/it/projects/dependency-sets/including-pom-dependency/pom.xml
  src/it/projects/dependency-sets/including-pom-dependency/src/assemble/bin.xml
  src/it/projects/dependency-sets/including-pom-dependency/src/main/java/com/nf/ass/App.java
  src/it/projects/dependency-sets/including-pom-dependency/verify.bsh
  src/it/projects/dependency-sets/including-sar-dependency/pom.xml
  src/it/projects/dependency-sets/including-sar-dependency/src/assemble/bin.xml
  src/it/projects/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java
  src/it/projects/dependency-sets/including-sar-dependency/verify.bsh
  src/it/projects/dependency-sets/massembly-201/pom.xml
  src/it/projects/dependency-sets/massembly-201/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/massembly-201/src/main/java/test/App.java
  src/it/projects/dependency-sets/massembly-201/verify.bsh
  src/it/projects/dependency-sets/massembly-232/assembly.xml
  src/it/projects/dependency-sets/massembly-232/pom.xml
  src/it/projects/dependency-sets/massembly-232/src/main/etc/hello.txt
  src/it/projects/dependency-sets/massembly-232/verify.bsh
  src/it/projects/dependency-sets/massembly-235/pom.xml
  src/it/projects/dependency-sets/massembly-235/src/main/assembly/release.xml
  src/it/projects/dependency-sets/massembly-235/src/main/java/HelloWorld.java
  src/it/projects/dependency-sets/massembly-235/src/test/java/HelloWorldTest.java
  src/it/projects/dependency-sets/massembly-235/verify.bsh
  src/it/projects/dependency-sets/massembly-345/pom.xml
  src/it/projects/dependency-sets/massembly-345/src/assemble/bin.xml
  src/it/projects/dependency-sets/massembly-345/src/main/resources/application.xml
  src/it/projects/dependency-sets/massembly-345/verify.bsh
  src/it/projects/dependency-sets/massembly-99/module-a/pom.xml
  src/it/projects/dependency-sets/massembly-99/module-a/src/main/java/com/nf/ass/App.java
  src/it/projects/dependency-sets/massembly-99/module-a/src/test/java/com/nf/ass/AppTest.java
  src/it/projects/dependency-sets/massembly-99/module-b/pom.xml
  src/it/projects/dependency-sets/massembly-99/module-b/src/main/java/com/nf/ass/App.java
  src/it/projects/dependency-sets/massembly-99/module-b/src/test/java/com/nf/ass/AppTest.java
  src/it/projects/dependency-sets/massembly-99/pom.xml
  src/it/projects/dependency-sets/massembly-99/src/main/assemblies/bin.xml
  src/it/projects/dependency-sets/massembly-99/verify.bsh
  src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/pom.xml
  src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/main/java/test/App.java
  src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/verify.bsh
  src/it/projects/dependency-sets/multiple-wildcard-includes/pom.xml
  src/it/projects/dependency-sets/multiple-wildcard-includes/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/multiple-wildcard-includes/src/main/java/test/App.java
  src/it/projects/dependency-sets/multiple-wildcard-includes/src/test/java/test/AppTest.java
  src/it/projects/dependency-sets/multiple-wildcard-includes/verify.bsh
  src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/pom.xml
  src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/src/main/assembly/bin.xml
  src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/verify.bsh
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/pom.xml
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/src/main/java/com/nf/ass/App.java
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/src/test/java/com/nf/ass/AppTest.java
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/pom.xml
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/src/main/java/com/nf/ass/App.java
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/src/test/java/com/nf/ass/AppTest.java
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/pom.xml
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/src/main/assemblies/bin.xml
  src/it/projects/dependency-sets/using-moduleSet-implied-depSet/verify.bsh
  src/it/projects/descriptor-refs/bin/jars-in-archive-root/pom.xml
  src/it/projects/descriptor-refs/bin/jars-in-archive-root/src/main/java/test/App.java
  src/it/projects/descriptor-refs/bin/jars-in-archive-root/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/bin/jars-in-archive-root/verify.bsh
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/src/main/java/test/AppChild1.java
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/src/main/resources/META-INF/plexus/components.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/assemble/bin.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/main/java/test/App.java
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/main/resources/META-INF/plexus/components.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/verify.bsh
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child1/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child1/src/main/java/test/AppChild1.java
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/assemble/bin.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/main/java/test/App.java
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/verify.bsh
  src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/pom.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/src/assemble/bin.xml
  src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/src/main/java/test/App.java
  src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/verify.bsh
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/pom.xml
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/src/main/java/test/App.java
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/pom.xml
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/src/main/java/test/App.java
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/pom.xml
  src/it/projects/descriptor-refs/project/multimodule-sources-copied/verify.bsh
  src/it/projects/descriptor-refs/project/no-target-dir/pom.xml
  src/it/projects/descriptor-refs/project/no-target-dir/src/main/java/test/App.java
  src/it/projects/descriptor-refs/project/no-target-dir/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/project/no-target-dir/verify.bsh
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/pom.xml
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/src/main/java/test/App.java
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/pom.xml
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/src/main/java/test/App.java
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/pom.xml
  src/it/projects/descriptor-refs/project/no-target-dir-multimodule/verify.bsh
  src/it/projects/descriptor-refs/project/sources-copied/pom.xml
  src/it/projects/descriptor-refs/project/sources-copied/src/main/java/test/App.java
  src/it/projects/descriptor-refs/project/sources-copied/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/project/sources-copied/verify.bsh
  src/it/projects/descriptor-refs/src/no-target-dir/pom.xml
  src/it/projects/descriptor-refs/src/no-target-dir/src/main/java/test/App.java
  src/it/projects/descriptor-refs/src/no-target-dir/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/src/no-target-dir/verify.bsh
  src/it/projects/descriptor-refs/src/src-dir-copied/pom.xml
  src/it/projects/descriptor-refs/src/src-dir-copied/src/main/java/test/App.java
  src/it/projects/descriptor-refs/src/src-dir-copied/src/test/java/test/AppTest.java
  src/it/projects/descriptor-refs/src/src-dir-copied/verify.bsh
  src/it/projects/file-modes/file-set-fileMode/pom.xml
  src/it/projects/file-modes/file-set-fileMode/src/assemble/src.xml
  src/it/projects/file-modes/file-set-fileMode/src/main/java/test/App.java
  src/it/projects/file-modes/file-set-fileMode/src/test/java/test/AppTest.java
  src/it/projects/file-modes/file-set-fileMode/verify.bsh
  src/it/projects/file-modes/fileItem-fileMode/pom.xml
  src/it/projects/file-modes/fileItem-fileMode/src/assemble/src.xml
  src/it/projects/file-modes/fileItem-fileMode/src/main/java/test/App.java
  src/it/projects/file-modes/fileItem-fileMode/src/test/java/test/AppTest.java
  src/it/projects/file-modes/fileItem-fileMode/verify.bsh
  src/it/projects/file-sets/default-directory-unspecified/pom.xml
  src/it/projects/file-sets/default-directory-unspecified/src/main/assembly/src.xml
  src/it/projects/file-sets/default-directory-unspecified/verify.bsh
  src/it/projects/file-sets/default-excludes-unspecified/pom.xml
  src/it/projects/file-sets/default-excludes-unspecified/src/main/assembly/src.xml
  src/it/projects/file-sets/default-excludes-unspecified/src/main/java/test/App.java
  src/it/projects/file-sets/default-excludes-unspecified/src/test/java/test/AppTest.java
  src/it/projects/file-sets/default-excludes-unspecified/verify.bsh
  src/it/projects/file-sets/dont-use-default-excludes/pom.xml
  src/it/projects/file-sets/dont-use-default-excludes/setup.bsh
  src/it/projects/file-sets/dont-use-default-excludes/src/main/assembly/src.xml
  src/it/projects/file-sets/dont-use-default-excludes/src/main/java/test/App.java
  src/it/projects/file-sets/dont-use-default-excludes/src/test/java/test/AppTest.java
  src/it/projects/file-sets/dont-use-default-excludes/verify.groovy
  src/it/projects/file-sets/excludes-using-regex/child/pom.xml
  src/it/projects/file-sets/excludes-using-regex/child/src/main/resources/target/file.txt
  src/it/projects/file-sets/excludes-using-regex/child/target/classes/src/omit.txt
  src/it/projects/file-sets/excludes-using-regex/child/target/omit.txt
  src/it/projects/file-sets/excludes-using-regex/pom.xml
  src/it/projects/file-sets/excludes-using-regex/src/assemble/src.xml
  src/it/projects/file-sets/excludes-using-regex/src/main/java/org/test/target/file.properties
  src/it/projects/file-sets/excludes-using-regex/target/classes/src/omit.txt
  src/it/projects/file-sets/excludes-using-regex/target/omit.txt
  src/it/projects/file-sets/excludes-using-regex/verify.bsh
  src/it/projects/file-sets/excluding-svn-dirs/pom.xml
  src/it/projects/file-sets/excluding-svn-dirs/setup.bsh
  src/it/projects/file-sets/excluding-svn-dirs/src/main/assembly/src.xml
  src/it/projects/file-sets/excluding-svn-dirs/src/main/java/test/App.java
  src/it/projects/file-sets/excluding-svn-dirs/src/test/java/test/AppTest.java
  src/it/projects/file-sets/excluding-svn-dirs/verify.groovy
  src/it/projects/file-sets/filtered-module-sources/child/pom.xml
  src/it/projects/file-sets/filtered-module-sources/child/src/main/assembly-resources/test.txt
  src/it/projects/file-sets/filtered-module-sources/pom.xml
  src/it/projects/file-sets/filtered-module-sources/src/main/assembly/src.xml
  src/it/projects/file-sets/filtered-module-sources/verify.bsh
  src/it/projects/file-sets/filtered-multimodule/child/pom.xml
  src/it/projects/file-sets/filtered-multimodule/child/src/main/assembly/src.xml
  src/it/projects/file-sets/filtered-multimodule/child/src/main/assembly-resources/test.txt
  src/it/projects/file-sets/filtered-multimodule/pom.xml
  src/it/projects/file-sets/filtered-multimodule/src/main/assembly/bin.xml
  src/it/projects/file-sets/filtered-multimodule/src/main/java/org/apache/maven/plugin/assembly/test/App.java
  src/it/projects/file-sets/filtered-multimodule/verify.bsh
  src/it/projects/file-sets/include-base-directory/pom.xml
  src/it/projects/file-sets/include-base-directory/src/main/assembly/src.xml
  src/it/projects/file-sets/include-base-directory/src/main/java/test/App.java
  src/it/projects/file-sets/include-base-directory/src/test/java/test/AppTest.java
  src/it/projects/file-sets/include-base-directory/verify.bsh
  src/it/projects/file-sets/include-parent-dir/child/pom.xml
  src/it/projects/file-sets/include-parent-dir/child/src/assemble/parent.xml
  src/it/projects/file-sets/include-parent-dir/child/src/main/java/test/App.java
  src/it/projects/file-sets/include-parent-dir/child/src/test/java/test/AppTest.java
  src/it/projects/file-sets/include-parent-dir/pom.xml
  src/it/projects/file-sets/include-parent-dir/verify.bsh
  src/it/projects/file-sets/multimodule-unix-lineEndings/child/pom.xml
  src/it/projects/file-sets/multimodule-unix-lineEndings/child/src/main/assembly/src.xml
  src/it/projects/file-sets/multimodule-unix-lineEndings/child/src/main/assembly-resources/test.txt
  src/it/projects/file-sets/multimodule-unix-lineEndings/pom.xml
  src/it/projects/file-sets/multimodule-unix-lineEndings/src/main/assembly/bin.xml
  src/it/projects/file-sets/multimodule-unix-lineEndings/src/main/java/org/apache/maven/plugin/assembly/test/App.java
  src/it/projects/file-sets/multimodule-unix-lineEndings/verify.bsh
  src/it/projects/file-sets/multimodule-win-lineEndings/child/pom.xml
  src/it/projects/file-sets/multimodule-win-lineEndings/child/src/main/assembly/src.xml
  src/it/projects/file-sets/multimodule-win-lineEndings/child/src/main/assembly-resources/test.txt
  src/it/projects/file-sets/multimodule-win-lineEndings/pom.xml
  src/it/projects/file-sets/multimodule-win-lineEndings/src/main/assembly/bin.xml
  src/it/projects/file-sets/multimodule-win-lineEndings/src/main/java/org/apache/maven/plugin/assembly/test/App.java
  src/it/projects/file-sets/multimodule-win-lineEndings/verify.bsh
  src/it/projects/file-sets/use-default-excludes/pom.xml
  src/it/projects/file-sets/use-default-excludes/src/main/assembly/src.xml
  src/it/projects/file-sets/use-default-excludes/src/main/java/test/App.java
  src/it/projects/file-sets/use-default-excludes/src/test/java/test/AppTest.java
  src/it/projects/file-sets/use-default-excludes/verify.bsh
  src/it/projects/files/filtered-sysprop/pom.xml
  src/it/projects/files/filtered-sysprop/src/assemble/bin.xml
  src/it/projects/files/filtered-sysprop/src/config/a/filtered.txt
  src/it/projects/files/filtered-sysprop/verify.bsh
  src/it/projects/files/multimodule-relativePath/a.properties
  src/it/projects/files/multimodule-relativePath/child/pom.xml
  src/it/projects/files/multimodule-relativePath/child/src/assemble/bin.xml
  src/it/projects/files/multimodule-relativePath/child/src/config/a/file.txt
  src/it/projects/files/multimodule-relativePath/child/src/config/b/file.txt
  src/it/projects/files/multimodule-relativePath/pom.xml
  src/it/projects/files/multimodule-relativePath/verify.bsh
  src/it/projects/filtering-feature/filter-comp-descriptor-path/assembly.xml
  src/it/projects/filtering-feature/filter-comp-descriptor-path/component.xml
  src/it/projects/filtering-feature/filter-comp-descriptor-path/pom.xml
  src/it/projects/filtering-feature/filter-comp-descriptor-path/verify.bsh
  src/it/projects/filtering-feature/filters-defined-in-build/pom.xml
  src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml
  src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-2.properties
  src/it/projects/filtering-feature/filters-defined-in-build/src/main/filters/filter-assembly.properties
  src/it/projects/filtering-feature/filters-defined-in-build/src/main/filters/filter-build.properties
  src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
  src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/filter.properties
  src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/pom.xml
  src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/assemble/bin.xml
  src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt
  src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/pom.xml
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/src/main/java/test/App.java
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/src/test/java/test/AppTest.java
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/pom.xml
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/src/main/java/test/App.java
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/src/test/java/test/AppTest.java
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/pom.xml
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/src/assemble/bin.xml
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/test.properties
  src/it/projects/forking-tests/assembly-assembly-with-module-binaries/verify.bsh
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/pom.xml
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/src/main/java/test/App.java
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/src/test/java/test/AppTest.java
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/pom.xml
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/src/main/java/test/App.java
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/src/test/java/test/AppTest.java
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/pom.xml
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/src/assemble/bin.xml
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/test.properties
  src/it/projects/forking-tests/assembly-attached-with-module-binaries/verify.bsh
  src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml
  src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml
  src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java
  src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java
  src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh
  src/it/projects/mojo-configuration/ignoreDirFormatExtensions/pom.xml
  src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/assembly/src.xml
  src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/assembly/src2.xml
  src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/java/test/App.java
  src/it/projects/mojo-configuration/ignoreDirFormatExtensions/verify.bsh
  src/it/projects/mojo-configuration/manifest-with-customEntry/pom.xml
  src/it/projects/mojo-configuration/manifest-with-customEntry/src/main/java/test/App.java
  src/it/projects/mojo-configuration/manifest-with-customEntry/src/test/java/test/AppTest.java
  src/it/projects/mojo-configuration/manifest-with-customEntry/verify.bsh
  src/it/projects/mojo-configuration/manifest-with-mainClass/pom.xml
  src/it/projects/mojo-configuration/manifest-with-mainClass/src/main/java/test/App.java
  src/it/projects/mojo-configuration/manifest-with-mainClass/src/test/java/test/AppTest.java
  src/it/projects/mojo-configuration/manifest-with-mainClass/verify.bsh
  src/it/projects/mojo-configuration/massembly-291/pom.xml
  src/it/projects/mojo-configuration/massembly-291/src/main/assembly/src.xml
  src/it/projects/mojo-configuration/massembly-291/test.properties
  src/it/projects/mojo-configuration/massembly-291/verify.bsh
  src/it/projects/mojo-configuration/massembly-301/pom.xml
  src/it/projects/mojo-configuration/massembly-301/src/main/assembly/src.xml
  src/it/projects/mojo-configuration/massembly-301/src/main/java/test/App.java
  src/it/projects/mojo-configuration/massembly-301/test.properties
  src/it/projects/mojo-configuration/massembly-301/verify.bsh
  src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/pom.xml
  src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/src/main/java/test/App.java
  src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/src/test/java/test/AppTest.java
  src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/verify.bsh
  src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/pom.xml
  src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/src/main/assembly/bin.xml
  src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/test.properties
  src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/verify.bsh
  src/it/projects/mojo-tests/single-in-one-project-hierarchy/pom.xml
  src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/assemble/bin.xml
  src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/main/java/test/App.java
  src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/test/java/test/AppTest.java
  src/it/projects/mojo-tests/single-in-one-project-hierarchy/verify.bsh
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/pom.xml
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/assemble/bin.xml
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/main/java/test/App.java
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/test/java/test/AppTest.java
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/pom.xml
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/assemble/bin.xml
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/main/java/test/App.java
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/test/java/test/AppTest.java
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/pom.xml
  src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/verify.bsh
  src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/pom.xml
  src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/assemble/bin.xml
  src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/main/java/test/App.java
  src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/test/java/test/AppTest.java
  src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/verify.bsh
  src/it/projects/multimodule/massembly-298/child1/pom.xml
  src/it/projects/multimodule/massembly-298/child1/src/main/java/org/test/child1/App.java
  src/it/projects/multimodule/massembly-298/child1/src/main/java/org/test/child1/App2.java
  src/it/projects/multimodule/massembly-298/child1/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/massembly-298/child2/pom.xml
  src/it/projects/multimodule/massembly-298/child2/src/main/java/org/test/child2/App.java
  src/it/projects/multimodule/massembly-298/child2/src/main/java/org/test/other/App.java
  src/it/projects/multimodule/massembly-298/child2/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/massembly-298/pom.xml
  src/it/projects/multimodule/massembly-298/src/assemble/bin.xml
  src/it/projects/multimodule/massembly-298/verify.bsh
  src/it/projects/multimodule/multimodule-binariesNotSource/child1/pom.xml
  src/it/projects/multimodule/multimodule-binariesNotSource/child1/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-binariesNotSource/child1/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-binariesNotSource/child2/pom.xml
  src/it/projects/multimodule/multimodule-binariesNotSource/child2/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-binariesNotSource/child2/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-binariesNotSource/child3/pom.xml
  src/it/projects/multimodule/multimodule-binariesNotSource/child3/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-binariesNotSource/child3/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-binariesNotSource/pom.xml
  src/it/projects/multimodule/multimodule-binariesNotSource/src/assemble/bin.xml
  src/it/projects/multimodule/multimodule-binariesNotSource/verify.bsh
  src/it/projects/multimodule/multimodule-filteredFileSet/child/pom.xml
  src/it/projects/multimodule/multimodule-filteredFileSet/child/src/config/a/filtered.txt
  src/it/projects/multimodule/multimodule-filteredFileSet/child/verify.bsh
  src/it/projects/multimodule/multimodule-filteredFileSet/pom.xml
  src/it/projects/multimodule/multimodule-filteredFileSet/src/assemble/bin.xml
  src/it/projects/multimodule/multimodule-filteredFileSet/verify.bsh
  src/it/projects/multimodule/multimodule-modulePomPropInterp/child1/pom.xml
  src/it/projects/multimodule/multimodule-modulePomPropInterp/child1/src/main/resources/assembly-resources/test.txt
  src/it/projects/multimodule/multimodule-modulePomPropInterp/child2/pom.xml
  src/it/projects/multimodule/multimodule-modulePomPropInterp/child2/src/assemble/bin.xml
  src/it/projects/multimodule/multimodule-modulePomPropInterp/pom.xml
  src/it/projects/multimodule/multimodule-modulePomPropInterp/verify.bsh
  src/it/projects/multimodule/multimodule-siblingParent/child1/pom.xml
  src/it/projects/multimodule/multimodule-siblingParent/child1/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-siblingParent/child1/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-siblingParent/child2/pom.xml
  src/it/projects/multimodule/multimodule-siblingParent/child2/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-siblingParent/child2/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-siblingParent/parent/pom.xml
  src/it/projects/multimodule/multimodule-siblingParent/parent/src/assemble/src.xml
  src/it/projects/multimodule/multimodule-siblingParent/parent/verify.bsh
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/pom.xml
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/pom.xml
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/pom.xml
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-sourceNotBinaries/pom.xml
  src/it/projects/multimodule/multimodule-sourceNotBinaries/src/assemble/src.xml
  src/it/projects/multimodule/multimodule-sourceNotBinaries/verify.bsh
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/pom.xml
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/pom.xml
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/pom.xml
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/src/main/java/org/test/App.java
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/src/test/java/org/test/AppTest.java
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child4/pom.xml
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/child4/src/assemble/bin.xml
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/pom.xml
  src/it/projects/multimodule/multimodule-wholeReactorFromChild/verify.bsh
  src/it/projects/multimodule/two-level-multimodule/child-level1-project1/pom.xml
  src/it/projects/multimodule/two-level-multimodule/child-level1-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-level-multimodule/child-level1-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/pom.xml
  src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-level-multimodule/child-level1-project2/pom.xml
  src/it/projects/multimodule/two-level-multimodule/pom.xml
  src/it/projects/multimodule/two-level-multimodule/src/assemble/bin.xml
  src/it/projects/multimodule/two-level-multimodule/verify.bsh
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/pom.xml
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/pom.xml
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/pom.xml
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/pom.xml
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/src/assemble/bin.xml
  src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/verify.bsh
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/src/assemble/bin.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withBin/verify.bsh
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/src/main/java/test/App.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/pom.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/src/assemble/src.xml
  src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/verify.bsh
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/pom.xml
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/src/main/java/test/App.java
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/pom.xml
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/src/main/java/test/App2.java
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/src/test/java/test/App2Test.java
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/pom.xml
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/pom.xml
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/src/main/assembly/src.xml
  src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/verify.bsh
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/pom.xml
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/src/main/java/test/App.java
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/src/test/java/test/AppTest.java
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/pom.xml
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/src/main/java/test/App2.java
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/src/test/java/test/App2Test.java
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/pom.xml
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/pom.xml
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/src/main/assembly/src.xml
  src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/verify.bsh
  src/it/projects/repositories/basic-repository/pom.xml
  src/it/projects/repositories/basic-repository/src/assemble/bin.xml
  src/it/projects/repositories/basic-repository/src/main/java/org/apache/maven/plugin/assembly/test/App.java
  src/it/projects/repositories/basic-repository/src/test/java/org/apache/maven/plugin/assembly/test/AppTest.java
  src/it/projects/repositories/basic-repository/verify.bsh
  src/it/projects/repositories/massembly-196/pom.xml
  src/it/projects/repositories/massembly-196/src/main/assembly/bin.xml
  src/it/projects/repositories/massembly-196/src/main/java/test/App.java
  src/it/projects/repositories/massembly-196/verify.bsh
  src/it/projects/repositories/repo-with-snapshot-parents/child/pom.xml
  src/it/projects/repositories/repo-with-snapshot-parents/child/remote-repository/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.pom
  src/it/projects/repositories/repo-with-snapshot-parents/child/src/assemble/bin.xml
  src/it/projects/repositories/repo-with-snapshot-parents/child/src/main/java/org/apache/maven/plugin/assembly/test/App.java
  src/it/projects/repositories/repo-with-snapshot-parents/child/src/test/java/org/apache/maven/plugin/assembly/test/AppTest.java
  src/it/projects/repositories/repo-with-snapshot-parents/pom.xml
  src/it/projects/repositories/repo-with-snapshot-parents/verify.bsh
  src/site/resources/architecture/assembly-plugin-architecture-notes.html/index.html
  src/test/resources/assemblies/empty.xml

*******************************

Archives:

 + src/functional-tests/remote-repo/assembly/dependency-artifact/1.0/dependency-artifact-1.0.jar
 
 + src/functional-tests/remote-repo/assembly/dependency-artifact/1.1/dependency-artifact-1.1.jar
 
 + src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/plexus-utils-1.3-20060811.151624-1.jar
 
 + src/it/projects/repositories/repo-with-snapshot-parents/child/remote-repository/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.jar
 
*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require AL headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc will be marked N
 !????? integration-test-archetype/pom.xml
  AL    integration-test-archetype/src/main/resources/archetype-resources/invoker.properties
 !????? integration-test-archetype/src/main/resources/archetype-resources/pom.xml
 !????? integration-test-archetype/src/main/resources/archetype-resources/src/java/AppTest.java
 !????? integration-test-archetype/src/main/resources/archetype-resources/src/main/assembly/bin.xml
 !????? integration-test-archetype/src/main/resources/archetype-resources/src/main/java/App.java
 !????? integration-test-archetype/src/main/resources/archetype-resources/verify.bsh
 !????? integration-test-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
 !????? integration-test-archetype/src/main/resources/META-INF/maven/archetype.xml
  AL    pom.xml
 !????? required-docs.txt
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/AssemblyMojoTest.java
 !????? src/functional-tests/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/DirectoryInlineMojoTest.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/DirectoryMojoTest.java
 !????? src/functional-tests/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolatorTest.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/ArchiverManagerStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/ArchiverManagerWithExceptionStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/ArtifactStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/AssemblyMavenProjectStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/DirectoryArchiverStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/JarArchiverStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/MavenProjectWithArtifactsStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/MavenProjectWithDependencyClassifierStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/ReactorMavenProjectStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/SignedUnArchiver.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/TarArchiverStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/UnArchiverStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/UnArchiverWithException.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/stubs/WarArchiverStub.java
  AL    src/functional-tests/java/org/apache/maven/plugin/assembly/UnpackMojoTest.java
  AL    src/functional-tests/plugin-configs/assembly/classifier-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/component-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-default-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-excludes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-filename-mapping-and-classifier-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-filename-mapping-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-includes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-scoped-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/depSet-unpack-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/descriptorSourceDirectory-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileItem-fileMode-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileItem-filter-file-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileItem-filtered-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileItem-lineEndings-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileItem-output-name-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileItem-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-archiveBaseDir-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-crlf-lineEndings-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-doesnt-exist-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-dos-lineEndings-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-includes-excludes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-lf-lineEndings-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-lineEndings-exception-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-no-directory-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/fileSet-unix-lineEndings-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/includeSite-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/manifest-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/manifestFile-FileNotFoundException-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/manifestFile-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/MASSEMBLY-98-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/min-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/moduleSet-excludes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/moduleSet-include-dependencies-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/moduleSet-includes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/moduleSet-packed-including-dependencies-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/moduleSet-packed-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/moduleSet-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/NoSuchArchiverException-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/plexus-components-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/repository-groupVersionAlignment-excludes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/repository-groupVersionAlignment-includes-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/repository-groupVersionAlignment-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/repository-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/repository-with-metadata-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/tar-bz2-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/tar-gz-plugin-config.xml
  AL    src/functional-tests/plugin-configs/assembly/war-plugin-config.xml
  AL    src/functional-tests/plugin-configs/attached/depSet-plugin-config.xml
  AL    src/functional-tests/plugin-configs/attached/min-plugin-config.xml
  AL    src/functional-tests/plugin-configs/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-pluginConfig.xml
  AL    src/functional-tests/plugin-configs/directory/appendAssemblyId-false-plugin-config.xml
  AL    src/functional-tests/plugin-configs/directory/dependency-set-plugin-config.xml
  AL    src/functional-tests/plugin-configs/directory/min-plugin-config-with-exceptions.xml
  AL    src/functional-tests/plugin-configs/directory/min-plugin-config.xml
  AL    src/functional-tests/plugin-configs/directory-inline/dependency-set-plugin-config.xml
  AL    src/functional-tests/plugin-configs/directory-inline/min-plugin-config.xml
  AL    src/functional-tests/plugin-configs/unpack/archiver-manager-exception-plugin-config.xml
  AL    src/functional-tests/plugin-configs/unpack/min-plugin-config.xml
  AL    src/functional-tests/plugin-configs/unpack/unpack-exception-plugin-config.xml
  AL    src/functional-tests/plugin-configs/unpack/with-reactor-projects-plugin-config.xml
  A     src/functional-tests/remote-repo/assembly/dependency-artifact/1.0/dependency-artifact-1.0.jar
 !????? src/functional-tests/remote-repo/assembly/dependency-artifact/1.0/dependency-artifact-1.0.pom
  A     src/functional-tests/remote-repo/assembly/dependency-artifact/1.1/dependency-artifact-1.1.jar
 !????? src/functional-tests/remote-repo/assembly/dependency-artifact/1.1/dependency-artifact-1.1.pom
  AL    src/functional-tests/resources/assemblies/components/dependencySet.xml
  AL    src/functional-tests/resources/assemblies/components/FileItem.xml
  AL    src/functional-tests/resources/assemblies/components/FileSet.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-default.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-excludes.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-filename-mapping-and-classifier.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-filename-mapping.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-includes.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-scoped.xml
  AL    src/functional-tests/resources/assemblies/dependencySet-unpack.xml
  AL    src/functional-tests/resources/assemblies/descriptorSourceDirectory/simple.xml
  AL    src/functional-tests/resources/assemblies/empty.xml
  AL    src/functional-tests/resources/assemblies/fileItem-fileMode.xml
  AL    src/functional-tests/resources/assemblies/fileItem-filter-file.xml
  AL    src/functional-tests/resources/assemblies/fileItem-filtered.xml
  AL    src/functional-tests/resources/assemblies/fileItem-lineEndings.xml
  AL    src/functional-tests/resources/assemblies/fileItem-output-name.xml
  AL    src/functional-tests/resources/assemblies/fileItem.xml
  AL    src/functional-tests/resources/assemblies/fileSet-archiveBaseDirectory.xml
  AL    src/functional-tests/resources/assemblies/fileSet-crlf-lineEndings.xml
  AL    src/functional-tests/resources/assemblies/fileSet-doesnt-exist.xml
  AL    src/functional-tests/resources/assemblies/fileSet-dos-lineEndings.xml
  AL    src/functional-tests/resources/assemblies/fileSet-includes-excludes.xml
  AL    src/functional-tests/resources/assemblies/fileSet-lf-lineEndings.xml
  AL    src/functional-tests/resources/assemblies/fileSet-lineEndings-exception.xml
  AL    src/functional-tests/resources/assemblies/fileSet-no-directory.xml
  AL    src/functional-tests/resources/assemblies/fileSet-unix-lineEndings.xml
  AL    src/functional-tests/resources/assemblies/fileSet.xml
  AL    src/functional-tests/resources/assemblies/MASSEMBLY-98.xml
  AL    src/functional-tests/resources/assemblies/moduleSet-excludes.xml
  AL    src/functional-tests/resources/assemblies/moduleSet-include-dependencies.xml
  AL    src/functional-tests/resources/assemblies/moduleSet-includes.xml
  AL    src/functional-tests/resources/assemblies/moduleSet-packed-including-dependencies.xml
  AL    src/functional-tests/resources/assemblies/moduleSet-packed.xml
  AL    src/functional-tests/resources/assemblies/moduleSet.xml
  AL    src/functional-tests/resources/assemblies/NoSuchArchiverException.xml
  AL    src/functional-tests/resources/assemblies/plexus-components.xml
  AL    src/functional-tests/resources/assemblies/repository-groupVersionAlignment-excludes.xml
  AL    src/functional-tests/resources/assemblies/repository-groupVersionAlignment-includes.xml
  AL    src/functional-tests/resources/assemblies/repository-groupVersionAlignment.xml
  AL    src/functional-tests/resources/assemblies/repository-with-metadata.xml
  AL    src/functional-tests/resources/assemblies/repository.xml
  AL    src/functional-tests/resources/assemblies/simple.xml
  AL    src/functional-tests/resources/assemblies/tar-bz2.xml
  AL    src/functional-tests/resources/assemblies/tar-gz.xml
  AL    src/functional-tests/resources/assemblies/war.xml
 !????? src/functional-tests/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml
 !????? src/it/it-project-parent/pom.xml
  AL    src/it/projects/basic-features/classpath-descriptor/invoker.properties
 !????? src/it/projects/basic-features/classpath-descriptor/pom.xml
  AL    src/it/projects/basic-features/descriptorDirectoryScan/invoker.properties
 !????? src/it/projects/basic-features/descriptorDirectoryScan/pom.xml
 !????? src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml
  N     src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt
 !????? src/it/projects/basic-features/ExecutionRoot/child/pom.xml
  AL    src/it/projects/basic-features/ExecutionRoot/invoker.properties
 !????? src/it/projects/basic-features/ExecutionRoot/pom.xml
 !????? src/it/projects/basic-features/ExecutionRoot/src/assemble/src.xml
 !????? src/it/projects/basic-features/ExecutionRoot/verify.bsh
  AL    src/it/projects/basic-features/file-copyIntoTopDir/invoker.properties
 !????? src/it/projects/basic-features/file-copyIntoTopDir/pom.xml
 !????? src/it/projects/basic-features/file-copyIntoTopDir/src/assemble/bin.xml
 !????? src/it/projects/basic-features/file-copyIntoTopDir/TODO.txt
 !????? src/it/projects/basic-features/file-copyIntoTopDir/verify.bsh
 !????? src/it/projects/basic-features/file-sameName/a.properties
  AL    src/it/projects/basic-features/file-sameName/invoker.properties
 !????? src/it/projects/basic-features/file-sameName/pom.xml
 !????? src/it/projects/basic-features/file-sameName/src/assemble/bin.xml
 !????? src/it/projects/basic-features/file-sameName/src/config/a/file.txt
 !????? src/it/projects/basic-features/file-sameName/src/config/b/file.txt
 !????? src/it/projects/basic-features/file-sameName/verify.bsh
 !????? src/it/projects/basic-features/formats-in-pom-win/pom.xml
 !????? src/it/projects/basic-features/formats-in-pom-win/src/main/assembly/src.xml
 !????? src/it/projects/basic-features/formats-in-pom-win/verify.bsh
 !????? src/it/projects/basic-features/local-repo-interp/pom.xml
 !????? src/it/projects/basic-features/local-repo-interp/src/main/assembly/bin.xml
 !????? src/it/projects/basic-features/local-repo-interp/src/main/files/some.file
 !????? src/it/projects/basic-features/local-repo-interp/verify.bsh
  AL    src/it/projects/basic-features/massembly-256-pomPropertiesInterp/invoker.properties
 !????? src/it/projects/basic-features/massembly-256-pomPropertiesInterp/pom.xml
 !????? src/it/projects/basic-features/massembly-256-pomPropertiesInterp/src/main/assembly/myassembly.xml
 !????? src/it/projects/basic-features/massembly-256-pomPropertiesInterp/src/main/files/some.file
 !????? src/it/projects/basic-features/massembly-256-pomPropertiesInterp/verify.bsh
  AL    src/it/projects/basic-features/massembly-351-projectPrefixInterp/invoker.properties
 !????? src/it/projects/basic-features/massembly-351-projectPrefixInterp/pom.xml
 !????? src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/assembly/myassembly.xml
 !????? src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project1.file
 !????? src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project2.file
 !????? src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project3.file
 !????? src/it/projects/basic-features/massembly-351-projectPrefixInterp/verify.bsh
  AL    src/it/projects/basic-features/outputFileNameMapping-simple/invoker.properties
 !????? src/it/projects/basic-features/outputFileNameMapping-simple/pom.xml
 !????? src/it/projects/basic-features/outputFileNameMapping-simple/src/assemble/bin.xml
  AL    src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/invoker.properties
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/pom.xml
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml.md5
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml.sha1
  A     src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/plexus-utils-1.3-20060811.151624-1.jar
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/plexus-utils-1.3-20060811.151624-1.pom
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml.md5
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml.sha1
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/src/assemble/bin.xml
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/src/main/java/test/App.java
 !????? src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/verify.bsh
  AL    src/it/projects/basic-features/relative-project-paths/invoker.properties
 !????? src/it/projects/basic-features/relative-project-paths/pom.xml
 !????? src/it/projects/basic-features/relative-project-paths/src/assemble/src.xml
 !????? src/it/projects/basic-features/relative-project-paths/verify.bsh
 !????? src/it/projects/basic-features/this & that/pom.xml
 !????? src/it/projects/basic-features/this & that/src/main/assembly/src.xml
 !????? src/it/projects/basic-features/this & that/verify.bsh
 !????? src/it/projects/bugs/massembly-190/child-1/pom.xml
 !????? src/it/projects/bugs/massembly-190/child-1/src/main/resources/test.txt
 !????? src/it/projects/bugs/massembly-190/child-2/pom.xml
 !????? src/it/projects/bugs/massembly-190/child-2/src/main/resources/test.txt
  AL    src/it/projects/bugs/massembly-190/invoker.properties
 !????? src/it/projects/bugs/massembly-190/pom.xml
 !????? src/it/projects/bugs/massembly-190/src/main/assembly/bin.xml
 !????? src/it/projects/bugs/massembly-190/verify.bsh
  AL    src/it/projects/bugs/massembly-285/invoker.properties
  AL    src/it/projects/bugs/massembly-285/massembly-285-assembly/invoker.properties
 !????? src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml
 !????? src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml
 !????? src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/java/tests/App.java
 !????? src/it/projects/bugs/massembly-285/massembly-285-assembly/verify.bsh
 !????? src/it/projects/bugs/massembly-285/massembly-285-mod1/pom.xml
 !????? src/it/projects/bugs/massembly-285/massembly-285-mod1/src/main/java/tests/App.java
 !????? src/it/projects/bugs/massembly-285/massembly-285-mod1/src/test/java/tests/AppTest.java
 !????? src/it/projects/bugs/massembly-285/massembly-285-mod2/pom.xml
 !????? src/it/projects/bugs/massembly-285/massembly-285-mod2/src/main/java/tests/App.java
 !????? src/it/projects/bugs/massembly-285/massembly-285-mod2/src/test/java/tests/AppTest.java
 !????? src/it/projects/bugs/massembly-285/pom.xml
 !????? src/it/projects/bugs/massembly-285/verify.bsh
  AL    src/it/projects/bugs/massembly-306/invoker.properties
 !????? src/it/projects/bugs/massembly-306/pom.xml
  AL    src/it/projects/bugs/massembly-375/invoker.properties
 !????? src/it/projects/bugs/massembly-375/pom.xml
 !????? src/it/projects/bugs/massembly-375/src/main/assembly/test.txt
 !????? src/it/projects/bugs/massembly-375/src/main/assembly/test.xml
 !????? src/it/projects/bugs/massembly-375/verify.bsh
  AL    src/it/projects/bugs/massembly-462/invoker.properties
 !????? src/it/projects/bugs/massembly-462/pom.xml
 !????? src/it/projects/bugs/massembly-462/src/main/assembly/src.xml
 !????? src/it/projects/bugs/massembly-462/src/main/assembly-resources/test.txt
 !????? src/it/projects/bugs/massembly-462/src/main/java/test/App.java
 !????? src/it/projects/bugs/massembly-462/verify.bsh
 !????? src/it/projects/components/component-dependencySet/pom.xml
 !????? src/it/projects/components/component-dependencySet/src/main/assembly/bin.xml
 !????? src/it/projects/components/component-dependencySet/src/main/assembly/depset.xml
 !????? src/it/projects/components/component-dependencySet/src/main/java/test/App.java
 !????? src/it/projects/components/component-dependencySet/src/test/java/test/AppTest.java
 !????? src/it/projects/components/component-moduleSet/child1/pom.xml
 !????? src/it/projects/components/component-moduleSet/child1/src/main/java/test/App.java
 !????? src/it/projects/components/component-moduleSet/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/components/component-moduleSet/child2/pom.xml
 !????? src/it/projects/components/component-moduleSet/child2/src/assemble/bin.xml
 !????? src/it/projects/components/component-moduleSet/child2/src/assemble/modset.xml
 !????? src/it/projects/components/component-moduleSet/pom.xml
  AL    src/it/projects/container-descriptors/configured-handler/invoker.properties
 !????? src/it/projects/container-descriptors/configured-handler/pom.xml
 !????? src/it/projects/container-descriptors/configured-handler/src/assemble/bin.xml
 !????? src/it/projects/container-descriptors/configured-handler/src/config/a/file.txt
 !????? src/it/projects/container-descriptors/configured-handler/src/config/b/file.txt
 !????? src/it/projects/container-descriptors/configured-handler/verify.bsh
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/a.properties
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/pom.xml
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/assemble/bin.xml
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/config/a/file.txt
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/config/b/file.txt
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/handler-def/pom.xml
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/handler-def/src/main/resources/META-INF/plexus/components.xml
  AL    src/it/projects/container-descriptors/custom-containerDescriptorHandler/invoker.properties
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/pom.xml
 !????? src/it/projects/container-descriptors/custom-containerDescriptorHandler/verify.bsh
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/a.properties
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/pom.xml
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/assemble/bin.xml
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/config/a/file.txt
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/config/b/file.txt
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/handler-def/pom.xml
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/handler-def/src/main/resources/META-INF/plexus/components.xml
  AL    src/it/projects/container-descriptors/custom-handler-withFileEntries/invoker.properties
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/pom.xml
 !????? src/it/projects/container-descriptors/custom-handler-withFileEntries/verify.bsh
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/a.properties
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/pom.xml
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/assemble/bin.xml
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/config/a/file.txt
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/config/b/file.txt
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/handler-def/pom.xml
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/handler-def/src/main/resources/META-INF/plexus/components.xml
  AL    src/it/projects/container-descriptors/custom-handler-withMixedEntries/invoker.properties
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/pom.xml
 !????? src/it/projects/container-descriptors/custom-handler-withMixedEntries/verify.bsh
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child1/pom.xml
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/main/java/test/App.java
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/main/resources/META-INF/services/test.Test
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child2/pom.xml
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/assemble/bin.xml
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/main/java/test/App.java
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/main/resources/META-INF/services/test.Test
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/container-descriptors/metaInf-services-aggregation/invoker.properties
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/pom.xml
 !????? src/it/projects/container-descriptors/metaInf-services-aggregation/verify.bsh
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/pom.xml
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/java/test/App.java
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/resources/META-INF/spring.handlers
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/resources/META-INF/spring.schemas
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/pom.xml
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/assemble/bin.xml
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/java/test/App.java
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/resources/META-INF/spring.handlers
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/resources/META-INF/spring.schemas
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/container-descriptors/metaInf-spring-aggregation/invoker.properties
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/pom.xml
 !????? src/it/projects/container-descriptors/metaInf-spring-aggregation/verify.bsh
  AL    src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/invoker.properties
 !????? src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/pom.xml
 !????? src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/verify.bsh
  AL    src/it/projects/dependency-sets/dep-with-transitive-filter/invoker.properties
 !????? src/it/projects/dependency-sets/dep-with-transitive-filter/pom.xml
 !????? src/it/projects/dependency-sets/dep-with-transitive-filter/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/dep-with-transitive-filter/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dep-with-transitive-filter/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dep-with-transitive-filter/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/dependency-sets/dependencySet-matchScope/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/README-jira.txt
 !????? src/it/projects/dependency-sets/dependencySet-matchScope/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java
  AL    src/it/projects/dependency-sets/dependencySet-nonTransitive/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt
 !????? src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/dependency-sets/dependencySet-notUnpacked/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-notUnpacked/verify.bsh
  AL    src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/assembly/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/main/java/foo/Foo.java
 !????? src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/main/webapp/WEB-INF/web.xml
 !????? src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/dependency-sets/dependencySet-unpacked/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child1/src/main/resources/assembly-resources/test.txt
 !????? src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked-filtered/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/main/java/test/App2.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/verify.bsh
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/src/main/java/test/App.java
  AL    src/it/projects/dependency-sets/dependencySet-withExecutedProject/invoker.properties
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/pom.xml
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/dependencySet-withExecutedProject/verify.bsh
 !????? src/it/projects/dependency-sets/depMgmt-override/child/pom.xml
 !????? src/it/projects/dependency-sets/depMgmt-override/child/src/assembly/bundle.xml
 !????? src/it/projects/dependency-sets/depMgmt-override/pom.xml
 !????? src/it/projects/dependency-sets/depMgmt-override/verify.bsh
 !????? src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child1/pom.xml
 !????? src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child1/src/main/resources/assembly-resources/test.txt
 !????? src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child2/pom.xml
 !????? src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/depSet-artifactPomPropInterp/pom.xml
 !????? src/it/projects/dependency-sets/depSet-artifactPomPropInterp/verify.bsh
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/child1/pom.xml
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/child2/pom.xml
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/child3/pom.xml
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/child3/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/pom.xml
 !????? src/it/projects/dependency-sets/depSet-byDepVersion/verify.bsh
 !????? src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml
 !????? src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml
 !????? src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh
 !????? src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml
 !????? src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/child1/pom.xml
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/child2/pom.xml
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/child3/pom.xml
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/child3/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/pom.xml
 !????? src/it/projects/dependency-sets/depSet-runtimeScope/verify.bsh
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child1/pom.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child2/pom.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child3/pom.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child3/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child4/pom.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child4/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/child4/src/main/java/test/App.java
  AL    src/it/projects/dependency-sets/depSet-transFromProfile/invoker.properties
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/pom.xml
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/test.properties
 !????? src/it/projects/dependency-sets/depSet-transFromProfile/verify.bsh
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/child1/pom.xml
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/child1/src/main/resources/test.txt
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/pom.xml
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/pom.xml
 !????? src/it/projects/dependency-sets/depSet-unpacked-rdonly/verify.bsh
  AL    src/it/projects/dependency-sets/include-project-artifact/invoker.properties
 !????? src/it/projects/dependency-sets/include-project-artifact/pom.xml
 !????? src/it/projects/dependency-sets/include-project-artifact/README-jira.txt
 !????? src/it/projects/dependency-sets/include-project-artifact/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/include-project-artifact/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/include-project-artifact/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/include-project-artifact/verify.bsh
  AL    src/it/projects/dependency-sets/include-project-attachments/invoker.properties
 !????? src/it/projects/dependency-sets/include-project-attachments/pom.xml
 !????? src/it/projects/dependency-sets/include-project-attachments/README-jira.txt
 !????? src/it/projects/dependency-sets/include-project-attachments/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/include-project-attachments/src/main/assembly/src.xml
 !????? src/it/projects/dependency-sets/include-project-attachments/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/include-project-attachments/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/include-project-attachments/verify.bsh
 !????? src/it/projects/dependency-sets/include-provided/child1/pom.xml
 !????? src/it/projects/dependency-sets/include-provided/child1/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/include-provided/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/include-provided/child2/pom.xml
 !????? src/it/projects/dependency-sets/include-provided/child2/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/include-provided/child2/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/include-provided/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/dependency-sets/include-provided/invoker.properties
 !????? src/it/projects/dependency-sets/include-provided/pom.xml
 !????? src/it/projects/dependency-sets/include-provided/README-jira.txt
 !????? src/it/projects/dependency-sets/include-provided/verify.bsh
  AL    src/it/projects/dependency-sets/including-pom-dependency/invoker.properties
 !????? src/it/projects/dependency-sets/including-pom-dependency/pom.xml
 !????? src/it/projects/dependency-sets/including-pom-dependency/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/including-pom-dependency/src/main/java/com/nf/ass/App.java
 !????? src/it/projects/dependency-sets/including-pom-dependency/verify.bsh
  AL    src/it/projects/dependency-sets/including-sar-dependency/invoker.properties
 !????? src/it/projects/dependency-sets/including-sar-dependency/pom.xml
 !????? src/it/projects/dependency-sets/including-sar-dependency/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java
 !????? src/it/projects/dependency-sets/including-sar-dependency/verify.bsh
  AL    src/it/projects/dependency-sets/massembly-201/invoker.properties
 !????? src/it/projects/dependency-sets/massembly-201/pom.xml
 !????? src/it/projects/dependency-sets/massembly-201/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/massembly-201/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/massembly-201/verify.bsh
 !????? src/it/projects/dependency-sets/massembly-232/assembly.xml
  AL    src/it/projects/dependency-sets/massembly-232/invoker.properties
 !????? src/it/projects/dependency-sets/massembly-232/pom.xml
 !????? src/it/projects/dependency-sets/massembly-232/src/main/etc/hello.txt
 !????? src/it/projects/dependency-sets/massembly-232/verify.bsh
  AL    src/it/projects/dependency-sets/massembly-235/invoker.properties
 !????? src/it/projects/dependency-sets/massembly-235/pom.xml
 !????? src/it/projects/dependency-sets/massembly-235/src/main/assembly/release.xml
 !????? src/it/projects/dependency-sets/massembly-235/src/main/java/HelloWorld.java
 !????? src/it/projects/dependency-sets/massembly-235/src/test/java/HelloWorldTest.java
 !????? src/it/projects/dependency-sets/massembly-235/verify.bsh
  AL    src/it/projects/dependency-sets/massembly-345/invoker.properties
 !????? src/it/projects/dependency-sets/massembly-345/pom.xml
 !????? src/it/projects/dependency-sets/massembly-345/src/assemble/bin.xml
 !????? src/it/projects/dependency-sets/massembly-345/src/main/resources/application.xml
 !????? src/it/projects/dependency-sets/massembly-345/verify.bsh
  AL    src/it/projects/dependency-sets/massembly-99/invoker.properties
 !????? src/it/projects/dependency-sets/massembly-99/module-a/pom.xml
 !????? src/it/projects/dependency-sets/massembly-99/module-a/src/main/java/com/nf/ass/App.java
 !????? src/it/projects/dependency-sets/massembly-99/module-a/src/test/java/com/nf/ass/AppTest.java
 !????? src/it/projects/dependency-sets/massembly-99/module-b/pom.xml
 !????? src/it/projects/dependency-sets/massembly-99/module-b/src/main/java/com/nf/ass/App.java
 !????? src/it/projects/dependency-sets/massembly-99/module-b/src/test/java/com/nf/ass/AppTest.java
 !????? src/it/projects/dependency-sets/massembly-99/pom.xml
 !????? src/it/projects/dependency-sets/massembly-99/src/main/assemblies/bin.xml
 !????? src/it/projects/dependency-sets/massembly-99/verify.bsh
  AL    src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/invoker.properties
 !????? src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/pom.xml
 !????? src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/verify.bsh
  AL    src/it/projects/dependency-sets/multiple-wildcard-includes/invoker.properties
 !????? src/it/projects/dependency-sets/multiple-wildcard-includes/pom.xml
 !????? src/it/projects/dependency-sets/multiple-wildcard-includes/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/multiple-wildcard-includes/src/main/java/test/App.java
 !????? src/it/projects/dependency-sets/multiple-wildcard-includes/src/test/java/test/AppTest.java
 !????? src/it/projects/dependency-sets/multiple-wildcard-includes/verify.bsh
  AL    src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/invoker.properties
 !????? src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/pom.xml
 !????? src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/src/main/assembly/bin.xml
 !????? src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/verify.bsh
  AL    src/it/projects/dependency-sets/using-moduleSet-implied-depSet/invoker.properties
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/pom.xml
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/src/main/java/com/nf/ass/App.java
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/src/test/java/com/nf/ass/AppTest.java
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/pom.xml
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/src/main/java/com/nf/ass/App.java
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/src/test/java/com/nf/ass/AppTest.java
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/pom.xml
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/src/main/assemblies/bin.xml
 !????? src/it/projects/dependency-sets/using-moduleSet-implied-depSet/verify.bsh
  AL    src/it/projects/descriptor-refs/bin/jars-in-archive-root/invoker.properties
 !????? src/it/projects/descriptor-refs/bin/jars-in-archive-root/pom.xml
 !????? src/it/projects/descriptor-refs/bin/jars-in-archive-root/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/bin/jars-in-archive-root/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/bin/jars-in-archive-root/verify.bsh
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/src/main/java/test/AppChild1.java
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/src/main/resources/META-INF/plexus/components.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/assemble/bin.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/main/resources/META-INF/plexus/components.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/invoker.properties
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/verify.bsh
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child1/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child1/src/main/java/test/AppChild1.java
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/assemble/bin.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/invoker.properties
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/verify.bsh
  AL    src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/invoker.properties
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/pom.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/src/assemble/bin.xml
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/verify.bsh
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/pom.xml
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/pom.xml
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/descriptor-refs/project/multimodule-sources-copied/invoker.properties
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/pom.xml
 !????? src/it/projects/descriptor-refs/project/multimodule-sources-copied/verify.bsh
  AL    src/it/projects/descriptor-refs/project/no-target-dir/invoker.properties
 !????? src/it/projects/descriptor-refs/project/no-target-dir/pom.xml
 !????? src/it/projects/descriptor-refs/project/no-target-dir/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/project/no-target-dir/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/project/no-target-dir/verify.bsh
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/pom.xml
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/pom.xml
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/descriptor-refs/project/no-target-dir-multimodule/invoker.properties
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/pom.xml
 !????? src/it/projects/descriptor-refs/project/no-target-dir-multimodule/verify.bsh
  AL    src/it/projects/descriptor-refs/project/sources-copied/invoker.properties
 !????? src/it/projects/descriptor-refs/project/sources-copied/pom.xml
 !????? src/it/projects/descriptor-refs/project/sources-copied/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/project/sources-copied/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/project/sources-copied/verify.bsh
  AL    src/it/projects/descriptor-refs/src/no-target-dir/invoker.properties
 !????? src/it/projects/descriptor-refs/src/no-target-dir/pom.xml
 !????? src/it/projects/descriptor-refs/src/no-target-dir/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/src/no-target-dir/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/src/no-target-dir/verify.bsh
  AL    src/it/projects/descriptor-refs/src/src-dir-copied/invoker.properties
 !????? src/it/projects/descriptor-refs/src/src-dir-copied/pom.xml
 !????? src/it/projects/descriptor-refs/src/src-dir-copied/src/main/java/test/App.java
 !????? src/it/projects/descriptor-refs/src/src-dir-copied/src/test/java/test/AppTest.java
 !????? src/it/projects/descriptor-refs/src/src-dir-copied/verify.bsh
  AL    src/it/projects/file-modes/file-set-fileMode/invoker.properties
 !????? src/it/projects/file-modes/file-set-fileMode/pom.xml
 !????? src/it/projects/file-modes/file-set-fileMode/src/assemble/src.xml
 !????? src/it/projects/file-modes/file-set-fileMode/src/main/java/test/App.java
 !????? src/it/projects/file-modes/file-set-fileMode/src/test/java/test/AppTest.java
 !????? src/it/projects/file-modes/file-set-fileMode/verify.bsh
  AL    src/it/projects/file-modes/fileItem-fileMode/invoker.properties
 !????? src/it/projects/file-modes/fileItem-fileMode/pom.xml
 !????? src/it/projects/file-modes/fileItem-fileMode/src/assemble/src.xml
 !????? src/it/projects/file-modes/fileItem-fileMode/src/main/java/test/App.java
 !????? src/it/projects/file-modes/fileItem-fileMode/src/test/java/test/AppTest.java
 !????? src/it/projects/file-modes/fileItem-fileMode/verify.bsh
  AL    src/it/projects/file-sets/default-directory-unspecified/invoker.properties
 !????? src/it/projects/file-sets/default-directory-unspecified/pom.xml
 !????? src/it/projects/file-sets/default-directory-unspecified/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/default-directory-unspecified/verify.bsh
  AL    src/it/projects/file-sets/default-excludes-unspecified/invoker.properties
 !????? src/it/projects/file-sets/default-excludes-unspecified/pom.xml
 !????? src/it/projects/file-sets/default-excludes-unspecified/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/default-excludes-unspecified/src/main/java/test/App.java
 !????? src/it/projects/file-sets/default-excludes-unspecified/src/test/java/test/AppTest.java
 !????? src/it/projects/file-sets/default-excludes-unspecified/verify.bsh
  AL    src/it/projects/file-sets/dont-use-default-excludes/invoker.properties
 !????? src/it/projects/file-sets/dont-use-default-excludes/pom.xml
 !????? src/it/projects/file-sets/dont-use-default-excludes/setup.bsh
 !????? src/it/projects/file-sets/dont-use-default-excludes/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/dont-use-default-excludes/src/main/java/test/App.java
 !????? src/it/projects/file-sets/dont-use-default-excludes/src/test/java/test/AppTest.java
 !????? src/it/projects/file-sets/dont-use-default-excludes/verify.groovy
 !????? src/it/projects/file-sets/excludes-using-regex/child/pom.xml
 !????? src/it/projects/file-sets/excludes-using-regex/child/src/main/resources/target/file.txt
 !????? src/it/projects/file-sets/excludes-using-regex/child/target/classes/src/omit.txt
 !????? src/it/projects/file-sets/excludes-using-regex/child/target/omit.txt
  AL    src/it/projects/file-sets/excludes-using-regex/invoker.properties
 !????? src/it/projects/file-sets/excludes-using-regex/pom.xml
 !????? src/it/projects/file-sets/excludes-using-regex/src/assemble/src.xml
 !????? src/it/projects/file-sets/excludes-using-regex/src/main/java/org/test/target/file.properties
 !????? src/it/projects/file-sets/excludes-using-regex/target/classes/src/omit.txt
 !????? src/it/projects/file-sets/excludes-using-regex/target/omit.txt
 !????? src/it/projects/file-sets/excludes-using-regex/verify.bsh
  AL    src/it/projects/file-sets/excluding-svn-dirs/invoker.properties
 !????? src/it/projects/file-sets/excluding-svn-dirs/pom.xml
 !????? src/it/projects/file-sets/excluding-svn-dirs/setup.bsh
 !????? src/it/projects/file-sets/excluding-svn-dirs/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/excluding-svn-dirs/src/main/java/test/App.java
 !????? src/it/projects/file-sets/excluding-svn-dirs/src/test/java/test/AppTest.java
 !????? src/it/projects/file-sets/excluding-svn-dirs/verify.groovy
 !????? src/it/projects/file-sets/filtered-module-sources/child/pom.xml
 !????? src/it/projects/file-sets/filtered-module-sources/child/src/main/assembly-resources/test.txt
  AL    src/it/projects/file-sets/filtered-module-sources/invoker.properties
 !????? src/it/projects/file-sets/filtered-module-sources/pom.xml
 !????? src/it/projects/file-sets/filtered-module-sources/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/filtered-module-sources/verify.bsh
 !????? src/it/projects/file-sets/filtered-multimodule/child/pom.xml
 !????? src/it/projects/file-sets/filtered-multimodule/child/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/filtered-multimodule/child/src/main/assembly-resources/test.txt
  AL    src/it/projects/file-sets/filtered-multimodule/invoker.properties
 !????? src/it/projects/file-sets/filtered-multimodule/pom.xml
 !????? src/it/projects/file-sets/filtered-multimodule/src/main/assembly/bin.xml
 !????? src/it/projects/file-sets/filtered-multimodule/src/main/java/org/apache/maven/plugin/assembly/test/App.java
 !????? src/it/projects/file-sets/filtered-multimodule/verify.bsh
  AL    src/it/projects/file-sets/include-base-directory/invoker.properties
 !????? src/it/projects/file-sets/include-base-directory/pom.xml
 !????? src/it/projects/file-sets/include-base-directory/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/include-base-directory/src/main/java/test/App.java
 !????? src/it/projects/file-sets/include-base-directory/src/test/java/test/AppTest.java
 !????? src/it/projects/file-sets/include-base-directory/verify.bsh
 !????? src/it/projects/file-sets/include-parent-dir/child/pom.xml
 !????? src/it/projects/file-sets/include-parent-dir/child/src/assemble/parent.xml
 !????? src/it/projects/file-sets/include-parent-dir/child/src/main/java/test/App.java
 !????? src/it/projects/file-sets/include-parent-dir/child/src/test/java/test/AppTest.java
  AL    src/it/projects/file-sets/include-parent-dir/invoker.properties
 !????? src/it/projects/file-sets/include-parent-dir/pom.xml
 !????? src/it/projects/file-sets/include-parent-dir/verify.bsh
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/child/pom.xml
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/child/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/child/src/main/assembly-resources/test.txt
  AL    src/it/projects/file-sets/multimodule-unix-lineEndings/invoker.properties
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/pom.xml
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/src/main/assembly/bin.xml
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/src/main/java/org/apache/maven/plugin/assembly/test/App.java
 !????? src/it/projects/file-sets/multimodule-unix-lineEndings/verify.bsh
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/child/pom.xml
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/child/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/child/src/main/assembly-resources/test.txt
  AL    src/it/projects/file-sets/multimodule-win-lineEndings/invoker.properties
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/pom.xml
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/src/main/assembly/bin.xml
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/src/main/java/org/apache/maven/plugin/assembly/test/App.java
 !????? src/it/projects/file-sets/multimodule-win-lineEndings/verify.bsh
  AL    src/it/projects/file-sets/use-default-excludes/invoker.properties
 !????? src/it/projects/file-sets/use-default-excludes/pom.xml
 !????? src/it/projects/file-sets/use-default-excludes/src/main/assembly/src.xml
 !????? src/it/projects/file-sets/use-default-excludes/src/main/java/test/App.java
 !????? src/it/projects/file-sets/use-default-excludes/src/test/java/test/AppTest.java
 !????? src/it/projects/file-sets/use-default-excludes/verify.bsh
 !????? src/it/projects/files/filtered-sysprop/pom.xml
 !????? src/it/projects/files/filtered-sysprop/src/assemble/bin.xml
 !????? src/it/projects/files/filtered-sysprop/src/config/a/filtered.txt
 !????? src/it/projects/files/filtered-sysprop/verify.bsh
 !????? src/it/projects/files/multimodule-relativePath/a.properties
 !????? src/it/projects/files/multimodule-relativePath/child/pom.xml
 !????? src/it/projects/files/multimodule-relativePath/child/src/assemble/bin.xml
 !????? src/it/projects/files/multimodule-relativePath/child/src/config/a/file.txt
 !????? src/it/projects/files/multimodule-relativePath/child/src/config/b/file.txt
 !????? src/it/projects/files/multimodule-relativePath/pom.xml
 !????? src/it/projects/files/multimodule-relativePath/verify.bsh
 !????? src/it/projects/filtering-feature/filter-comp-descriptor-path/assembly.xml
 !????? src/it/projects/filtering-feature/filter-comp-descriptor-path/component.xml
  AL    src/it/projects/filtering-feature/filter-comp-descriptor-path/invoker.properties
 !????? src/it/projects/filtering-feature/filter-comp-descriptor-path/pom.xml
 !????? src/it/projects/filtering-feature/filter-comp-descriptor-path/verify.bsh
  AL    src/it/projects/filtering-feature/filters-defined-in-build/invoker.properties
 !????? src/it/projects/filtering-feature/filters-defined-in-build/pom.xml
 !????? src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml
  B     src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties
 !????? src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-2.properties
 !????? src/it/projects/filtering-feature/filters-defined-in-build/src/main/filters/filter-assembly.properties
 !????? src/it/projects/filtering-feature/filters-defined-in-build/src/main/filters/filter-build.properties
 !????? src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
 !????? src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/filter.properties
  AL    src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/invoker.properties
 !????? src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/pom.xml
 !????? src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/assemble/bin.xml
 !????? src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt
 !????? src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/pom.xml
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/src/main/java/test/App.java
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/pom.xml
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/src/main/java/test/App.java
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/forking-tests/assembly-assembly-with-module-binaries/invoker.properties
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/pom.xml
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/src/assemble/bin.xml
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/test.properties
 !????? src/it/projects/forking-tests/assembly-assembly-with-module-binaries/verify.bsh
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/pom.xml
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/src/main/java/test/App.java
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/pom.xml
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/src/main/java/test/App.java
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/forking-tests/assembly-attached-with-module-binaries/invoker.properties
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/pom.xml
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/src/assemble/bin.xml
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/test.properties
 !????? src/it/projects/forking-tests/assembly-attached-with-module-binaries/verify.bsh
 !????? src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml
 !????? src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml
 !????? src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java
 !????? src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh
  AL    src/it/projects/mojo-configuration/ignoreDirFormatExtensions/invoker.properties
 !????? src/it/projects/mojo-configuration/ignoreDirFormatExtensions/pom.xml
 !????? src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/assembly/src.xml
 !????? src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/assembly/src2.xml
 !????? src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/java/test/App.java
 !????? src/it/projects/mojo-configuration/ignoreDirFormatExtensions/verify.bsh
  AL    src/it/projects/mojo-configuration/manifest-with-customEntry/invoker.properties
 !????? src/it/projects/mojo-configuration/manifest-with-customEntry/pom.xml
 !????? src/it/projects/mojo-configuration/manifest-with-customEntry/src/main/java/test/App.java
 !????? src/it/projects/mojo-configuration/manifest-with-customEntry/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-configuration/manifest-with-customEntry/verify.bsh
  AL    src/it/projects/mojo-configuration/manifest-with-mainClass/invoker.properties
 !????? src/it/projects/mojo-configuration/manifest-with-mainClass/pom.xml
 !????? src/it/projects/mojo-configuration/manifest-with-mainClass/src/main/java/test/App.java
 !????? src/it/projects/mojo-configuration/manifest-with-mainClass/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-configuration/manifest-with-mainClass/verify.bsh
  AL    src/it/projects/mojo-configuration/massembly-291/invoker.properties
 !????? src/it/projects/mojo-configuration/massembly-291/pom.xml
 !????? src/it/projects/mojo-configuration/massembly-291/src/main/assembly/src.xml
 !????? src/it/projects/mojo-configuration/massembly-291/test.properties
 !????? src/it/projects/mojo-configuration/massembly-291/verify.bsh
  AL    src/it/projects/mojo-configuration/massembly-301/invoker.properties
 !????? src/it/projects/mojo-configuration/massembly-301/pom.xml
 !????? src/it/projects/mojo-configuration/massembly-301/src/main/assembly/src.xml
 !????? src/it/projects/mojo-configuration/massembly-301/src/main/java/test/App.java
 !????? src/it/projects/mojo-configuration/massembly-301/test.properties
 !????? src/it/projects/mojo-configuration/massembly-301/verify.bsh
  AL    src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/invoker.properties
 !????? src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/pom.xml
 !????? src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/src/main/java/test/App.java
 !????? src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/verify.bsh
  AL    src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/invoker.properties
 !????? src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/pom.xml
 !????? src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/src/main/assembly/bin.xml
 !????? src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/test.properties
 !????? src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/verify.bsh
  AL    src/it/projects/mojo-tests/single-in-one-project-hierarchy/invoker.properties
 !????? src/it/projects/mojo-tests/single-in-one-project-hierarchy/pom.xml
 !????? src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/assemble/bin.xml
 !????? src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/main/java/test/App.java
 !????? src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-tests/single-in-one-project-hierarchy/verify.bsh
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/pom.xml
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/assemble/bin.xml
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/main/java/test/App.java
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/pom.xml
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/assemble/bin.xml
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/main/java/test/App.java
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/test/java/test/AppTest.java
  AL    src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/invoker.properties
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/pom.xml
 !????? src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/verify.bsh
  AL    src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/invoker.properties
 !????? src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/pom.xml
 !????? src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/assemble/bin.xml
 !????? src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/main/java/test/App.java
 !????? src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/test/java/test/AppTest.java
 !????? src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/verify.bsh
 !????? src/it/projects/multimodule/massembly-298/child1/pom.xml
 !????? src/it/projects/multimodule/massembly-298/child1/src/main/java/org/test/child1/App.java
 !????? src/it/projects/multimodule/massembly-298/child1/src/main/java/org/test/child1/App2.java
 !????? src/it/projects/multimodule/massembly-298/child1/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/massembly-298/child2/pom.xml
 !????? src/it/projects/multimodule/massembly-298/child2/src/main/java/org/test/child2/App.java
 !????? src/it/projects/multimodule/massembly-298/child2/src/main/java/org/test/other/App.java
 !????? src/it/projects/multimodule/massembly-298/child2/src/test/java/org/test/AppTest.java
  AL    src/it/projects/multimodule/massembly-298/invoker.properties
 !????? src/it/projects/multimodule/massembly-298/pom.xml
 !????? src/it/projects/multimodule/massembly-298/src/assemble/bin.xml
 !????? src/it/projects/multimodule/massembly-298/verify.bsh
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child1/pom.xml
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child1/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child1/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child2/pom.xml
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child2/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child2/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child3/pom.xml
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child3/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/child3/src/test/java/org/test/AppTest.java
  AL    src/it/projects/multimodule/multimodule-binariesNotSource/invoker.properties
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/pom.xml
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/src/assemble/bin.xml
 !????? src/it/projects/multimodule/multimodule-binariesNotSource/verify.bsh
 !????? src/it/projects/multimodule/multimodule-filteredFileSet/child/pom.xml
 !????? src/it/projects/multimodule/multimodule-filteredFileSet/child/src/config/a/filtered.txt
 !????? src/it/projects/multimodule/multimodule-filteredFileSet/child/verify.bsh
 !????? src/it/projects/multimodule/multimodule-filteredFileSet/pom.xml
 !????? src/it/projects/multimodule/multimodule-filteredFileSet/src/assemble/bin.xml
 !????? src/it/projects/multimodule/multimodule-filteredFileSet/verify.bsh
 !????? src/it/projects/multimodule/multimodule-modulePomPropInterp/child1/pom.xml
 !????? src/it/projects/multimodule/multimodule-modulePomPropInterp/child1/src/main/resources/assembly-resources/test.txt
 !????? src/it/projects/multimodule/multimodule-modulePomPropInterp/child2/pom.xml
 !????? src/it/projects/multimodule/multimodule-modulePomPropInterp/child2/src/assemble/bin.xml
 !????? src/it/projects/multimodule/multimodule-modulePomPropInterp/pom.xml
 !????? src/it/projects/multimodule/multimodule-modulePomPropInterp/verify.bsh
 !????? src/it/projects/multimodule/multimodule-siblingParent/child1/pom.xml
 !????? src/it/projects/multimodule/multimodule-siblingParent/child1/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-siblingParent/child1/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-siblingParent/child2/pom.xml
 !????? src/it/projects/multimodule/multimodule-siblingParent/child2/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-siblingParent/child2/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-siblingParent/parent/pom.xml
 !????? src/it/projects/multimodule/multimodule-siblingParent/parent/src/assemble/src.xml
 !????? src/it/projects/multimodule/multimodule-siblingParent/parent/verify.bsh
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/pom.xml
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/pom.xml
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/pom.xml
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/src/test/java/org/test/AppTest.java
  AL    src/it/projects/multimodule/multimodule-sourceNotBinaries/invoker.properties
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/pom.xml
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/src/assemble/src.xml
 !????? src/it/projects/multimodule/multimodule-sourceNotBinaries/verify.bsh
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/pom.xml
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/pom.xml
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/pom.xml
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/src/main/java/org/test/App.java
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/src/test/java/org/test/AppTest.java
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child4/pom.xml
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/child4/src/assemble/bin.xml
  AL    src/it/projects/multimodule/multimodule-wholeReactorFromChild/invoker.properties
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/pom.xml
 !????? src/it/projects/multimodule/multimodule-wholeReactorFromChild/verify.bsh
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project1/pom.xml
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/pom.xml
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-level-multimodule/child-level1-project2/pom.xml
  AL    src/it/projects/multimodule/two-level-multimodule/invoker.properties
 !????? src/it/projects/multimodule/two-level-multimodule/pom.xml
 !????? src/it/projects/multimodule/two-level-multimodule/src/assemble/bin.xml
 !????? src/it/projects/multimodule/two-level-multimodule/verify.bsh
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/pom.xml
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/pom.xml
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/pom.xml
  AL    src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/invoker.properties
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/pom.xml
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/src/assemble/bin.xml
 !????? src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/verify.bsh
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/pom.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/pom.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/pom.xml
  AL    src/it/projects/multimodule/two-levels-includeBaseDir-withBin/invoker.properties
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/pom.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/src/assemble/bin.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withBin/verify.bsh
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/pom.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/pom.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/pom.xml
  AL    src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/invoker.properties
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/pom.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/src/assemble/src.xml
 !????? src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/verify.bsh
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/pom.xml
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/pom.xml
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/src/main/java/test/App2.java
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/src/test/java/test/App2Test.java
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/pom.xml
  AL    src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/invoker.properties
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/pom.xml
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/src/main/assembly/src.xml
 !????? src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/verify.bsh
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/pom.xml
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/src/main/java/test/App.java
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/src/test/java/test/AppTest.java
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/pom.xml
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/src/main/java/test/App2.java
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/src/test/java/test/App2Test.java
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/pom.xml
  AL    src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/invoker.properties
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/pom.xml
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/src/main/assembly/src.xml
 !????? src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/verify.bsh
  AL    src/it/projects/repositories/basic-repository/invoker.properties
 !????? src/it/projects/repositories/basic-repository/pom.xml
 !????? src/it/projects/repositories/basic-repository/src/assemble/bin.xml
 !????? src/it/projects/repositories/basic-repository/src/main/java/org/apache/maven/plugin/assembly/test/App.java
 !????? src/it/projects/repositories/basic-repository/src/test/java/org/apache/maven/plugin/assembly/test/AppTest.java
 !????? src/it/projects/repositories/basic-repository/verify.bsh
  AL    src/it/projects/repositories/massembly-196/invoker.properties
 !????? src/it/projects/repositories/massembly-196/pom.xml
 !????? src/it/projects/repositories/massembly-196/src/main/assembly/bin.xml
 !????? src/it/projects/repositories/massembly-196/src/main/java/test/App.java
 !????? src/it/projects/repositories/massembly-196/verify.bsh
 !????? src/it/projects/repositories/repo-with-snapshot-parents/child/pom.xml
  AL    src/it/projects/repositories/repo-with-snapshot-parents/child/remote-repository/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
  A     src/it/projects/repositories/repo-with-snapshot-parents/child/remote-repository/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.jar
 !????? src/it/projects/repositories/repo-with-snapshot-parents/child/remote-repository/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.pom
 !????? src/it/projects/repositories/repo-with-snapshot-parents/child/src/assemble/bin.xml
 !????? src/it/projects/repositories/repo-with-snapshot-parents/child/src/main/java/org/apache/maven/plugin/assembly/test/App.java
 !????? src/it/projects/repositories/repo-with-snapshot-parents/child/src/test/java/org/apache/maven/plugin/assembly/test/AppTest.java
  AL    src/it/projects/repositories/repo-with-snapshot-parents/invoker.properties
 !????? src/it/projects/repositories/repo-with-snapshot-parents/pom.xml
 !????? src/it/projects/repositories/repo-with-snapshot-parents/verify.bsh
  AL    src/it/settings.xml
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/ArchiveCreationException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/ArchiveExpansionException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedArchivedFileSet.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/archiver/PrefixedFileSet.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/archiver/SarUnArchiver.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/AssemblyArchiver.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/AssemblyArchiverPhase.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhase.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileSetAssemblyPhase.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhase.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTask.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTask.java
  AL    src/main/java/org/apache/maven/plugin/assembly/archive/task/ArchiverTask.java
  AL    src/main/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolver.java
  AL    src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolutionException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/artifact/DependencyResolver.java
  AL    src/main/java/org/apache/maven/plugin/assembly/artifact/ResolutionManagementInfo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java
  AL    src/main/java/org/apache/maven/plugin/assembly/AssemblyContext.java
  AL    src/main/java/org/apache/maven/plugin/assembly/DefaultAssemblyContext.java
  AL    src/main/java/org/apache/maven/plugin/assembly/filter/AbstractLineAggregatingHandler.java
  AL    src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
  AL    src/main/java/org/apache/maven/plugin/assembly/filter/ContainerDescriptorHandler.java
  AL    src/main/java/org/apache/maven/plugin/assembly/filter/MetaInfServicesHandler.java
  AL    src/main/java/org/apache/maven/plugin/assembly/filter/MetaInfSpringHandler.java
  AL    src/main/java/org/apache/maven/plugin/assembly/filter/SimpleAggregatingDescriptorHandler.java
  AL    src/main/java/org/apache/maven/plugin/assembly/format/AssemblyFormattingException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java
  AL    src/main/java/org/apache/maven/plugin/assembly/format/FileSetFormatter.java
  AL    src/main/java/org/apache/maven/plugin/assembly/format/ReflectionProperties.java
  AL    src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyExpressionEvaluator.java
  AL    src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolationException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolator.java
  AL    src/main/java/org/apache/maven/plugin/assembly/InvalidAssemblerConfigurationException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/io/AssemblyReader.java
  AL    src/main/java/org/apache/maven/plugin/assembly/io/AssemblyReadException.java
  AL    src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
  AL    src/main/java/org/apache/maven/plugin/assembly/io/PrefixedClasspathLocatorStrategy.java
  AL    src/main/java/org/apache/maven/plugin/assembly/io/RelativeFileLocatorStrategy.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractDirectoryMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/AssemblyMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/AttachedAssemblyMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/DirectoryInlineMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/DirectoryMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/DirectorySingleMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/SingleAssemblyMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/mojos/UnpackMojo.java
  AL    src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtils.java
  AL    src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
  AL    src/main/java/org/apache/maven/plugin/assembly/utils/FilterUtils.java
  AL    src/main/java/org/apache/maven/plugin/assembly/utils/InterpolationConstants.java
  AL    src/main/java/org/apache/maven/plugin/assembly/utils/ProjectUtils.java
  AL    src/main/java/org/apache/maven/plugin/assembly/utils/TypeConversionUtils.java
  AL    src/main/mdo/component.mdo
  AL    src/main/mdo/descriptor.mdo
  AL    src/main/resources/assemblies/bin.xml
  AL    src/main/resources/assemblies/jar-with-dependencies.xml
  AL    src/main/resources/assemblies/project.xml
  AL    src/main/resources/assemblies/src.xml
  AL    src/main/resources/META-INF/plexus/components.xml
  AL    src/site/apt/advanced-descriptor-topics.apt.vm
  AL    src/site/apt/advanced-module-set-topics.apt.vm
  AL    src/site/apt/descriptor-refs.apt.vm
  AL    src/site/apt/examples/index.apt
  AL    src/site/apt/examples/multimodule/index.apt
  AL    src/site/apt/examples/multimodule/module-binary-inclusion-simple.apt.vm
  AL    src/site/apt/examples/multimodule/module-source-inclusion-simple.apt.vm
  AL    src/site/apt/examples/sharing-descriptors.apt.vm
  AL    src/site/apt/examples/single/filtering-some-distribution-files.apt.vm
  AL    src/site/apt/examples/single/including-and-excluding-artifacts.apt
  AL    src/site/apt/examples/single/index.apt
  AL    src/site/apt/examples/single/using-components.apt.vm
  AL    src/site/apt/examples/single/using-repositories.apt.vm
  AL    src/site/apt/features.apt
  AL    src/site/apt/index.apt.vm
  AL    src/site/apt/usage.apt.vm
  AL    src/site/fml/faq.fml
  B     src/site/resources/architecture/assembly-plugin-architecture-highLevel.png
  B     src/site/resources/architecture/assembly-plugin-architecture-majorClasses.png
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/blank.png
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/Checked.png
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/Collapsed.png
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/Expanded.png
 !????? src/site/resources/architecture/assembly-plugin-architecture-notes.html/index.html
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/LeafRowHandle.png
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/Mixed.png
  B     src/site/resources/architecture/assembly-plugin-architecture-notes.html/Unchecked.png
  AL    src/site/resources/download.cgi
  AL    src/site/site.xml
  AL    src/site/xdoc/download.xml.vm
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiverTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhaseTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/phase/FileSetAssemblyPhaseTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTaskTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTaskTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTaskTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/ArtifactMock.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
  AL    src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
  AL    src/test/java/org/apache/maven/plugin/assembly/artifact/DefaultDependencyResolverTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/interpolation/AssemblyExpressionEvaluatorTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolatorTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/io/PrefixedClasspathLocatorStrategyTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java
  AL    src/test/java/org/apache/maven/plugin/assembly/testutils/MockManager.java
  AL    src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java
  AL    src/test/java/org/apache/maven/plugin/assembly/testutils/TestUtils.java
  AL    src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java
  AL    src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/utils/FilterUtilsTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/utils/ProjectUtilsTest.java
  AL    src/test/java/org/apache/maven/plugin/assembly/utils/TypeConversionUtilsTest.java
 !????? src/test/resources/assemblies/empty.xml
 
*****************************************************
 Printing headers for files without AL header...
 
 
=======================================================================
==integration-test-archetype/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.archetypes</groupId>
  <artifactId>assembly-plugin-it-archetype</artifactId>
  <packaging>maven-archetype</packaging>
  <name>Maven Assembly Plugin Integration Test Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-packaging</artifactId>
        <version>2.0-alpha-2</version>
      </extension>
    </extensions>
    <plugins>
      <plugin>
        <artifactId>maven-archetype-plugin</artifactId>
        <version>2.0-alpha-2</version>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>
  <distributionManagement>
    <repository>
      <id>integration.test.repo</id>
      <url>${test.remote.repo.url}</url>
    </repository>
  </distributionManagement>
</project>

=======================================================================
==integration-test-archetype/src/main/resources/archetype-resources/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>${artifactId}</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==integration-test-archetype/src/main/resources/archetype-resources/src/java/AppTest.java
=======================================================================
package ${package};

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit ${package} for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the ${package} case
     *
     * @param ${package}Name name of the ${package} case
     */
    public AppTest( String ${package}Name )
    {
        super( ${package}Name );
    }

    /**
     * @return the suite of ${package}s being ${package}ed
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void ${package}App()
    {
        assertTrue( true );
    }
}

=======================================================================
==integration-test-archetype/src/main/resources/archetype-resources/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>${test}</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==integration-test-archetype/src/main/resources/archetype-resources/src/main/java/App.java
=======================================================================
package ${package};

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==integration-test-archetype/src/main/resources/archetype-resources/verify.bsh
=======================================================================
import java.io.File;

/*
 This is where you verify the results of the assembly build. You may need to check the existence of a file,
 or even peek within a jar file to determine whether the assembly did the right thing.
 */
return new File( basedir, "target/${artifactId}-${version}-bin.dir/lib/junit.jar" ).exists();

=======================================================================
==integration-test-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="assembly-integration-test">
  <fileSets>
    <fileSet filtered="true" packaged="true" encoding="UTF-8">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.java</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" packaged="true" encoding="UTF-8">
      <directory>src/test/java</directory>
      <includes>
        <include>**/*.java</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/main/assembly</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory></directory>
      <includes>
        <include>goals.txt</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory></directory>
      <includes>
        <include>verify.bsh</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>

=======================================================================
==integration-test-archetype/src/main/resources/META-INF/maven/archetype.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<archetype>
  <id>assembly-integration-test</id>
  <sources>
    <source>src/main/java/App.java</source>
  </sources>
  <testSources>
    <source>src/java/AppTest.java</source>
  </testSources>
  <resources>
    <resource>goals.txt</resource>
    <resource>src/assemble/bin.xml</resource>
    <resource>verify.bsh</resource>
  </resources>
</archetype>

=======================================================================
==required-docs.txt
=======================================================================
Assembly Plugin Required Docs

* Component Descriptors:
      o include in usage.html:
            + how are they used?
            + what can they specify?
      o include examples of usage



=======================================================================
==src/functional-tests/java/org/apache/maven/plugin/assembly/BasicAbstractAssemblyMojoFeaturesTest.java
=======================================================================
package org.apache.maven.plugin.assembly;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Model;
import org.apache.maven.plugin.Mojo;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.UnArchiver;
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

/**
 * Test common features of all assembly mojos.
 * 
 * @todo Switch to use test-only mojos, once we can generate descriptors for those...
 */
public class BasicAbstractAssemblyMojoFeaturesTest
    extends AbstractMojoTestCase
{
    
    public void testOutputFileNameMapping() throws Exception
    {
        String pluginConfig = "outputFileNameMapping-pluginConfig.xml";

=======================================================================
==src/functional-tests/java/org/apache/maven/plugin/assembly/interpolation/AssemblyInterpolatorTest.java
=======================================================================
package org.apache.maven.plugin.assembly.interpolation;

import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.model.Assembly;
import org.apache.maven.plugins.assembly.model.DependencySet;

import java.io.IOException;
import java.util.Collections;
import java.util.List;

import junit.framework.TestCase;

public class AssemblyInterpolatorTest
    extends TestCase
{

    public void testDependencyOutputFileNameMappingsAreNotInterpolated() 
        throws IOException, AssemblyInterpolationException
    {
        AssemblyInterpolator interpolator = new AssemblyInterpolator();

        Model model = new Model();
        model.setArtifactId( "artifact-id" );
        model.setGroupId( "group.id" );
        model.setVersion( "1" );

        Assembly assembly = new Assembly();

        DependencySet set = new DependencySet();
        set.setOutputFileNameMapping( "${artifact.artifactId}.${artifact.extension}" );

        assembly.addDependencySet( set );

        Assembly outputAssembly = interpolator.interpolate( assembly, model, Collections.EMPTY_MAP );
        
        List outputDependencySets = outputAssembly.getDependencySets();
        assertEquals( 1, outputDependencySets.size() );
        
        DependencySet outputSet = (DependencySet) outputDependencySets.get( 0 );
        
        assertEquals( set.getOutputFileNameMapping(), outputSet.getOutputFileNameMapping() );
    }

}

=======================================================================
==src/functional-tests/remote-repo/assembly/dependency-artifact/1.0/dependency-artifact-1.0.pom
=======================================================================
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>assembly</groupId>
  <artifactId>dependency-artifact</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>
</project>

=======================================================================
==src/functional-tests/remote-repo/assembly/dependency-artifact/1.1/dependency-artifact-1.1.pom
=======================================================================
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>assembly</groupId>
  <artifactId>dependency-artifact</artifactId>
  <version>1.1</version>
  <packaging>jar</packaging>
</project>

=======================================================================
==src/functional-tests/resources/basicAbstractAssemblyMojoFeaturesTest/outputFileNameMapping-assemblyDescriptor.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>outputFileNameMapping</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>org.test:test</include>
        <include>org.test.2:test2</include>
      </includes>
      <outputDirectory>/dependencies/</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/it-project-parent/pom.xml
=======================================================================
<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>
  <groupId>org.apache.maven.plugin.assembly.test</groupId>
  <artifactId>it-project-parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <profiles>
    <profile>
      <id>testing</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      
      <repositories>
        <!--
        <repository>
          <id>main.local.as.remote</id>
          <url>file://${local.repo.path}</url>
        </repository>
        -->
        <repository>
          <id>integration.test.repo</id>
          <url>@test.remote.repo.url@</url>
        </repository>
      </repositories>

      <pluginRepositories>
        <!--
        <pluginRepository>
          <id>main.local.as.remote</id>
          <url>file://${local.repo.path}</url>
        </pluginRepository>
        -->
        <pluginRepository>
          <id>integration.test.repo</id>
          <url>@test.remote.repo.url@</url>
        </pluginRepository>
      </pluginRepositories>

      <distributionManagement>
        <repository>
          <id>integration.test.repo</id>
          <url>@test.remote.repo.url@</url>
        </repository>
      </distributionManagement>

      <build>
        <plugins>

=======================================================================
==src/it/projects/basic-features/classpath-descriptor/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  
  <name>Test</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>src</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/descriptorDirectoryScan/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  
  <name>Parent</name>

  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorSourceDirectory>src/assemble</descriptorSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bindir</id>
  <includeBaseDirectory>false</includeBaseDirectory>
  <formats>
    <format>dir</format>
  </formats>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>commons-logging:commons-logging</include>
      </includes>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/basic-features/ExecutionRoot/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.test</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
  </parent>
  <name>Child</name>
    <artifactId>child</artifactId>
  <version>1.0</version>
</project>

=======================================================================
==src/it/projects/basic-features/ExecutionRoot/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  
  <name>Parent</name>
  <modules>
    <module>child</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>single</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/ExecutionRoot/src/assemble/src.xml
=======================================================================
<assembly>
  <id>src</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <excludes>
        <exclude>**/*.log</exclude>
        <exclude>target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/basic-features/ExecutionRoot/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    result = new File( basedir, "target/parent-1.0-src.zip" ).exists() && !new File( basedir, "child/target/child-1.0-src.zip" ).exists();   
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/basic-features/file-copyIntoTopDir/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  
  <name>Parent</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/file-copyIntoTopDir/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bug-example</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>TODO.txt</source>
      <outputDirectory>/</outputDirectory>
    </file>
  </files>
</assembly>

=======================================================================
==src/it/projects/basic-features/file-copyIntoTopDir/TODO.txt
=======================================================================
Test

=======================================================================
==src/it/projects/basic-features/file-copyIntoTopDir/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    result = new File( basedir, "target/parent-1.0-bug-example/TODO.txt" ).exists();   
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/basic-features/file-sameName/a.properties
=======================================================================
testProp=boo

=======================================================================
==src/it/projects/basic-features/file-sameName/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  
  <name>Parent</name>

  <build>
    <filters>
      <filter>a.properties</filter>
    </filters>
        
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/file-sameName/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>massembly-148-example</id>
  <formats>
    <format>dir</format>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>src/config/a/file.txt</source>
      <outputDirectory>a</outputDirectory>
      <filtered>true</filtered>
    </file>
    <file>
      <source>src/config/b/file.txt</source>
      <outputDirectory>b</outputDirectory>
      <destName>file.txt</destName>
      <filtered>true</filtered>
    </file>
  </files>
</assembly>

=======================================================================
==src/it/projects/basic-features/file-sameName/src/config/a/file.txt
=======================================================================
file A
${testProp}

=======================================================================
==src/it/projects/basic-features/file-sameName/src/config/b/file.txt
=======================================================================
file B
${testProp}


=======================================================================
==src/it/projects/basic-features/file-sameName/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    File a = new File( basedir, "target/parent-1.0-massembly-148-example/a/file.txt");
    File b = new File( basedir, "target/parent-1.0-massembly-148-example/b/file.txt");
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(a));
        String s = r.readLine();
        result = s.equals("file A");
    }
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(b));
        String s = r.readLine();
        result = s.equals("file B");
    }
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/basic-features/formats-in-pom-win/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
    <parent>
        <groupId>org.apache.maven.plugin.assembly.test</groupId>
        <artifactId>it-project-parent</artifactId>
        <version>1</version>
    </parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1</version>
    <name>Test</name>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <formats>
                                <format>zip</format>
                            </formats>
                            <descriptors>
                                <descriptor>src/main/assembly/src.xml</descriptor>
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

=======================================================================
==src/it/projects/basic-features/formats-in-pom-win/src/main/assembly/src.xml
=======================================================================
<assembly>
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <excludes>
        <exclude>target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/basic-features/formats-in-pom-win/verify.bsh
=======================================================================
return !new java.io.File( basedir, "target/parent-1-src/src/main/assembly/src.xml" ).exists() &&
       new java.io.File( basedir, "target/parent-1-src.zip" ) .exists();

=======================================================================
==src/it/projects/basic-features/local-repo-interp/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>1</version>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/local-repo-interp/src/main/assembly/bin.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>bin</id>
    <formats>
        <format>dir</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    
    <files>
      <file>
        <source>${localRepository}/org/apache/maven/plugins/maven-assembly-plugin/${testVersion}/maven-assembly-plugin-${testVersion}.jar</source>
        <outputDirectory>unprefixed</outputDirectory>
        <destName>maven-assembly-plugin.jar</destName>
      </file>
      <file>
        <source>${settings.localRepository}/org/apache/maven/plugins/maven-assembly-plugin/${testVersion}/maven-assembly-plugin-${testVersion}.jar</source>
        <outputDirectory>prefixed</outputDirectory>
        <destName>maven-assembly-plugin.jar</destName>
      </file>
    </files>
</assembly>

=======================================================================
==src/it/projects/basic-features/local-repo-interp/src/main/files/some.file
=======================================================================

=======================================================================
==src/it/projects/basic-features/local-repo-interp/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "target/test-1-bin/unprefixed/maven-assembly-plugin.jar" );
File f2 = new File( basedir, "target/test-1-bin/prefixed/maven-assembly-plugin.jar" );

if ( !f.exists() || !f.isFile() )
{
    System.out.println( "File: " + f + " doesn't exist, or isn't a file." );
    return false;
}

if ( !f2.exists() || !f2.isFile() )
{
    System.out.println( "File: " + f2 + " doesn't exist, or isn't a file." );
    return false;
}

return true;

=======================================================================
==src/it/projects/basic-features/massembly-256-pomPropertiesInterp/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-256-pomPropertiesInterp</artifactId>
  <packaging>pom</packaging>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/myassembly.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <properties>
    <fileLocation>file/path</fileLocation>
    <fileLocation2>file2/path</fileLocation2>
    <fileLocation3>file3/path</fileLocation3>
  </properties>
</project>

=======================================================================
==src/it/projects/basic-features/massembly-256-pomPropertiesInterp/src/main/assembly/myassembly.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>myassembly</id>
    <formats>
        <format>dir</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>src/main/files</directory>
            <outputDirectory>${fileLocation}</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>src/main/files</directory>
            <outputDirectory>${pom.properties.fileLocation2}</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>src/main/files</directory>
            <outputDirectory>${project.properties.fileLocation3}</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

=======================================================================
==src/it/projects/basic-features/massembly-256-pomPropertiesInterp/src/main/files/some.file
=======================================================================

=======================================================================
==src/it/projects/basic-features/massembly-256-pomPropertiesInterp/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "target/massembly-256-pomPropertiesInterp-1-myassembly/file/path/some.file" );
File f2 = new File( basedir, "target/massembly-256-pomPropertiesInterp-1-myassembly/file2/path/some.file" );
File f3 = new File( basedir, "target/massembly-256-pomPropertiesInterp-1-myassembly/file3/path/some.file" );

boolean fOK = f.exists() && f.isFile();
if ( !fOK )
{
    System.out.println( "File: " + f + " doesn't exist, or isn't a file." );
}

boolean f2OK = f2.exists() && f2.isFile();
if ( !f2OK )
{
    System.out.println( "File: " + f2 + " doesn't exist, or isn't a file." );
}

boolean f3OK = f3.exists() && f3.isFile();
if ( !f3OK )
{
    System.out.println( "File: " + f3 + " doesn't exist, or isn't a file." );
}

return fOK && f2OK;

=======================================================================
==src/it/projects/basic-features/massembly-351-projectPrefixInterp/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>project</artifactId>
  <packaging>pom</packaging>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/myassembly.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/assembly/myassembly.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>myassembly</id>
    <formats>
        <format>dir</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>src/main/files</directory>
            <outputDirectory>/files</outputDirectory>
            <includes>
              <include>${artifactId}1.file</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>src/main/files</directory>
            <outputDirectory>/files</outputDirectory>
            <includes>
              <include>${pom.artifactId}2.file</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>src/main/files</directory>
            <outputDirectory>/files</outputDirectory>
            <includes>
              <include>${project.artifactId}3.file</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

=======================================================================
==src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project1.file
=======================================================================

=======================================================================
==src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project2.file
=======================================================================

=======================================================================
==src/it/projects/basic-features/massembly-351-projectPrefixInterp/src/main/files/project3.file
=======================================================================

=======================================================================
==src/it/projects/basic-features/massembly-351-projectPrefixInterp/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "target/project-1-myassembly/files/project1.file" );
File f2 = new File( basedir, "target/project-1-myassembly/files/project2.file" );
File f3 = new File( basedir, "target/project-1-myassembly/files/project3.file" );

boolean fOK = f.exists() && f.isFile();
if ( !fOK )
{
    System.out.println( "File: " + f + " doesn't exist, or isn't a file." );
}

boolean f2OK = f2.exists() && f2.isFile();
if ( !f2OK )
{
    System.out.println( "File: " + f2 + " doesn't exist, or isn't a file." );
}

boolean f3OK = f3.exists() && f3.isFile();
if ( !f3OK )
{
    System.out.println( "File: " + f3 + " doesn't exist, or isn't a file." );
}

return fOK && f2OK;

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-simple/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  
  <name>Parent</name>

  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-simple/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bindir</id>
  <includeBaseDirectory>false</includeBaseDirectory>
  <formats>
    <format>dir</format>
  </formats>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>commons-logging:commons-logging</include>
      </includes>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>outputFileNameMapping-withArtifactBaseVersion</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <repositories>
    <repository>
      <id>test-snapshots</id>
      <url>file://${basedir}/repository</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>1.3</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><metadata>
  <groupId>org.codehaus.plexus</groupId>
  <artifactId>plexus-utils</artifactId>
  <version>1.3-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20060811.151624</timestamp>
      <buildNumber>1</buildNumber>
    </snapshot>
    <lastUpdated>20060811151624</lastUpdated>
  </versioning>
</metadata>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml.md5
=======================================================================
41c86c6138662f89b8f9020699fdf5b9

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/maven-metadata.xml.sha1
=======================================================================
2175f9cd18cb2e36a20818279a148eba5ad6ccfd

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/1.3-SNAPSHOT/plexus-utils-1.3-20060811.151624-1.pom
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><project>
  <groupId>org.codehaus.plexus</groupId>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>plexus-utils</artifactId>
  <name>Plexus Common Utilities</name>
  <version>1.3-20060811.151624-1</version>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <childDelegation>true</childDelegation>
          <excludes>
            <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
            <exclude>**/Test*.java</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <distributionManagement>
    <snapshotRepository>
      <id>local-for-tests</id>
      <url>file:///tmp/repository</url>
    </snapshotRepository>
    <status>deployed</status>
  </distributionManagement>
</project>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><metadata>
  <groupId>org.codehaus.plexus</groupId>
  <artifactId>plexus-utils</artifactId>
  <version>1.3-SNAPSHOT</version>
  <versioning>
    <versions>
      <version>1.3-SNAPSHOT</version>
    </versions>
    <lastUpdated>20060811151624</lastUpdated>
  </versioning>
</metadata>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml.md5
=======================================================================
b6789e2ec12187a1b036652cf2f81511

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/repository/org/codehaus/plexus/plexus-utils/maven-metadata.xml.sha1
=======================================================================
d38f4bcd1f71a4a67d3dab0632905266cea942ab

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/basic-features/outputFileNameMapping-withArtifactBaseVersion/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    result = new File( basedir, "target/outputFileNameMapping-withArtifactBaseVersion-1.0-SNAPSHOT-bin/lib/plexus-utils-1.3.jar" ).exists();   
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/basic-features/relative-project-paths/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>relative-project-paths</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>single</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/relative-project-paths/src/assemble/src.xml
=======================================================================
<assembly>
  <id>src</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <excludes>
        <exclude>**/*.log</exclude>
        <exclude>target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/basic-features/relative-project-paths/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    File f = new File( basedir, "target/relative-project-paths-1.0-src.jar" );
    if ( !f.exists() )
    {
        System.out.println( "jar is missing" );
        return false;
    }

    JarFile jf = new JarFile( f );
    JarEntry je = jf.getEntry( "pom.xml" );

    if ( je == null )
    {
        System.out.println( "pom.xml entry in jar is missing" );
        return false;
    }
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/basic-features/this & that/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1</version>
  
  <name>Test</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/basic-features/this & that/src/main/assembly/src.xml
=======================================================================
<assembly>
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <excludes>
        <exclude>target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/basic-features/this & that/verify.bsh
=======================================================================
return new java.io.File( basedir, "target/parent-1-src/src/main/assembly/src.xml" ).exists();

=======================================================================
==src/it/projects/bugs/massembly-190/child-1/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
      <artifactId>project</artifactId>
      <groupId>org.apache.maven.plugin.assembly.test</groupId>
      <version>1</version>
  </parent>
  <artifactId>child-1</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.3</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/bugs/massembly-190/child-1/src/main/resources/test.txt
=======================================================================
Test

=======================================================================
==src/it/projects/bugs/massembly-190/child-2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
      <artifactId>project</artifactId>
      <groupId>org.apache.maven.plugin.assembly.test</groupId>
      <version>1</version>
  </parent>
  <artifactId>child-2</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.2</version>
    </dependency>
    <!--
    <dependency>
      <groupId>commons-httpclient</groupId>
      <artifactId>commons-httpclient</artifactId>
      <version>3.1</version>
    </dependency>
    -->
  </dependencies>
</project>

=======================================================================
==src/it/projects/bugs/massembly-190/child-2/src/main/resources/test.txt
=======================================================================
Test

=======================================================================
==src/it/projects/bugs/massembly-190/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>project</artifactId>
  <packaging>pom</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
  <modules>
    <module>child-1</module>
    <module>child-2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/bugs/massembly-190/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>${module.artifactId}</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <dependencySets>
          <dependencySet>
            <includes>
              <include>commons-codec*</include>
            </includes>
            <unpack>false</unpack>
          </dependencySet>
        </dependencySets>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/bugs/massembly-190/verify.bsh
=======================================================================
import java.io.*;

File child1Codec = new File( basedir, "target/project-1-bin/child-1/commons-codec-1.3.jar" );
File child2Codec = new File( basedir, "target/project-1-bin/child-2/commons-codec-1.3.jar" );

if ( !child1Codec.exists() )
{
    System.out.println( "commons-codec dependency in child-1 module is either missing or is the wrong version. File missing: " + child1Codec );
}

if ( !child2Codec.exists() )
{
    System.out.println( "commons-codec dependency in child-2 module is either missing or is the wrong version. File missing: " + child2Codec );
}

return child1Codec.exists() && child2Codec.exists();

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>massembly-285</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-285-assembly</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>${pom.parent.artifactId}-mod1</artifactId>
      <version>1</version>
    </dependency>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>${pom.parent.artifactId}-mod2</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <unpack>true</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/java/tests/App.java
=======================================================================
package tests;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-assembly/verify.bsh
=======================================================================
import java.io.File;

/*
 This is where you verify the results of the assembly build. You may need to check the existence of a file,
 or even peek within a jar file to determine whether the assembly did the right thing.
 */
return new File( basedir, "target/${artifactId}-${version}-bin.dir/lib/junit.jar" ).exists();

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-mod1/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><project>
  <parent>
    <artifactId>massembly-285</artifactId>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>massembly-285-mod1</artifactId>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-mod1/src/main/java/tests/App.java
=======================================================================
package tests;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-mod1/src/test/java/tests/AppTest.java
=======================================================================
package tests;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-mod2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><project>
  <parent>
    <artifactId>massembly-285</artifactId>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>massembly-285-mod2</artifactId>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-mod2/src/main/java/tests/App.java
=======================================================================
package tests;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/bugs/massembly-285/massembly-285-mod2/src/test/java/tests/AppTest.java
=======================================================================
package tests;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/bugs/massembly-285/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-285</artifactId>
  <packaging>pom</packaging>
  
  <modules>
    <module>massembly-285-mod1</module>
    <module>massembly-285-mod2</module>
    <module>massembly-285-assembly</module>
  </modules>
  
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <archiverConfig>
              <duplicateBehavior>skip</duplicateBehavior>
            </archiverConfig>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

=======================================================================
==src/it/projects/bugs/massembly-285/verify.bsh
=======================================================================
import java.io.*;
import java.util.*;
import java.util.jar.*;
import java.util.zip.*;

File f = new File( basedir, "massembly-285-assembly/target/massembly-285-assembly-1-bin.jar" );
JarFile jf = new JarFile( f );

String testPath = "tests/App.class";

int jarCount = 0;

Enumeration e = jf.entries();
while( e.hasMoreElements() )
{
    if ( testPath.equals( String.valueOf( e.nextElement() ) ) )
    {
        jarCount++;
    }
}

if ( jarCount != 1 )
{
    System.out.println( "ERROR! Test path: " + testPath + " was found " + jarCount + " times (should have been 1).\nArchive: " + f );
}

f = new File( basedir, "massembly-285-assembly/target/massembly-285-assembly-1-bin.zip" );
ZipFile zf = new ZipFile( f );

String testPath = "tests/App.class";

int zipCount = 0;

e = zf.entries();
while( e.hasMoreElements() )
{
    if ( testPath.equals( String.valueOf( e.nextElement() ) ) )
    {
        zipCount++;
    }
}

if ( zipCount != 1 )
{
    System.out.println( "ERROR! Test path: " + testPath + " was found " + zipCount + " times (should have been 1).\nArchive: " + f );
}

return jarCount == 1;

=======================================================================
==src/it/projects/bugs/massembly-306/pom.xml
=======================================================================
<?xml version="1.0"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-306</artifactId>
  <packaging>jar</packaging>
  <name>massembly-306</name>

  <dependencies>
    <dependency>
      <!-- Keep the jar-with-dependencies from being file-less... -->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      
      <!-- Both the range AND the scope are critical here, 
           since this artifact will be EXCLUDED from the depSet. -->
      <version>[1.2.16]</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>

=======================================================================
==src/it/projects/bugs/massembly-375/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-375</artifactId>
  <packaging>jar</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/test.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/bugs/massembly-375/src/main/assembly/test.txt
=======================================================================
Test File

=======================================================================
==src/it/projects/bugs/massembly-375/src/main/assembly/test.xml
=======================================================================
<assembly>
  <id>test</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src/main/assembly</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>test.txt</include>
      </includes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/bugs/massembly-375/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;

try
{
    File f = new File( basedir, "target/massembly-375-1-test.jar" );

    System.out.println( "Examining assembly file: " + f );
    System.out.flush();

    if ( !f.isFile() )
    {
        System.out.println( "Target file: " + f + " doesn't exist!" );
        System.out.flush();
        return false;
    }

    JarFile jf = new JarFile( f );

    JarEntry je = jf.getEntry( "/test.txt" );
    if ( je != null )
    {
        System.out.println( "Entry: /test.txt should NOT exist." );
        System.out.flush();
        return false;
    }

    je = jf.getEntry( "test.txt" );
    if ( je == null )
    {
        System.out.println( "Entry: test.txt SHOULD exist." );
        System.out.flush();
        return false;
    }

    System.out.println( "VERIFICATION PASSED." );
    System.out.flush();
    return true;
}
catch ( Throwable t )
{
    t.printStackTrace( System.out );
    System.out.flush();
    return false;
}

=======================================================================
==src/it/projects/bugs/massembly-462/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-462</artifactId>
  <packaging>jar</packaging>
  <version>1</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/bugs/massembly-462/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src/main/assembly-resources</directory>
      <filtered>true</filtered>
      <lineEnding>unix</lineEnding>
      <outputDirectory></outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/bugs/massembly-462/src/main/assembly-resources/test.txt
=======================================================================
${project.version}

=======================================================================
==src/it/projects/bugs/massembly-462/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/bugs/massembly-462/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

String assemblyDir = "target/massembly-462-1-src/";

result = result && new File( basedir, assemblyDir + "test.txt" ).exists();
result = result && new File( basedir, assemblyDir ).list().length == 1;

return result;

=======================================================================
==src/it/projects/components/component-dependencySet/pom.xml
=======================================================================
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>

  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1</version>
  <packaging>jar</packaging>

  <name>parent</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>

=======================================================================
==src/it/projects/components/component-dependencySet/src/main/assembly/bin.xml
=======================================================================
<assembly>
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <componentDescriptors>
    <componentDescriptor>src/main/assembly/depset.xml</componentDescriptor>
  </componentDescriptors>
</assembly>

=======================================================================
==src/it/projects/components/component-dependencySet/src/main/assembly/depset.xml
=======================================================================
<component>
  <dependencySets>
    <dependencySet>
      <scope>test</scope>
    </dependencySet>
  </dependencySets>
</component>

=======================================================================
==src/it/projects/components/component-dependencySet/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/components/component-dependencySet/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/components/component-moduleSet/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/components/component-moduleSet/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/components/component-moduleSet/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/components/component-moduleSet/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/components/component-moduleSet/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <componentDescriptors>
    <componentDescriptor>src/assemble/modset.xml</componentDescriptor>
  </componentDescriptors>
</assembly>

=======================================================================
==src/it/projects/components/component-moduleSet/child2/src/assemble/modset.xml
=======================================================================
<component>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>test:child1</include>
      </includes>
      
      <useAllReactorProjects>true</useAllReactorProjects>
      <binaries>
        <unpack>false</unpack>
        <dependencySets>
          <dependencySet>
            <scope>test</scope>
          </dependencySet>
        </dependencySets>
      </binaries>
    </moduleSet>
  </moduleSets>
</component>

=======================================================================
==src/it/projects/components/component-moduleSet/pom.xml
=======================================================================
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>

  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1</version>
  <packaging>pom</packaging>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/container-descriptors/configured-handler/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>configured-handler</artifactId>
  <version>1</version>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        
        <executions>
          <execution>
            <id>assembly</id>
            <phase>validate</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/container-descriptors/configured-handler/src/assemble/bin.xml
=======================================================================
<assembly>
  <id>bin</id>
  
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <fileSets>
    <fileSet>
      <directory>src/config</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
  
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName>file-aggregator</handlerName>
      <configuration>
        <filePattern>.*/file.txt</filePattern>
        <outputPath>file.txt</outputPath>
      </configuration>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
</assembly>

=======================================================================
==src/it/projects/container-descriptors/configured-handler/src/config/a/file.txt
=======================================================================
file A

=======================================================================
==src/it/projects/container-descriptors/configured-handler/src/config/b/file.txt
=======================================================================
file B


=======================================================================
==src/it/projects/container-descriptors/configured-handler/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

try
{
    File a = new File( basedir, "target/configured-handler-1-bin/file.txt");
    File b = new File( basedir, "target/configured-handler-1-bin/b/file.txt");
    
    if(result && !a.exists() ) {
        System.out.println( "File: " + a + " should have been generated, but was not." );
        result = false;
    }
    
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(a));
        String s = null;
        
        boolean foundA = false;
        boolean foundB = false;
        while( ( s = r.readLine() ) != null )
        {
            if ( s.equals( "file A" ) ) {
                foundA = true;
            }
            else if ( s.equals( "file B" ) ) {
                foundB = true;
            }
            
            if ( foundA && foundB )
            {
                result = true;
                break;
            }
        }
        
        if ( !result )
        {
            System.out.println( "File: " + a + " should contain lines:\nfile A\nfile B\n\n ...but didn't." );
        }
    }
    
    if(result && b.exists() ) {
        System.out.println( "File: " + b + " should not exist, but does." );
        result = false;
    }
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/a.properties
=======================================================================
testProp=boo

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>assembly</artifactId>
  <version>1</version>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        
        <dependencies>
          <dependency>
            <groupId>org.test</groupId>
            <artifactId>handler-def</artifactId>
            <version>1</version>
          </dependency>
        </dependencies>
        
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <fileSets>
    <fileSet>
      <directory>src/config</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
  
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName>file.txt</handlerName>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
</assembly>

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/config/a/file.txt
=======================================================================
file A

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/assembly/src/config/b/file.txt
=======================================================================
file B


=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/handler-def/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  
  <groupId>org.test</groupId>
  <version>1</version>
  <artifactId>handler-def</artifactId>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>${testVersion}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/handler-def/src/main/resources/META-INF/plexus/components.xml
=======================================================================
<component-set>
  <components>
    <component>
      <role>org.apache.maven.plugin.assembly.filter.ContainerDescriptorHandler</role>
      <role-hint>file.txt</role-hint>
      <implementation>org.apache.maven.plugin.assembly.filter.SimpleAggregatingDescriptorHandler</implementation>
      <configuration>
        <filePattern>.*/file.txt</filePattern>
        <outputPath>file.txt</outputPath>
        <commentChars>#</commentChars>
      </configuration>
    </component>
  </components>
</component-set>

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>custom-containerDescriptorHandler</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  <name>custom-containerDescriptorHandler</name>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-invoker-plugin</artifactId>
        <version>${invokerPluginVersion}</version>
        
        <configuration>
          <suppressSummaries>true</suppressSummaries>
          <localRepositoryPath>${localRepositoryPath}</localRepositoryPath>
          <properties>
            <testVersion>${testVersion}</testVersion>
          </properties>
          <streamLogs>true</streamLogs>
          <goals>
            <goal>install</goal>
          </goals>
        </configuration>
        
        <executions>
          <execution>
            <id>handler-build</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <pom>handler-def/pom.xml</pom>
            </configuration>
          </execution>
          <execution>
            <id>assembly-build</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>

=======================================================================
==src/it/projects/container-descriptors/custom-containerDescriptorHandler/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

try
{
    File a = new File( basedir, "assembly/target/assembly-1-bin/file.txt");
    File b = new File( basedir, "assembly/target/assembly-1-bin/b/file.txt");
    
    if(result && !a.exists() ) {
        System.out.println( "File: " + a + " should have been generated, but was not." );
        result = false;
    }
    
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(a));
        String s = null;
        
        boolean foundA = false;
        boolean foundB = false;
        while( ( s = r.readLine() ) != null )
        {
            if ( s.equals( "file A" ) ) {
                foundA = true;
            }
            else if ( s.equals( "file B" ) ) {
                foundB = true;
            }
            
            if ( foundA && foundB )
            {
                result = true;
                break;
            }
        }
        
        if ( !result )
        {
            System.out.println( "File: " + a + " should contain lines:\nfile A\nfile B\n\n ...but didn't." );
        }
    }
    
    if(result && b.exists() ) {
        System.out.println( "File: " + b + " should not exist, but does." );
        result = false;
    }
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/a.properties
=======================================================================
testProp=boo

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <version>1</version>
  <artifactId>assembly</artifactId>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        
        <dependencies>
          <dependency>
            <groupId>org.test</groupId>
            <artifactId>handler-def</artifactId>
            <version>1</version>
          </dependency>
        </dependencies>
        
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <files>
    <file>
      <source>src/config/a/file.txt</source>
      <outputDirectory>a</outputDirectory>
      <destName>file.txt</destName>
    </file>
    <file>
      <source>src/config/b/file.txt</source>
      <outputDirectory>b</outputDirectory>
      <destName>file.txt</destName>
    </file>
  </files>
  
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName>file.txt</handlerName>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
</assembly>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/config/a/file.txt
=======================================================================
file A

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/assembly/src/config/b/file.txt
=======================================================================
file B


=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/handler-def/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  
  <groupId>org.test</groupId>
  <version>1</version>
  <artifactId>handler-def</artifactId>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>${testVersion}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/handler-def/src/main/resources/META-INF/plexus/components.xml
=======================================================================
<component-set>
  <components>
    <component>
      <role>org.apache.maven.plugin.assembly.filter.ContainerDescriptorHandler</role>
      <role-hint>file.txt</role-hint>
      <implementation>org.apache.maven.plugin.assembly.filter.SimpleAggregatingDescriptorHandler</implementation>
      <configuration>
        <filePattern>.*file.txt</filePattern>
        <outputPath>file.txt</outputPath>
        <commentChars>#</commentChars>
      </configuration>
    </component>
  </components>
</component-set>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>custom-handler-withFileEntries</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  <name>custom-handler-withFileEntries</name>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-invoker-plugin</artifactId>
        <version>${invokerPluginVersion}</version>
        
        <configuration>
          <suppressSummaries>true</suppressSummaries>
          <localRepositoryPath>${localRepositoryPath}</localRepositoryPath>
          <streamLogs>true</streamLogs>
          <properties>
            <testVersion>${testVersion}</testVersion>
          </properties>
          <goals>
            <goal>install</goal>
          </goals>
        </configuration>
        
        <executions>
          <execution>
            <id>handler-build</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <pom>handler-def/pom.xml</pom>
            </configuration>
          </execution>
          <execution>
            <id>assembly-build</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withFileEntries/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

try
{
    File a = new File( basedir, "assembly/target/assembly-1-bin/file.txt");
    File b = new File( basedir, "assembly/target/assembly-1-bin/b/file.txt");
    
    if(result && !a.exists() ) {
        System.out.println( "File: " + a + " should have been generated, but was not." );
        result = false;
    }
    
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(a));
        String s = null;
        
        boolean foundA = false;
        boolean foundB = false;
        while( ( s = r.readLine() ) != null )
        {
            if ( s.equals( "file A" ) ) {
                foundA = true;
            }
            else if ( s.equals( "file B" ) ) {
                foundB = true;
            }
            
            if ( foundA && foundB )
            {
                result = true;
                break;
            }
        }
        
        if ( !result )
        {
            System.out.println( "File: " + a + " should contain lines:\nfile A\nfile B\n\n ...but didn't." );
        }
    }
    
    if(result && b.exists() ) {
        System.out.println( "File: " + b + " should not exist, but does." );
        result = false;
    }
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/a.properties
=======================================================================
testProp=boo

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <version>1</version>
  <artifactId>assembly</artifactId>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        
        <dependencies>
          <dependency>
            <groupId>org.test</groupId>
            <artifactId>handler-def</artifactId>
            <version>1</version>
          </dependency>
        </dependencies>
        
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <files>
    <file>
      <source>src/config/a/file.txt</source>
      <outputDirectory>a</outputDirectory>
      <destName>file.txt</destName>
    </file>
  </files>
  
  <fileSets>
    <fileSet>
      <directory>src/config/b</directory>
      <outputDirectory>b</outputDirectory>
    </fileSet>
  </fileSets>
  
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName>file.txt</handlerName>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
</assembly>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/config/a/file.txt
=======================================================================
file A

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/assembly/src/config/b/file.txt
=======================================================================
file B


=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/handler-def/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  
  <groupId>org.test</groupId>
  <version>1</version>
  <artifactId>handler-def</artifactId>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>${testVersion}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/handler-def/src/main/resources/META-INF/plexus/components.xml
=======================================================================
<component-set>
  <components>
    <component>
      <role>org.apache.maven.plugin.assembly.filter.ContainerDescriptorHandler</role>
      <role-hint>file.txt</role-hint>
      <implementation>org.apache.maven.plugin.assembly.filter.SimpleAggregatingDescriptorHandler</implementation>
      <configuration>
        <filePattern>.*file.txt</filePattern>
        <outputPath>file.txt</outputPath>
        <commentChars>#</commentChars>
      </configuration>
    </component>
  </components>
</component-set>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>custom-handler-withMixedEntries</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  <name>custom-handler-withMixedEntries</name>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-invoker-plugin</artifactId>
        <version>${invokerPluginVersion}</version>
        
        <configuration>
          <suppressSummaries>true</suppressSummaries>
          <localRepositoryPath>${localRepositoryPath}</localRepositoryPath>
          <properties>
            <testVersion>${testVersion}</testVersion>
          </properties>
          <streamLogs>true</streamLogs>
          <goals>
            <goal>install</goal>
          </goals>
        </configuration>
        
        <executions>
          <execution>
            <id>handler-build</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <pom>handler-def/pom.xml</pom>
            </configuration>
          </execution>
          <execution>
            <id>assembly-build</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>

=======================================================================
==src/it/projects/container-descriptors/custom-handler-withMixedEntries/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

try
{
    File a = new File( basedir, "assembly/target/assembly-1-bin/file.txt");
    File b = new File( basedir, "assembly/target/assembly-1-bin/b/file.txt");
    
    if(result && !a.exists() ) {
        System.out.println( "File: " + a + " should have been generated, but was not." );
        result = false;
    }
    
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(a));
        String s = null;
        
        boolean foundA = false;
        boolean foundB = false;
        while( ( s = r.readLine() ) != null )
        {
            if ( s.equals( "file A" ) ) {
                foundA = true;
            }
            else if ( s.equals( "file B" ) ) {
                foundB = true;
            }
            
            if ( foundA && foundB )
            {
                result = true;
                break;
            }
        }
        
        if ( !result )
        {
            System.out.println( "File: " + a + " should contain lines:\nfile A\nfile B\n\n ...but didn't." );
        }
    }
    
    if(result && b.exists() ) {
        System.out.println( "File: " + b + " should not exist, but does." );
        result = false;
    }
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/main/resources/META-INF/services/test.Test
=======================================================================
test.Foo

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName>metaInf-services</handlerName>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
  <dependencySets>
    <dependencySet>
      <unpack>true</unpack>
      <outputDirectory>.</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/main/resources/META-INF/services/test.Test
=======================================================================
test.Bar

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/container-descriptors/metaInf-services-aggregation/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;

try
{
  boolean fooFound = false;
  boolean barFound = false;
  
  JarFile file = new JarFile( new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" ) );
  JarEntry entry = file.getEntry( "META-INF/services/test.Test" );
  if ( entry == null )
  {
    return false;
  }
  
  BufferedReader br = new BufferedReader( new InputStreamReader( file.getInputStream( entry ) ) );
  
  String line = null;
  while( ( line = br.readLine() ) != null )
  {
    if ( line.equals( "test.Foo" ) )
    {
      fooFound = true;
    }
    else if ( line.equals( "test.Bar" ) )
    {
      barFound = true;
    }
    
    if ( fooFound && barFound )
    {
      break;
    }
  }
  
  if ( !fooFound )
  {
    System.out.println( "Cannot find entry 'test.Foo' in: " + entry.getName() );
  }
  
  if ( !barFound )
  {
    System.out.println( "Cannot find entry 'test.Bar' in: " + entry.getName() );
  }
  
  return fooFound && barFound;
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/resources/META-INF/spring.handlers
=======================================================================
http\://www.springframework.org/schema/aop=org.springframework.aop.config.AopNamespaceHandler1

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/main/resources/META-INF/spring.schemas
=======================================================================
http\://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-3.0.xsd

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName>metaInf-spring</handlerName>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
  <dependencySets>
    <dependencySet>
      <unpack>true</unpack>
      <outputDirectory>.</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/resources/META-INF/spring.handlers
=======================================================================
http\://www.springframework.org/schema/context=org.springframework.context.config.ContextNamespaceHandler1

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/main/resources/META-INF/spring.schemas
=======================================================================
http\://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-4.0.xsd

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/container-descriptors/metaInf-spring-aggregation/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;

try
{
  JarFile file = new JarFile( new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" ) );
  JarEntry handlerEntry = file.getEntry( "META-INF/spring.handlers" );
  if ( handlerEntry == null )
  {
    return false;
  }

  BufferedReader br = new BufferedReader( new InputStreamReader( file.getInputStream( handlerEntry ) ) );

  boolean aopFound = false;
  boolean ctxFound = false;

  String line = null;
  while( ( line = br.readLine() ) != null )
  {
    if ( line.endsWith( "AopNamespaceHandler1" ) )
    {
      aopFound = true;
    }
    else if ( line.endsWith( "ContextNamespaceHandler1" ) )
    {
      ctxFound = true;
    }

    if ( aopFound && ctxFound )
    {
      break;
    }
  }

  if ( !aopFound )
  {
    System.out.println( "Cannot find entry 'AopNamespaceHandler1' in: " + handlerEntry.getName() );
    return false;
  }

  br.close();
  
  if ( !ctxFound )
  {
    System.out.println( "Cannot find entry 'ContextNamespaceHandler1' in: " + handlerEntry.getName() );
    return false;
  }
  
  JarEntry schemaEntry = file.getEntry( "META-INF/spring.schemas" );

=======================================================================
==src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>dep-transfilter-wildcard-massembly544</artifactId>
  <name>dep-transfilter-wildcard-massembly544</name>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-webdav-jackrabbit</artifactId>
      <version>1.0-beta-4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.reporting</groupId>
      <artifactId>maven-reporting-api</artifactId>
      <version>2.0.4</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>

=======================================================================
==src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
      <outputDirectory>maven-libs</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <useTransitiveDependencies>true</useTransitiveDependencies>
      <useTransitiveFiltering>true</useTransitiveFiltering>
      <includes>
        <include>org.apache.maven*</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dep-transfilter-wildcard-massembly544/verify.bsh
=======================================================================
import java.io.*;

File dir = new File( basedir, "target/dep-transfilter-wildcard-massembly544-1-bin/maven-libs" );
File[] files = {
  new File( dir, "wagon-webdav-jackrabbit-1.0-beta-4.jar" ),
  new File( dir, "xercesMinimal-1.9.6.2.jar" ),
  new File( dir, "maven-reporting-api-2.0.4.jar" ),
  new File( dir, "doxia-sink-api-1.0-alpha-7.jar" )
};

boolean result = true;
for( int i = 0; i<files.length; i++ )
{
    if ( !files[i].exists() )
    {
        System.out.println( "Cannot find jar: " + files[i] + " (should be included via transitive pattern)." );
        result = false;
    }
}

return result;

=======================================================================
==src/it/projects/dependency-sets/dep-with-transitive-filter/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  <artifactId>project</artifactId>
  <name>project</name>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-webdav-jackrabbit</artifactId>
      <version>1.0-beta-4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.reporting</groupId>
      <artifactId>maven-reporting-impl</artifactId>
      <version>2.0.4.1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assemly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>

=======================================================================
==src/it/projects/dependency-sets/dep-with-transitive-filter/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
      <outputDirectory>maven-libs</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <useTransitiveDependencies>true</useTransitiveDependencies>
      <useTransitiveFiltering>true</useTransitiveFiltering>
      <includes>
        <include>org.apache.maven.wagon*</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dep-with-transitive-filter/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dep-with-transitive-filter/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dep-with-transitive-filter/verify.bsh
=======================================================================
import java.io.*;

File wagonJackrabbitJar = new File( basedir, "target/project-1-bin/maven-libs/wagon-webdav-jackrabbit-1.0-beta-4.jar" );
File xercesMinimalJar = new File( basedir, "target/project-1-bin/maven-libs/xercesMinimal-1.9.6.2.jar" );

if ( !wagonJackrabbitJar.exists() )
{
    System.out.println( "Wagon provider jar is missing (should be included via include wildcard pattern)." );
}

if ( !xercesMinimalJar.exists() )
{
    System.out.println( "Xerces minimal jar (from nekohtml, brought in by wagon jackrabbit provider) is missing (should be included via include wildcard pattern)." );
}

return wagonJackrabbitJar.exists() && xercesMinimalJar.exists();

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-matchScope</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>dependencySet-matchScope</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-matchScope</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/README-jira.txt
=======================================================================
MASSEMBLY-132

=======================================================================
==src/it/projects/dependency-sets/dependencySet-matchScope/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'lib/child1.jar' jar entry." );
    
    if ( jf.getEntry( "lib/child1.jar" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
    
    if ( jf.getEntry( "lib/junit.jar" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-nonTransitive</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-nonTransitive</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <useTransitiveDependencies>false</useTransitiveDependencies>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-nonTransitive</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/README-jira.txt
=======================================================================
MASSEMBLY-132

=======================================================================
==src/it/projects/dependency-sets/dependencySet-nonTransitive/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'lib/child1.jar' jar entry." );
    
    if ( jf.getEntry( "lib/child1.jar" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
    
    if ( jf.getEntry( "lib/junit.jar" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-notUnpacked</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>dependencySet-notUnpacked</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-notUnpacked</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-notUnpacked/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'lib/child1.jar' jar entry." );
    
    if ( jf.getEntry( "lib/child1.jar" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
    
    if ( jf.getEntry( "lib/junit.jar" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/pom.xml
=======================================================================
<?xml version="1.0"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-projectArtifactNotIncluded</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>Foo bar</name>
  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.3</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>lib</outputDirectory>
      <unpack>false</unpack>
      <scope>compile</scope>
      <useProjectArtifact>false</useProjectArtifact>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/main/java/foo/Foo.java
=======================================================================
package foo;

public class Foo {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/src/main/webapp/WEB-INF/web.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    <display-name>Foo bar</display-name>

    <servlet>
        <servlet-name>foobar</servlet-name>
        <servlet-class>foo.Foo</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>foobar</servlet-name>
        <url-pattern>/app/*</url-pattern>
    </servlet-mapping>
</web-app>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-projectArtifactNotIncluded/verify.bsh
=======================================================================
import java.io.*;

if ( basedir == void )
{
  basedir = new File( "." );
}

File depFile = new File( basedir, "target/dependencySet-projectArtifactNotIncluded-1.0-SNAPSHOT-bin/lib/commons-logging-1.0.4.jar" );

File projectArtifactFile = new File( basedir, "target/dependencySet-projectArtifactNotIncluded-1.0-SNAPSHOT-bin/lib/dependencySet-projectArtifactNotIncluded-1.0-SNAPSHOT.war" );

System.out.println( "result: " + ( depFile.exists() && !projectArtifactFile.exists() ) );
return depFile.exists() && !projectArtifactFile.exists();

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-unpacked</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>dependencySet-unpacked</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>true</unpack>
      <outputDirectory>/${artifact.artifactId}</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-unpacked</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'child1/' jar entry." );
    
    if ( jf.getEntry( "child1/" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'junit/' jar entry." );
    
    if ( jf.getEntry( "junit" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child1/pom.xml
=======================================================================
<?xml version="1.0"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child1/src/main/resources/assembly-resources/test.txt
=======================================================================
Project Version: ${project.version}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      
      <outputDirectory>/</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}</outputFileNameMapping>
      
      <unpack>true</unpack>
      <unpackOptions>
        <filtered>true</filtered>
      </unpackOptions>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked-filtered/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh
=======================================================================
import java.io.*;

try
{
    File f = new File( basedir, "child2/target/child2-1-bin/child1/assembly-resources/test.txt" );
    
    BufferedReader r = new BufferedReader( new FileReader( f ) );
    if ( r.readLine().equals( "Project Version: 1" ) )
    {
      return true;
    }
}
catch( IOException e )
{
    e.printStackTrace();
}

return false;

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-unpackedExcludingMetaInf</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>dependencySet-unpackedExcludingMetaInf</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>true</unpack>
      <unpackOptions>
        <excludes>
          <exclude>META-INF/**</exclude>
        </excludes>
      </unpackOptions>
      <outputDirectory>/${artifact.artifactId}</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-unpackedExcludingMetaInf</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedExcludingMetaInf/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'child1/' jar entry." );
    
    if ( jf.getEntry( "child1/" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }

    System.out.println( "Looking for 'child1/META-INF' jar entry (should not exist)." );
    
    if ( jf.getEntry( "child1/META-INF" ) != null )
    {
        System.err.println( "child1/META-INF entry should not be present." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'junit/' jar entry." );
    
    if ( jf.getEntry( "junit" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-unpackedSubsetsTwice</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/main/java/test/App2.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App2 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>dependencySet-unpackedSubsetsTwice</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <useTransitiveDependencies>false</useTransitiveDependencies>
      <unpack>true</unpack>
      <outputDirectory>/classes1</outputDirectory>
      <unpackOptions>
        <includes>
          <include>**/App.class</include>
        </includes>
      </unpackOptions>
    </dependencySet>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <useTransitiveDependencies>false</useTransitiveDependencies>
      <unpack>true</unpack>
      <outputDirectory>/classes2</outputDirectory>
      <unpackOptions>
        <includes>
          <include>**/App2.class</include>
        </includes>
      </unpackOptions>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-unpackedSubsetsTwice</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-unpackedSubsetsTwice/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'classes1/test/App.class' jar entry." );
    
    if ( jf.getEntry( "classes1/test/App.class" ) == null )
    {
        System.err.println( "classes1/test/App.class entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'classes1/test/App2.class' jar entry." );
    
    if ( jf.getEntry( "classes1/test/App2.class" ) != null )
    {
        System.err.println( "classes1/test/App2.class should not be present." );
        result = false;
    }
    
    System.out.println( "Looking for 'classes2/test/App2.class' jar entry." );
    
    if ( jf.getEntry( "classes2/test/App2.class" ) == null )
    {
        System.err.println( "classes2/test/App2.class entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'classes2/test/App.class' jar entry." );
    

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-withExecutedProject</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>dependencySet-withExecutedProject</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dependencySet-withExecutedProject</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/dependencySet-withExecutedProject/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    result = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin/lib/child1.jar" ).exists();   
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/depMgmt-override/child/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
   </parent>
   
  <artifactId>child</artifactId>
  <packaging>pom</packaging>

  <properties>
    <test.version>2.2.1</test.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>${test.version}</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

  <build>
      <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <descriptors>
            <descriptor>src/assembly/bundle.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/depMgmt-override/child/src/assembly/bundle.xml
=======================================================================
<assembly>
  <!-- TODO: Change ${pom.*} references to ${project.*} once maven-assembly-plugin 2.2-beta-3 is available -->
  <includeBaseDirectory>false</includeBaseDirectory>
  <id>bundle</id>
  <formats>
    <format>dir</format>
  </formats>
  
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <useProjectArtifact>false</useProjectArtifact>
      <outputDirectory>.</outputDirectory>
      <includes>
        <include>org.apache.maven:maven-plugin-api</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depMgmt-override/pom.xml
=======================================================================
<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>

  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  
  <modules>
    <module>child</module>
  </modules>

  <properties>
    <test.version>2.0.6</test.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>2.0.6</version>
        <scope>compile</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

</project>

=======================================================================
==src/it/projects/dependency-sets/depMgmt-override/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "child/target/child-1.0-bundle/maven-plugin-api-2.2.1.jar" );
File f2 = new File( basedir, "child/target/child-1.0-bundle/maven-plugin-api-2.0.6.jar" );

if ( !f.exists() || !f.isFile() )
{
  System.out.println( f + " does not exist or is not a file." );
  return false;
}

if ( f2.exists() )
{
  System.out.println( f2 + " should NOT have been included." );
  return false;
}

return true;

=======================================================================
==src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child1/pom.xml
=======================================================================
<?xml version="1.0"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <artifactId>child1</artifactId>
  
  <properties>
    <foo>bar</foo>
  </properties>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child1/src/main/resources/assembly-resources/test.txt
=======================================================================
Project Version: ${project.version}

=======================================================================
==src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/depSet-artifactPomPropInterp/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <outputDirectory>${artifact.properties.foo}</outputDirectory>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-artifactPomPropInterp/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-artifactPomPropInterp/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "child2/target/child2-1-bin/bar/child1-1.jar" );
return f.exists() && f.isFile();

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>
  <version>2</version>

</project>


=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/child3/pom.xml
=======================================================================
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1</version>
  </parent>
    
  <artifactId>child3</artifactId>

  <name>DependencySet::By-Version</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child2</artifactId>
      <version>2</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/child3/src/main/assembly/bin.xml
=======================================================================
<assembly>
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>runtime</scope>
      <useProjectArtifact>false</useProjectArtifact>
      <outputDirectory>${artifact.baseVersion}</outputDirectory>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
    <module>child3</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-byDepVersion/verify.bsh
=======================================================================
import java.io.*;

try
{
    File dir = new File( basedir, "child3/target/child3-1-bin" );
    
    File f = new File( dir, "1/child1-1.jar" );
    if ( !f.exists() || !f.isFile() )
    {
      System.out.println( "Could not find dependency file: " + f );
      return false;
    }
    
    f = new File( dir, "2/child2-2.jar" );
    if ( !f.exists() || !f.isFile() )
    {
      System.out.println( "Could not find dependency file: " + f );
      return false;
    }
    
    return true;
}
catch( IOException e )
{
    e.printStackTrace();
}

return false;

=======================================================================
==src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>enum</artifactId>

  <dependencies>
    <dependency>
      <groupId>org.mule</groupId>
      <artifactId>mule-core</artifactId>
      <version>1.4.1</version>
    </dependency>
    <dependency>
        <groupId>org.mule.transports</groupId>
        <artifactId>mule-transport-vm</artifactId>
        <version>1.4.1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml
=======================================================================
<assembly>
    <id>bin</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <unpack>true</unpack>
            <includes>
                <include>org.mule:mule-core</include>
                <include>org.mule.transports:mule-transport-vm</include>
            </includes>
        </dependencySet>
    </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <modules>
    <module>enum</module>
    <module>wildcard</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh
=======================================================================
import java.io.*;
import java.util.*;
import java.util.jar.*;

boolean result = true;

try
{
    File f1 = new File( basedir, "enum/target/enum-1-bin.jar" );
    File f2 = new File( basedir, "wildcard/target/wildcard-1-bin.jar" );
    
    JarFile jf1 = new JarFile( f1 );
    JarFile jf2 = new JarFile( f2 );
    
    for( Enumeration e = jf1.entries(); e.hasMoreElements(); )
    {
        JarEntry entry1 = (JarEntry) e.nextElement();
        JarEntry entry2 = (JarEntry) jf2.getEntry( entry1.getName() );
        
        if ( entry2 == null )
        {
            System.out.println( "Missing entry: " + entry1.getName() + " in " + f2 );
            result = false;
        }
    }
    
    for( Enumeration e = jf2.entries(); e.hasMoreElements(); )
    {
        JarEntry entry2 = (JarEntry) e.nextElement();
        JarEntry entry1 = (JarEntry) jf2.getEntry( entry2.getName() );
        
        if ( entry1 == null )
        {
            System.out.println( "Missing entry: " + entry2.getName() + " in " + f1 );
            result = false;
        }
        
        if ( !entry1.isDirectory() )
        {
            if ( entry2.isDirectory() )
            {
                System.out.println( "One file is directory, the other a file! Entry: " + entry2.getName() );
                result = false;
            }
            else
            {
                ByteArrayOutputStream b1 = new ByteArrayOutputStream();

                InputStream in = jf1.getInputStream( entry1 );
                byte[] buf = new byte[1024];

=======================================================================
==src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>wildcard</artifactId>

  <dependencies>
    <dependency>
      <groupId>org.mule</groupId>
      <artifactId>mule-core</artifactId>
      <version>1.4.1</version>
    </dependency>
    <dependency>
        <groupId>org.mule.transports</groupId>
        <artifactId>mule-transport-vm</artifactId>
        <version>1.4.1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml
=======================================================================
<assembly>
    <id>bin</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <unpack>true</unpack>
            <includes>
                <include>org.mule:*</include>
                <include>org.mule.transports:*</include>
            </includes>
        </dependencySet>
    </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>
  <version>2</version>

</project>


=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/child3/pom.xml
=======================================================================
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1</version>
  </parent>
    
  <artifactId>child3</artifactId>

  <name>DependencySet::By-Version</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child2</artifactId>
      <version>2</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/child3/src/main/assembly/bin.xml
=======================================================================
<assembly>
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>runtime</scope>
      <useProjectArtifact>false</useProjectArtifact>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
    <module>child3</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-runtimeScope/verify.bsh
=======================================================================
import java.io.*;

try
{
    File dir = new File( basedir, "child3/target/child3-1-bin" );
    
    File f = new File( dir, "child1-1.jar" );
    if ( !f.exists() || !f.isFile() )
    {
      System.out.println( "Could not find dependency file: " + f );
      return false;
    }
    
    f = new File( dir, "child2-2.jar" );
    if ( !f.exists() || !f.isFile() )
    {
      System.out.println( "Could not find dependency file: " + f );
      return false;
    }
    
    return true;
}
catch( IOException e )
{
    e.printStackTrace();
}

return false;

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child3</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child3</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>


=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child3/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child3</artifactId>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child3/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child4/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child4</artifactId>
  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child2</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  
  <profiles>
    <profile>
      <id>test</id>
      <activation>
        <property>
          <name>test-profile</name>
        </property>
      </activation>
      
      <dependencies>
        <dependency>
          <groupId>test</groupId>
          <artifactId>child1</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child4/src/main/assembly/bin.xml
=======================================================================
<?xml version="1.0"?>
<assembly>
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <useTransitiveDependencies>true</useTransitiveDependencies>
      <useTransitiveFiltering>true</useTransitiveFiltering>
      <includes>
        <include>test:child1</include>
      </includes>
      <excludes>
        <exclude>test:child2</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/child4/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
    <module>child3</module>
    <module>child4</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/test.properties
=======================================================================
test-profile=true

=======================================================================
==src/it/projects/dependency-sets/depSet-transFromProfile/verify.bsh
=======================================================================
return new java.io.File( basedir, "child4/target/child4-1.0-SNAPSHOT-bin/child3-1.0-SNAPSHOT.jar" ).exists();

=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/child1/src/main/resources/test.txt
=======================================================================
Test file

=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>true</unpack>
      <outputDirectory>/${artifact.artifactId}</outputDirectory>
      <fileMode>0444</fileMode>
      <directoryMode>0555</directoryMode>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/depSet-unpacked-rdonly/verify.bsh
=======================================================================
import java.io.*;

File file = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin/child1/test.txt" );
return file.exists() && file.canRead();

=======================================================================
==src/it/projects/dependency-sets/include-project-artifact/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>include-project-artifact</artifactId>
  <version>1.0-SNAPSHOT</version>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/include-project-artifact/README-jira.txt
=======================================================================
MASSEMBLY-111

=======================================================================
==src/it/projects/dependency-sets/include-project-artifact/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <scope>compile</scope>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/include-project-artifact/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-project-artifact/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-project-artifact/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    File dir = new File( basedir, "target/include-project-artifact-1.0-SNAPSHOT-bin" );
    
    System.out.println( "Checking for existence and file-ishness of: " + dir );
    
    if ( !dir.exists() || !dir.isDirectory() )
    {
        System.err.println( "assembled directory is missing or not a directory." );
        return false;
    }
    
    File projectArtifact = new File( dir, "lib/include-project-artifact-1.0-SNAPSHOT.jar" );
    
    System.out.println( "Looking for 'lib/include-project-artifact-1.0-SNAPSHOT.jar file in assembly." );
    
    if ( !projectArtifact.exists() )
    {
        System.err.println( "project-artifact entry is missing." );
        return false;
    }
    
    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
    
    if ( new File( dir, "lib/junit-3.8.1.jar" ).exists() )
    {
        System.err.println( "junit jar should not be present." );
        return false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>include-project-attachments</artifactId>
  <version>1.0-SNAPSHOT</version>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-source-assembly</id>
            <phase>compile</phase>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/README-jira.txt
=======================================================================
MASSEMBLY-111

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <scope>compile</scope>
      <useProjectArtifact>true</useProjectArtifact>
      <useProjectAttachments>true</useProjectAttachments>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <excludes>
        <exclude>target</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-project-attachments/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    File dir = new File( basedir, "target/include-project-attachments-1.0-SNAPSHOT-bin" );
    
    System.out.println( "Checking for existence and file-ishness of: " + dir );
    
    if ( !dir.exists() || !dir.isDirectory() )
    {
        System.err.println( "assembled directory is missing or not a directory." );
        return false;
    }
    
    File projectArtifact = new File( dir, "lib/include-project-attachments-1.0-SNAPSHOT.jar" );
    
    System.out.println( "Looking for 'lib/include-project-attachments-1.0-SNAPSHOT.jar file in assembly." );
    
    if ( !projectArtifact.exists() )
    {
        System.err.println( "project-attachments entry is missing." );
        return false;
    }
    
    File attachment = new File( dir, "lib/include-project-attachments-1.0-SNAPSHOT-src.zip" );
    
    System.out.println( "Looking for 'lib/include-project-attachments-1.0-SNAPSHOT-src.zip file in assembly." );
    
    if ( !attachment.exists() )
    {
        System.err.println( "project attachment entry is missing." );
        return false;
    }
    
    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
    
    if ( new File( dir, "lib/junit-3.8.1.jar" ).exists() )
    {
        System.err.println( "junit jar should not be present." );
        return false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/dependency-sets/include-provided/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>include-provided</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/include-provided/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-provided/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-provided/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>include-provided</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/dependency-sets/include-provided/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <scope>provided</scope>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/include-provided/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-provided/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/include-provided/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>include-provided</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/dependency-sets/include-provided/README-jira.txt
=======================================================================
MASSEMBLY-111

=======================================================================
==src/it/projects/dependency-sets/include-provided/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'lib/child1.jar' jar entry." );
    
    if ( jf.getEntry( "lib/child1.jar" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'lib/junit.jar' jar entry." );
    
    if ( jf.getEntry( "lib/junit.jar" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/dependency-sets/including-pom-dependency/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>including-pom-dependency</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-container-default</artifactId>
      <version>1.0-alpha-9</version>
      <type>pom</type>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/including-pom-dependency/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>lib/${artifact.artifactId}</outputDirectory>
      <unpack>true</unpack>
      <excludes>
        <exclude>*:pom</exclude>
      </excludes>
    </dependencySet>
    <dependencySet>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>true</unpack>
      <includes>
        <include>*:pom</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/including-pom-dependency/src/main/java/com/nf/ass/App.java
=======================================================================
package com.nf.ass;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/including-pom-dependency/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

// verify that transitive deps of the POM dep were included.
result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin/lib/plexus-utils" ).exists();
result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin/lib/classworlds" ).exists();
result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin/lib/junit" ).exists();

// verify that the POM dep was included without extracting.
result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin/lib/plexus-container-default.pom" ).exists();

// verify that the jar associated with the POM dep wasn't included either.
result = result && !new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin/lib/plexus-container-default" ).exists();

return result;

=======================================================================
==src/it/projects/dependency-sets/including-sar-dependency/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>including-sar-dependency</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-appserver-service-xmlrpc</artifactId>
      <version>2.0-alpha-3</version>
      <type>sar</type>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/including-sar-dependency/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>lib/${artifact.artifactId}</outputDirectory>
      <unpack>true</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java
=======================================================================
package com.nf.ass;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/including-sar-dependency/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

// verify that transitive deps of the POM dep were included.
result = result && new File( basedir, "target/including-sar-dependency-1.0-SNAPSHOT-bin/lib/xmlrpc" ).exists();
result = result && new File( basedir, "target/including-sar-dependency-1.0-SNAPSHOT-bin/lib/plexus-xmlrpc" ).exists();

result = result && new File( basedir, "target/including-sar-dependency-1.0-SNAPSHOT-bin/lib/plexus-appserver-service-xmlrpc/lib/commons-codec-1.3.jar" ).exists();

return result;

=======================================================================
==src/it/projects/dependency-sets/massembly-201/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-201</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>2.0.9</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>2.0.9</version>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>2.0.9</version>
      <classifier>javadoc</classifier>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>

=======================================================================
==src/it/projects/dependency-sets/massembly-201/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>org.apache.maven:maven-model:jar</include>
        <include>org.apache.maven:maven-model:jar:sources</include>
        <include>org.apache.maven:maven-model:jar:javadoc</include>
      </includes>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/massembly-201/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-201/verify.bsh
=======================================================================
import java.io.*;

File main = new File( basedir, "target/massembly-201-1-bin/maven-model-2.0.9.jar" );
File sources = new File( basedir, "target/massembly-201-1-bin/maven-model-2.0.9-sources.jar" );
File javadocs = new File( basedir, "target/massembly-201-1-bin/maven-model-2.0.9-javadoc.jar" );

if ( !main.exists() )
{
    System.out.println( "Main (unclassified) dependency jar is missing: " + main );
}

if ( !sources.exists() )
{
    System.out.println( "Sources dependency jar is missing: " + sources );
}

if ( !javadocs.exists() )
{
    System.out.println( "JavaDocs dependency jar is missing: " + javadocs );
}

return main.exists() && sources.exists() && javadocs.exists();

=======================================================================
==src/it/projects/dependency-sets/massembly-232/assembly.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>dist</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src/main/etc</directory>
      <outputDirectory>massembly-232-${version}/etc</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/massembly-232/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-232</artifactId>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>assembly.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals><goal>single</goal></goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/massembly-232/src/main/etc/hello.txt
=======================================================================
hi

=======================================================================
==src/it/projects/dependency-sets/massembly-232/verify.bsh
=======================================================================
import java.io.*;

File file = new File( basedir, "target/massembly-232-1-dist/massembly-232-1/etc/hello.txt" );

System.out.println( "Test file exists? " + file.exists() );

return file.exists();

=======================================================================
==src/it/projects/dependency-sets/massembly-235/pom.xml
=======================================================================
<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>

  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>

  <name>Test for Assembly Bug</name>
  <groupId>test</groupId>
  <artifactId>massembly235-test</artifactId>
  <packaging>jar</packaging>

  <dependencies>
    <dependency>
      <groupId>xmlwriter</groupId>
      <artifactId>xmlwriter</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
    <!-- xmlwriter 2.2 will use unavailable version 0.39 -->
      <dependency>
        <groupId>xmlenc</groupId>
        <artifactId>xmlenc</artifactId>
        <version>0.52</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/release.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>

=======================================================================
==src/it/projects/dependency-sets/massembly-235/src/main/assembly/release.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>release</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>target</directory>
      <outputDirectory></outputDirectory>
      <includes>
        <include>*.jar</include>
      </includes>
    </fileSet>
  </fileSets>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/massembly-235/src/main/java/HelloWorld.java
=======================================================================
public class HelloWorld
{
    public static String sayHello(String name)
    {
        return "Hello " + name + "!";
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-235/src/test/java/HelloWorldTest.java
=======================================================================
import junit.framework.TestCase;

public class HelloWorldTest extends TestCase
{
    public static final void testSayHello()
    {
        assertEquals("Hello World!", HelloWorld.sayHello("World"));
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-235/verify.bsh
=======================================================================
import java.io.*;

File dir = new File( basedir, "target/massembly235-test-1-release" );

File goodJar = new File( dir, "xmlenc-0.52.jar" );
File badJar = new File( dir, "xmlenc-0.39.jar" );

System.out.println( "Good version of xmlenc exists? " + goodJar.exists() );
System.out.println( "Bad version of xmlenc doesn't exist? " + (!badJar.exists()) );

return goodJar.exists() && !badJar.exists();

=======================================================================
==src/it/projects/dependency-sets/massembly-345/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-345</artifactId>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <archiverConfig>
            <appxml>src/main/resources/application.xml</appxml>
          </archiverConfig>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals><goal>single</goal></goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/massembly-345/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  
  <formats>
    <format>ear</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <fileSets>
    <fileSet>
      <directory>src/main/</directory>
    </fileSet>
  </fileSets>
 
</assembly>

=======================================================================
==src/it/projects/dependency-sets/massembly-345/src/main/resources/application.xml
=======================================================================
Test

=======================================================================
==src/it/projects/dependency-sets/massembly-345/verify.bsh
=======================================================================
import java.io.*;

// verify that the ear is created
result = new File( basedir, "target/massembly-345-1-bin.ear" ).exists();

return result;

=======================================================================
==src/it/projects/dependency-sets/massembly-99/module-a/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>massembly-99</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>module-a</artifactId>
  <name>Assembly Spike Module A</name>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jdom</groupId>
      <artifactId>jdom</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/massembly-99/module-a/src/main/java/com/nf/ass/App.java
=======================================================================
package com.nf.ass;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-99/module-a/src/test/java/com/nf/ass/AppTest.java
=======================================================================
package com.nf.ass;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-99/module-b/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>massembly-99</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>module-b</artifactId>
  <name>Assembly Spike Module B</name>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>velocity</groupId>
      <artifactId>velocity</artifactId>
      <version>1.4</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/massembly-99/module-b/src/main/java/com/nf/ass/App.java
=======================================================================
package com.nf.ass;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-99/module-b/src/test/java/com/nf/ass/AppTest.java
=======================================================================
package com.nf.ass;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/massembly-99/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>massembly-99</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Assembly Spike</name>
  <modules>
    <module>module-a</module>
    <module>module-b</module>
  </modules>
  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assemblies/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>  
  <pluginRepositories>
    <pluginRepository>
      <id>apache.snapshots</id>

=======================================================================
==src/it/projects/dependency-sets/massembly-99/src/main/assemblies/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <outputFileNameMapping>${module.artifactId}.${module.extension}</outputFileNameMapping>
        <unpack>false</unpack>

        <dependencySets>
          <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
            <unpack>false</unpack>
            <scope>runtime</scope>
          </dependencySet>
        </dependencySets>
      </binaries>
    </moduleSet>
  </moduleSets>
 
</assembly>

=======================================================================
==src/it/projects/dependency-sets/massembly-99/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

result = result && new File( basedir, "target/massembly-99-1.0-SNAPSHOT-bin/lib/jdom.jar" ).exists();
result = result && new File( basedir, "target/massembly-99-1.0-SNAPSHOT-bin/lib/velocity.jar" ).exists();

result = result && new File( basedir, "target/massembly-99-1.0-SNAPSHOT-bin/modules/module-a.jar" ).exists();
result = result && new File( basedir, "target/massembly-99-1.0-SNAPSHOT-bin/modules/module-b.jar" ).exists();


return result;

=======================================================================
==src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  <artifactId>mid-artifactId-wildcard-massembly570</artifactId>
  <name>mid-artifactId-wildcard-massembly570</name>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-clean-plugin</artifactId>
      <version>2.4.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.3.2</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>

=======================================================================
==src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
      <outputDirectory>maven-libs</outputDirectory>
      <includes>
        <include>org.apache.maven.plugins:maven-*-plugin</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/mid-artifactId-wildcard-massembly570/verify.bsh
=======================================================================
import java.io.*;

File dir = new File( basedir, "target/mid-artifactId-wildcard-massembly570-1-bin/maven-libs" );

File[] files = {
  new File( dir, "maven-clean-plugin-2.4.1.jar" ),
  new File( dir, "maven-jar-plugin-2.3.2.jar")
};

boolean missing = false;
for( int i = 0; i<files.length; i++ )
{
    if ( !files[i].exists() )
    {
        System.out.println( "Missing jar: " + files[i] + " (should be included via wildcard pattern)." );
        missing = true;
    }
}

return !missing;

=======================================================================
==src/it/projects/dependency-sets/multiple-wildcard-includes/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  <artifactId>massembly-241</artifactId>
  <name>massembly-241</name>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-provider-api</artifactId>
      <version> 1.0-beta-4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-webdav-jackrabbit</artifactId>
      <version>1.0-beta-4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.reporting</groupId>
      <artifactId>maven-reporting-impl</artifactId>
      <version>2.0.4.1</version>
    </dependency>
    <dependency>
      <groupId>commons-vfs</groupId>
      <artifactId>commons-vfs</artifactId>
      <version> 1.0</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assemly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>

=======================================================================
==src/it/projects/dependency-sets/multiple-wildcard-includes/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
      <outputDirectory>maven-libs</outputDirectory>
      <includes>
        <include>org.apache.maven.wagon*</include>
        <include>org.apache.maven.reporting*</include>
      </includes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/dependency-sets/multiple-wildcard-includes/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/multiple-wildcard-includes/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/multiple-wildcard-includes/verify.bsh
=======================================================================
import java.io.*;

File wagonProviderJar = new File( basedir, "target/massembly-241-1-bin/maven-libs/wagon-provider-api-1.0-beta-4.jar" );
File reportingImplJar = new File( basedir, "target/massembly-241-1-bin/maven-libs/maven-reporting-impl-2.0.4.1.jar" );

if ( !wagonProviderJar.exists() )
{
    System.out.println( "Wagon provider jar is missing (should be included via include wildcard pattern)." );
}

if ( !reportingImplJar.exists() )
{
    System.out.println( "Reporting implementation jar is missing (should be included via include wildcard pattern)." );
}

return wagonProviderJar.exists() && reportingImplJar.exists();

=======================================================================
==src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>project</artifactId>

  <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.4</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals><goal>single</goal></goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
    <outputDirectory>some_directory</outputDirectory>
    <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
    <unpack>true</unpack>
    </dependencySet>
  </dependencySets>
  
</assembly>

=======================================================================
==src/it/projects/dependency-sets/outputFileNameMappingWithUnpack/verify.bsh
=======================================================================
import java.io.*;

// verify that the ear is created
File dirWithMapping = new File( basedir, "target/project-1-bin/some_directory/junit.jar/" );

if ( dirWithMapping.exists() )
{
    System.out.println( "<outputFileNameMapping> should NOT be used when unpack == true." );
    return false;
}

File dir = new File( basedir, "target/project-1-bin/some_directory/junit/framework/TestCase.class" );

if ( !dir.exists() )
{
    System.out.println( "Expected unpacked class does not exist in the appropriate outputDirectory within the assembly." );
    return false;
}

return true;

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>using-moduleSet-implied-depSet</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>module-a</artifactId>
  <name>Assembly Spike Module A</name>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jdom</groupId>
      <artifactId>jdom</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/src/main/java/com/nf/ass/App.java
=======================================================================
package com.nf.ass;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-a/src/test/java/com/nf/ass/AppTest.java
=======================================================================
package com.nf.ass;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>using-moduleSet-implied-depSet</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>module-b</artifactId>
  <name>Assembly Spike Module B</name>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>velocity</groupId>
      <artifactId>velocity</artifactId>
      <version>1.4</version>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/src/main/java/com/nf/ass/App.java
=======================================================================
package com.nf.ass;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/module-b/src/test/java/com/nf/ass/AppTest.java
=======================================================================
package com.nf.ass;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>using-moduleSet-implied-depSet</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <modules>
    <module>module-a</module>
    <module>module-b</module>
  </modules>
  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assemblies/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>  
  <pluginRepositories>
    <pluginRepository>
      <id>apache.snapshots</id>
      <url>http://repository.apache.org/snapshots</url>

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/src/main/assemblies/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  
  <formats>
    <format>dir</format>
  </formats>
  
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
        <unpack>false</unpack>
        <includeDependencies>true</includeDependencies>
      </binaries>
    </moduleSet>
  </moduleSets>
 
</assembly>

=======================================================================
==src/it/projects/dependency-sets/using-moduleSet-implied-depSet/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

result = result && new File( basedir, "target/using-moduleSet-implied-depSet-1.0-SNAPSHOT-bin/modules/jdom.jar" ).exists();
result = result && new File( basedir, "target/using-moduleSet-implied-depSet-1.0-SNAPSHOT-bin/modules/velocity.jar" ).exists();

result = result && new File( basedir, "target/using-moduleSet-implied-depSet-1.0-SNAPSHOT-bin/modules/module-a.jar" ).exists();
result = result && new File( basedir, "target/using-moduleSet-implied-depSet-1.0-SNAPSHOT-bin/modules/module-b.jar" ).exists();


return result;

=======================================================================
==src/it/projects/descriptor-refs/bin/jars-in-archive-root/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>jars-in-archive-root</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>bin</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/bin/jars-in-archive-root/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/bin/jars-in-archive-root/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/bin/jars-in-archive-root/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "jars-in-archive-root-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-bin.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    System.out.println( "Looking for project-artifact jar zip entry." );
    
    ZipEntry je = zf.getEntry( basename + "/" + basename + ".jar" ); 

    if ( je == null )
    {
        System.out.println( "project artifact is missing from archive root dir." );
        result = false;
    }
   
}
catch( IOException e )
{
    e.printStackTrace( System.out );
    result = false;
}

return result;

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>component-descriptors-merged</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/src/main/java/test/AppChild1.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class AppChild1 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child1/src/main/resources/META-INF/plexus/components.xml
=======================================================================
<component-set>
  <components>
    <component>
      <role>child</role>
      <role-hint>one</role-hint>
      <implementation>test/AppChild1</implementation>
    </component>
  </components>
</component-set>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>component-descriptors-merged</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>true</unpack>
      <outputDirectory>${artifact.artifactId}</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/main/resources/META-INF/plexus/components.xml
=======================================================================
<component-set>
  <components>
    <component>
      <role>child</role>
      <role-hint>two</role-hint>
      <implementation>test/App</implementation>
    </component>
  </components>
</component-set>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>component-descriptors-merged</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/component-descriptors-merged/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-jar-with-dependencies.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for component descriptor jar entry." );
    
    JarEntry je = jf.getEntry( "META-INF/plexus/components.xml" ); 

    if ( je == null )
    {
        System.err.println( "component descriptor is missing." );
        result = false;
    }
    else
    {
        InputStream instream = jf.getInputStream( je );

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buf = new byte[16];
        int read = -1;

        while( ( read = instream.read( buf ) ) > -1 )
        {
            baos.write( buf, 0, read );
        }

        String test = new String( baos.toByteArray() );
        System.out.println( test );

        result = test.indexOf( "one" ) > -1 && test.indexOf( "two" ) > -1;

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>jar-with-dependencies-unpacked-to-root-dir</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child1/src/main/java/test/AppChild1.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class AppChild1 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <parent>
    <artifactId>jar-with-dependencies-unpacked-to-root-dir</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-binary-assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>true</unpack>
      <outputDirectory>${artifact.artifactId}</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>jar-with-dependencies-unpacked-to-root-dir</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/deps-unpacked-to-root-dir/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "child2/target/child2-1.0-SNAPSHOT-jar-with-dependencies.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    System.out.println( "Looking for 'test/AppChild1.class' jar entry." );
    
    if ( jf.getEntry( "test/AppChild1.class" ) == null )
    {
        System.err.println( "child1 class is missing." );
        result = false;
    }

    if ( jf.getEntry( "test/App.class" ) == null )
    {
        System.err.println( "child2 class is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'junit/' jar entry." );
    
    if ( jf.getEntry( "junit/framework/TestCase.class" ) != null )
    {
        System.err.println( "junit jar should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>jar-with-dependencies-no-target-dir</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>single</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/src/assemble/bin.xml
=======================================================================
<assembly>
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>test:child1</include>
      </includes>
      <unpack>true</unpack>
      <outputDirectory>${artifact.artifactId}</outputDirectory>
      <scope>test</scope>
      <excludes>
        <exclude>junit:junit</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/jar-with-dependencies/no-target-dir/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    System.out.println( "Creating JarFile java.io.File." );
    
    File jarFile = new File( basedir, "target/jar-with-dependencies-no-target-dir-1.0-SNAPSHOT-jar-with-dependencies.jar" );
    
    System.out.println( "Checking for existence and file-ishness of: " + jarFile );
    
    if ( !jarFile.exists() || jarFile.isDirectory() )
    {
        System.err.println( "jar file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating JarFile instance." );
    
    JarFile jf = new JarFile( jarFile );
    
    if ( jf.getEntry( "test/App.class" ) == null )
    {
        System.err.println( "App class is missing." );
        result = false;
    }
    
    System.out.println( "Looking for absence of 'target/classes/test/App.class' jar entry." );
    
    if ( jf.getEntry( "target/classes/test/App.class" ) != null )
    {
        System.err.println( "target directory should not be present." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>multimodule-sources-copied</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>multimodule-sources-copied</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/pom.xml
=======================================================================
<?xml version='1.0' encoding='UTF-8'?>
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>multimodule-sources-copied</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>project</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/project/multimodule-sources-copied/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "multimodule-sources-copied-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-project.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    String childPath = basename + "/child1";
    
    System.out.println( "Checking child1 project files..." );
    
    System.out.println( "Looking for project source file." );
    
    ZipEntry je = zf.getEntry( childPath + "/src/main/java/test/App.java" ); 

    if ( je == null )
    {
        System.out.println( childPath + " source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for project test-source file." );
    
    je = null;
    je = zf.getEntry( childPath + "/src/test/java/test/AppTest.java" ); 

    if ( je == null )
    {
        System.out.println( childPath + " test-source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for pom.xml file." );

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>no-target-dir</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>project</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "no-target-dir-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-project.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    System.out.println( "Looking for project classes." );
    
    ZipEntry je = zf.getEntry( basename + "/target/classes/test/App.java" ); 

    if ( je != null )
    {
        System.out.println( "project classes should not be included." );
        result = false;
    }
}
catch( IOException e )
{
    e.printStackTrace( System.out );
    result = false;
}

return result;

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>multimodule-sources-copied</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <version>1.0-SNAPSHOT</version>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>multimodule-sources-copied</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/pom.xml
=======================================================================
<?xml version='1.0' encoding='UTF-8'?>
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>multimodule-sources-copied</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>project</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/descriptor-refs/project/no-target-dir-multimodule/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "multimodule-sources-copied-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-project.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    String childPath = basename + "/child1";
    
    System.out.println( "Checking child1 project files..." );
    
    System.out.println( "Looking for project source file." );
    
    ZipEntry je = zf.getEntry( childPath + "/src/main/java/test/App.java" ); 

    if ( je == null )
    {
        System.out.println( childPath + " source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for project test-source file." );
    
    je = null;
    je = zf.getEntry( childPath + "/src/test/java/test/AppTest.java" ); 

    if ( je == null )
    {
        System.out.println( childPath + " test-source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for pom.xml file." );

=======================================================================
==src/it/projects/descriptor-refs/project/sources-copied/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>sources-copied</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>project</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/project/sources-copied/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/sources-copied/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/project/sources-copied/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "sources-copied-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-project.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    System.out.println( "Looking for project source file." );
    
    ZipEntry je = zf.getEntry( basename + "/src/main/java/test/App.java" ); 

    if ( je == null )
    {
        System.out.println( "project source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for project test-source file." );
    
    je = null;
    je = zf.getEntry( basename + "/src/test/java/test/AppTest.java" ); 

    if ( je == null )
    {
        System.out.println( "project test-source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for pom.xml file." );
    
    je = null;
    je = zf.getEntry( basename + "/pom.xml" ); 


=======================================================================
==src/it/projects/descriptor-refs/src/no-target-dir/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>no-target-dir</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>src</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/src/no-target-dir/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/src/no-target-dir/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/src/no-target-dir/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "no-target-dir-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-src.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    System.out.println( "Looking for project classes." );
    
    ZipEntry je = zf.getEntry( basename + "/target/classes/test/App.class" ); 

    if ( je != null )
    {
        System.out.println( "project classes should not be present." );
        result = false;
    }
}
catch( IOException e )
{
    e.printStackTrace( System.out );
    result = false;
}

return result;

=======================================================================
==src/it/projects/descriptor-refs/src/src-dir-copied/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>src-dir-copied</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>src</descriptorRef>
              </descriptorRefs>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/descriptor-refs/src/src-dir-copied/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/src/src-dir-copied/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/descriptor-refs/src/src-dir-copied/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

String basename = "src-dir-copied-1.0-SNAPSHOT";

try
{
    File zipFile = new File( basedir, "target/" + basename + "-src.zip" );
    
    System.out.println( "Checking for existence and file-ishness of: " + zipFile );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip file is missing or a directory." );
        return false;
    }
    
    System.out.println( "Creating zipFile instance." );
    
    ZipFile zf = new ZipFile( zipFile );
    
    System.out.println( "Looking for project source file." );
    
    ZipEntry je = zf.getEntry( basename + "/src/main/java/test/App.java" ); 

    if ( je == null )
    {
        System.out.println( "project source file missing." );
        result = false;
    }
   
    System.out.println( "Looking for project test-source file." );
    
    je = null;
    je = zf.getEntry( basename + "/src/test/java/test/AppTest.java" ); 

    if ( je == null )
    {
        System.out.println( "project test-source file missing." );
        result = false;
    }
   
}
catch( IOException e )
{
    e.printStackTrace( System.out );
    result = false;

=======================================================================
==src/it/projects/file-modes/file-set-fileMode/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>file-set-fileMode</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-modes/file-set-fileMode/src/assemble/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>tar.gz</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src/main/java</directory>
      <fileMode>0400</fileMode>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-modes/file-set-fileMode/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-modes/file-set-fileMode/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-modes/file-set-fileMode/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

FileWriter writer = null;

try
{
    File file = new File( basedir, "target/file-mode-set-1.0-SNAPSHOT-src.dir/src/main/java/test/App.java" );
    writer = new FileWriter( file );
    writer.write( "This is a test." );

    System.out.println( "File: " + file + " should not be writable." );

    result = false;
}
catch( IOException e )
{
    result = true;
}

return result;

=======================================================================
==src/it/projects/file-modes/fileItem-fileMode/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>fileItem-fileMode</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-modes/fileItem-fileMode/src/assemble/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>tar.gz</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>src/main/java/test/App.java</source>
      <fileMode>0400</fileMode>
    </file>
  </files>
</assembly>

=======================================================================
==src/it/projects/file-modes/fileItem-fileMode/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-modes/fileItem-fileMode/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-modes/fileItem-fileMode/verify.bsh
=======================================================================
import java.io.*;
import java.util.*;

boolean result = true;

FileWriter writer = null;

try
{
    File file = new File( basedir, "target/fileItem-fileMode-1.0-SNAPSHOT-src.dir/App.java" );
    writer = new FileWriter( file );
    writer.write( "This is a test." );

    if ( System.getProperty( "os.name" ).toLowerCase( Locale.ENGLISH ).indexOf( "windows" ) >= 0 )
    {
        System.out.println( "Detected Windows - skipping" );
        return true;
    }

    System.out.println( "File: " + file + " should not be writable." );

    result = false;
}
catch( IOException e )
{
    result = true;
}

return result;

=======================================================================
==src/it/projects/file-sets/default-directory-unspecified/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>default-directory-unspecified</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/default-directory-unspecified/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <includes>
        <include>*.*</include>
      </includes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/default-directory-unspecified/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

String assemblyDir = "target/default-directory-unspecified-1.0-SNAPSHOT-src/";

result = result && new File( basedir, assemblyDir + "build.log" ).exists();
result = result && !new File( basedir, assemblyDir + ".svn" ).exists();

return result;

=======================================================================
==src/it/projects/file-sets/default-excludes-unspecified/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>default-excludes-unspecified</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/default-excludes-unspecified/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src</directory>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/default-excludes-unspecified/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/default-excludes-unspecified/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-sets/default-excludes-unspecified/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

String assemblyDir = "target/default-excludes-unspecified-1.0-SNAPSHOT-src/src/main/assembly/";

result = result && new File( basedir, assemblyDir + "src.xml" ).exists();
result = result && !new File( basedir, assemblyDir + ".svn" ).exists();

return result;

=======================================================================
==src/it/projects/file-sets/dont-use-default-excludes/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>dont-use-default-excludes</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/dont-use-default-excludes/setup.bsh
=======================================================================
import java.io.*;

File srcSvnDir = new File( basedir, "src/main/assembly/.svn" );
srcSvnDir.mkdirs();

File srcSvnFile = new File( srcSvnDir, "entries" );

FileWriter writer = new FileWriter( srcSvnFile );
writer.write( "Test, Test" );
writer.flush();
writer.close();

return true;

=======================================================================
==src/it/projects/file-sets/dont-use-default-excludes/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <useDefaultExcludes>false</useDefaultExcludes>
      <directory>src</directory>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/dont-use-default-excludes/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/dont-use-default-excludes/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-sets/dont-use-default-excludes/verify.groovy
=======================================================================
File assemblyDir = new File( basedir, "target/dont-use-default-excludes-1.0-SNAPSHOT-src/src/main/assembly" );

assert new File( assemblyDir, "src.xml" ).exists();
assert new File( assemblyDir, ".svn" ).exists();

return true;

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.test</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
  </parent>
  <name>Child</name>
    <artifactId>child</artifactId>
  <version>1.0</version>
</project>

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/child/src/main/resources/target/file.txt
=======================================================================
Test

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/child/target/classes/src/omit.txt
=======================================================================
test

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/child/target/omit.txt
=======================================================================
test

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  
  <name>Parent</name>
  <modules>
    <module>child</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>single</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/src/assemble/src.xml
=======================================================================
<assembly>
  <id>src</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <excludes>
        <exclude>**/*.log</exclude>
        <exclude>%regex[(?!((?!target/)[^/]+/)*src/).*target.*]</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/src/main/java/org/test/target/file.properties
=======================================================================
Test

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/target/classes/src/omit.txt
=======================================================================
test

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/target/omit.txt
=======================================================================
test

=======================================================================
==src/it/projects/file-sets/excludes-using-regex/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    File f = new File( basedir, "target/parent-1.0-src.jar" );
    if ( !f.exists() )
    {
        System.out.println( "jar is missing" );
        return false;
    }

    JarFile jf = new JarFile( f );
    JarEntry je = jf.getEntry( "parent-1.0/src/main/java/org/test/target/file.properties" );

    if ( je == null )
    {
        System.out.println( "sources for org.test.target package in parent project are missing from jar" );
        return false;
    }

    je = jf.getEntry( "parent-1.0/child/src/main/resources/target/file.txt" );

    if ( je == null )
    {
        System.out.println( "target/file.txt in child resources is missing from the jar." );
        return false;
    }

    je = jf.getEntry( "parent-1.0/target/omit.txt" );

    if ( je != null )
    {
        System.out.println( "target/omit.txt in parent project was included the jar." );
        return false;
    }

    je = jf.getEntry( "parent-1.0/child/target/omit.txt" );

    if ( je != null )
    {
        System.out.println( "target/omit.txt in child project was included the jar." );
        return false;
    }

    je = jf.getEntry( "parent-1.0/target/classes/src/omit.txt" );


=======================================================================
==src/it/projects/file-sets/excluding-svn-dirs/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>excluding-svn-dirs</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/excluding-svn-dirs/setup.bsh
=======================================================================
import java.io.*;

File srcSvnDir = new File( basedir, "src/main/assembly/.svn" );
srcSvnDir.mkdirs();

File srcSvnFile = new File( srcSvnDir, "entries" );

FileWriter writer = new FileWriter( srcSvnFile );
writer.write( "Test, Test" );
writer.flush();
writer.close();

return true;

=======================================================================
==src/it/projects/file-sets/excluding-svn-dirs/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src</directory>
      <excludes>
        <exclude>**/.svn/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/excluding-svn-dirs/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/excluding-svn-dirs/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-sets/excluding-svn-dirs/verify.groovy
=======================================================================
assert new File( basedir, "src/main/assembly/.svn" ).exists();

File assemblyDir = new File( basedir, "target/excluding-svn-dirs-1.0-SNAPSHOT-src/src/main/assembly" );

assert new File( assemblyDir, "src.xml" ).exists();
assert !new File( assemblyDir, ".svn" ).exists();

return true;

=======================================================================
==src/it/projects/file-sets/filtered-module-sources/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>child</artifactId>
  <packaging>jar</packaging>
  
</project>

=======================================================================
==src/it/projects/file-sets/filtered-module-sources/child/src/main/assembly-resources/test.txt
=======================================================================
${project.version}

=======================================================================
==src/it/projects/file-sets/filtered-module-sources/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  
  <modules>
    <module>child</module>
  </modules>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  
</project>

=======================================================================
==src/it/projects/file-sets/filtered-module-sources/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>org.apache.maven.plugin.assembly.test:child</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <outputDirectory>/</outputDirectory>
            <directory>src/main/assembly-resources</directory>
            <filtered>true</filtered>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/filtered-module-sources/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "target/parent-1-src/child/test.txt" );

if ( !f.exists() )
{
    System.out.println( "Filtered file from file-set: " + f + " is missing." );
    return false;
}

String line = null;

BufferedReader reader = new BufferedReader( new FileReader( f ) );
line = reader.readLine();
reader.close();

System.out.println( "First line of test.txt: '" + line + "' should equal the project version: '1'." );

return "1".equals( line.trim() );

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>child</artifactId>
  <packaging>jar</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/child/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <outputDirectory>/</outputDirectory>
      <directory>src/main/assembly-resources</directory>
      <filtered>true</filtered>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/child/src/main/assembly-resources/test.txt
=======================================================================
${project.version}

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>filtered-multimodule-parent</artifactId>
  <packaging>pom</packaging>
  
  <modules>
    <module>child</module>
  </modules>
  
</project>

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>${test}</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/src/main/java/org/apache/maven/plugin/assembly/test/App.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/filtered-multimodule/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "child/target/child-1-src/test.txt" );

if ( !f.exists() )
{
    System.out.println( "Filtered file from file-set: " + f + " is missing." );
    return false;
}

String line = null;

BufferedReader reader = new BufferedReader( new FileReader( f ) );
line = reader.readLine();
reader.close();

System.out.println( "First line of test.txt: '" + line + "' should equal the project version: '1'." );

return "1".equals( line.trim() );

=======================================================================
==src/it/projects/file-sets/include-base-directory/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>include-base-directory</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/include-base-directory/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>src</directory>
      <excludes>
        <exclude>**/.svn/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/include-base-directory/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/include-base-directory/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-sets/include-base-directory/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

String assemblyDir = "target/include-base-directory-1.0-SNAPSHOT-src/include-base-directory-1.0-SNAPSHOT/src/main/assembly/";

result = result && new File( basedir, assemblyDir + "src.xml" ).exists();

return result;

=======================================================================
==src/it/projects/file-sets/include-parent-dir/child/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>include-parent-dir</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/parent.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>build-parent-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>directory-single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/include-parent-dir/child/src/assemble/parent.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>parent</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>..</directory>
      <outputDirectory></outputDirectory>
      <useDefaultExcludes>true</useDefaultExcludes>
      <excludes>
        <exclude>**/target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/include-parent-dir/child/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/include-parent-dir/child/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-sets/include-parent-dir/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>include-parent-dir</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <modules>
    <module>child</module>
  </modules>
</project>

=======================================================================
==src/it/projects/file-sets/include-parent-dir/verify.bsh
=======================================================================
import java.io.*;

return new File( basedir, "child/target/child-1.0-SNAPSHOT-parent/child/pom.xml" ).exists();

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>child</artifactId>
  <packaging>jar</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/child/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <outputDirectory>/</outputDirectory>
      <directory>src/main/assembly-resources</directory>
      <filtered>true</filtered>
      <lineEnding>unix</lineEnding>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/child/src/main/assembly-resources/test.txt
=======================================================================
${project.version}
${project.artifactId}

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>filtered-multimodule-parent</artifactId>
  <packaging>pom</packaging>
  
  <modules>
    <module>child</module>
  </modules>
  
</project>

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>${test}</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/src/main/java/org/apache/maven/plugin/assembly/test/App.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/multimodule-unix-lineEndings/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "child/target/child-1-src/test.txt" );

if ( !f.exists() )
{
    System.out.println( "Filtered file from file-set: " + f + " is missing." );
    return false;
}

StringBuffer sb = new StringBuffer();

FileReader reader = new FileReader( f );
char[] cbuf = new char[16];
int read = -1;
while( ( read = reader.read( cbuf ) ) > -1 )
{
    sb.append( cbuf, 0, read );
}

reader.close();

System.out.println( "Contents of test.txt: '" + sb.toString() + "' should contain the unix newline: '\\n'." );

if ( sb.toString().indexOf( "1\nchild" ) == -1 )
{
    System.out.println( "test.txt has wrong line ending" );
    return false;
}
if ( sb.toString().indexOf( "child\n" ) > -1 )
{
    System.out.println( "test.txt has an extra line ending at the end of the file" );
    return false;
}
return true;

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>child</artifactId>
  <packaging>jar</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/child/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <outputDirectory>/</outputDirectory>
      <directory>src/main/assembly-resources</directory>
      <filtered>true</filtered>
      <lineEnding>crlf</lineEnding>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/child/src/main/assembly-resources/test.txt
=======================================================================
${project.version}
${project.artifactId}

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>filtered-multimodule-parent</artifactId>
  <packaging>pom</packaging>
  
  <modules>
    <module>child</module>
  </modules>
  
</project>

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>${test}</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/src/main/java/org/apache/maven/plugin/assembly/test/App.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/multimodule-win-lineEndings/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "child/target/child-1-src/test.txt" );

if ( !f.exists() )
{
    System.out.println( "Filtered file from file-set: " + f + " is missing." );
    return false;
}

StringBuffer sb = new StringBuffer();

FileReader reader = new FileReader( f );
char[] cbuf = new char[16];
int read = -1;
while( ( read = reader.read( cbuf ) ) > -1 )
{
    sb.append( cbuf, 0, read );
}

reader.close();

System.out.println( "Contents of test.txt: '" + sb.toString() + "' should contain the windows newline: '\\r\\n'." );

if ( sb.toString().indexOf( "1\r\nchild" ) == -1 )
{
    System.out.println( "test.txt has wrong line ending" );
    return false;
}
if ( sb.toString().indexOf( "child\r\n" ) > -1 )
{
    System.out.println( "test.txt has an extra line ending at the end of the file" );
    return false;
}
return true;

=======================================================================
==src/it/projects/file-sets/use-default-excludes/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>use-default-excludes</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/file-sets/use-default-excludes/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <useDefaultExcludes>true</useDefaultExcludes>
      <directory>src</directory>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/file-sets/use-default-excludes/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/file-sets/use-default-excludes/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/file-sets/use-default-excludes/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

String assemblyDir = "target/use-default-excludes-1.0-SNAPSHOT-src/src/main/assembly/";

result = result && new File( basedir, assemblyDir + "src.xml" ).exists();
result = result && !new File( basedir, assemblyDir + ".svn" ).exists();

return result;

=======================================================================
==src/it/projects/files/filtered-sysprop/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  
  <name>Parent</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/files/filtered-sysprop/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>src/config/a/filtered.txt</source>
      <outputDirectory>a</outputDirectory>
      <filtered>true</filtered>
    </file>
  </files>
</assembly>

=======================================================================
==src/it/projects/files/filtered-sysprop/src/config/a/filtered.txt
=======================================================================
Java Version: ${java.version}

=======================================================================
==src/it/projects/files/filtered-sysprop/verify.bsh
=======================================================================
import java.io.*;

try
{
  String javaVersion = System.getProperty( "java.version" );
  File a = new File( basedir, "target/parent-1.0-bin/a/filtered.txt");
  
  BufferedReader r = new BufferedReader(new FileReader(a));
  String line = r.readLine();
  if ( ! line.endsWith( javaVersion ) )
  {
    System.out.println( "Expected java version: " + javaVersion + "\nLine was: " + line );
    return false;
  }
}
catch( IOException e )
{
    e.printStackTrace();
}

return true;

=======================================================================
==src/it/projects/files/multimodule-relativePath/a.properties
=======================================================================
testProp=boo

=======================================================================
==src/it/projects/files/multimodule-relativePath/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
  </parent>
  
  <artifactId>child</artifactId>
  <name>Child</name>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/files/multimodule-relativePath/child/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>src/config/a/file.txt</source>
      <outputDirectory>a</outputDirectory>
    </file>
  </files>
</assembly>

=======================================================================
==src/it/projects/files/multimodule-relativePath/child/src/config/a/file.txt
=======================================================================
file A
${testProp}

=======================================================================
==src/it/projects/files/multimodule-relativePath/child/src/config/b/file.txt
=======================================================================
file B
${testProp}


=======================================================================
==src/it/projects/files/multimodule-relativePath/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  
  <name>Parent</name>
  
  <modules>
    <module>child</module>
  </modules>
</project>

=======================================================================
==src/it/projects/files/multimodule-relativePath/verify.bsh
=======================================================================
import java.io.*;

File a = new File( basedir, "child/target/child-1.0-bin/a/file.txt");

if ( !a.exists() || !a.isFile() )
{
  System.out.println( "Missing test file: " + a );
  return false;
}

return true;

=======================================================================
==src/it/projects/filtering-feature/filter-comp-descriptor-path/assembly.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>filtered-assembly</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <componentDescriptors>
    <!-- Needs to be interpolated before actual resolution -->
    <componentDescriptor>${project.basedir}/component.xml</componentDescriptor>
  </componentDescriptors>
</assembly>

=======================================================================
==src/it/projects/filtering-feature/filter-comp-descriptor-path/component.xml
=======================================================================
<component>
  <files>
    <file>
      <source>pom.xml</source>
    </file>
  </files>
</component>

=======================================================================
==src/it/projects/filtering-feature/filter-comp-descriptor-path/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  <name>Test</name>
  
  <!--
  Verify that the <componentDescriptor> elements of an assembly descriptor get interpolated before resolution
  of the component descriptor is attempted (MASSEMBLY-486).
  -->
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>assembly.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/filtering-feature/filter-comp-descriptor-path/verify.bsh
=======================================================================
import java.io.*;

File file = new File( basedir, "target/test-1.0-filtered-assembly/pom.xml" );
if ( !file.isFile() )
{
    throw new IllegalStateException( "Missing: " + file );
}

return true;

=======================================================================
==src/it/projects/filtering-feature/filters-defined-in-build/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>filters-defined-in-build</artifactId>
  <packaging>pom</packaging>
  
  <build>
    <filters>
      <filter>${basedir}/src/main/filters/filter-build.properties</filter>
    </filters>

    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>${basedir}/src/main/assembly/descriptor.xml</descriptor>
          </descriptors>
          <appendAssemblyId>false</appendAssemblyId>
          <escapeString>\</escapeString>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <properties>
    <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
  </properties>
</project>

=======================================================================
==src/it/projects/filtering-feature/filters-defined-in-build/src/main/assembly/descriptor.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">

  <id>assembly</id>

  <formats>
    <format>dir</format>
    <format>zip</format>
  </formats>

  <includeBaseDirectory>false</includeBaseDirectory>

  <fileSets>
    <fileSet>
      <directory>${basedir}/src/main/config</directory>
      <outputDirectory></outputDirectory>
      <lineEnding>unix</lineEnding>
      <filtered>true</filtered>
    </fileSet>
  </fileSets>

</assembly>

=======================================================================
==src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-2.properties
=======================================================================
test.build.filter.props.2=${filter.build}
test.assembly.filter.props.2=${filter.assembly}
test.pom.props.2=${project.artifactId}-${project.version}.${project.packaging}

=======================================================================
==src/it/projects/filtering-feature/filters-defined-in-build/src/main/filters/filter-assembly.properties
=======================================================================
filter.assembly=Filter defined in the Assembly plugin's configuration.

=======================================================================
==src/it/projects/filtering-feature/filters-defined-in-build/src/main/filters/filter-build.properties
=======================================================================
filter.build=Filter defined in the projects' build section.

=======================================================================
==src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

try
{
    File file = new File( basedir, "target/filters-defined-in-build-1/file-1.properties");
    // This is a properties file encoded using ISO-8859-1
    BufferedReader r = new BufferedReader( new InputStreamReader( new FileInputStream( file ), "ISO-8859-1" ) );
    String s = r.readLine();
    if(s.contains("filter.build"))
    {
        System.out.println("file-1.properties was not filtered");
        return false;
    }
    s = r.readLine();
    if(!s.contains("escapedString=${project.artifactId}"))
    {
        System.out.println("file-1.properties did not escape filtering");
        return false;
    }
    s = r.readLine();
    if(!s.contains("åäö"))
    {
        System.out.println("file-1.properties has corrupted non ascii characters");
        return false;
    }

    file = new File( basedir, "target/filters-defined-in-build-1/file-2.properties");
    r = new BufferedReader(new FileReader(file));
    s = r.readLine();
    if(s.contains("filter.build"))
    {
        System.out.println("file-2.properties was not filtered");
        return false;
    }

    return true;
}
catch( IOException e )
{
    e.printStackTrace();
    return false;
}

=======================================================================
==src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/filter.properties
=======================================================================
test.properties=foo

=======================================================================
==src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  <name>Parent</name>


  <!-- Purpose of this integration test: verify that filters can be defined within the plugin configuration -->
  <!-- (see MASSEMBLY-226 for further information)-->

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
          <filters>
            <filter>filter.properties</filter>
          </filters>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>filtered-assembly</id>
  <formats>
    <format>dir</format>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>src/config/file.txt</source>
      <filtered>true</filtered>
    </file>
  </files>
</assembly>

=======================================================================
==src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt
=======================================================================
${test.properties}
\${project.artifactId}

=======================================================================
==src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    File file = new File( basedir, "target/parent-1.0-filtered-assembly/file.txt");
    if(result) {
        BufferedReader r = new BufferedReader(new FileReader(file));
        String s = r.readLine();
        result = s.equals("foo");
        if(result) {
            s = r.readLine();
            if(!s.contains("\\"))
            {
                System.out.println("file.txt escaped filtering");
                return false;
            }
        }
    }
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>assembly-assembly-with-module-binaries</artifactId>
    <groupId>org.apache.maven.plugins.assembly.it</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>assembly-assembly-with-module-binaries</artifactId>
    <groupId>org.apache.maven.plugins.assembly.it</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>child2</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.apache.maven.plugins.assembly.it</groupId>
  <artifactId>assembly-assembly-with-module-binaries</artifactId>

  <version>1.0</version>

  <packaging>pom</packaging>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <outputFileNameMapping>${module.artifactId}.${module.extension}</outputFileNameMapping>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/test.properties
=======================================================================
descriptor=src/assemble/bin.xml

=======================================================================
==src/it/projects/forking-tests/assembly-assembly-with-module-binaries/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

try
{
    File zipFile = new File( basedir, "target/assembly-assembly-with-module-binaries-1.0-bin.zip" );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip-file is missing or a directory." );
        result = false;
    }
    
    ZipFile zf = new ZipFile( zipFile );
    
    if ( zf.getEntry( "assembly-assembly-with-module-binaries-1.0/modules/child1.jar" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    if ( zf.getEntry( "assembly-assembly-with-module-binaries-1.0/modules/child2.jar" ) == null )
    {
        System.err.println( "child2 entry is missing." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>assembly-attached-with-module-binaries</artifactId>
    <groupId>org.apache.maven.plugins.assembly.it</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>child1</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>assembly-attached-with-module-binaries</artifactId>
    <groupId>org.apache.maven.plugins.assembly.it</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>child2</artifactId>
  <name>Maven Quick Start Archetype</name>
  <version>1.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.apache.maven.plugins.assembly.it</groupId>
  <artifactId>assembly-attached-with-module-binaries</artifactId>

  <version>1.0</version>

  <packaging>pom</packaging>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <outputFileNameMapping>${module.artifactId}.${module.extension}</outputFileNameMapping>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/test.properties
=======================================================================
descriptor=src/assemble/bin.xml

=======================================================================
==src/it/projects/forking-tests/assembly-attached-with-module-binaries/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.zip.*;

boolean result = true;

try
{
    File zipFile = new File( basedir, "target/assembly-attached-with-module-binaries-1.0-bin.zip" );
    
    if ( !zipFile.exists() || zipFile.isDirectory() )
    {
        System.err.println( "zip-file is missing or a directory." );
        result = false;
    }
    
    ZipFile zf = new ZipFile( zipFile );
    
    if ( zf.getEntry( "assembly-attached-with-module-binaries-1.0/modules/child1.jar" ) == null )
    {
        System.err.println( "child1 entry is missing." );
        result = false;
    }
    
    if ( zf.getEntry( "assembly-attached-with-module-binaries-1.0/modules/child2.jar" ) == null )
    {
        System.err.println( "child2 entry is missing." );
        result = false;
    }
    
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/mojo-configuration/archiver-ignorePermissions/pom.xml
=======================================================================

<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1</version>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
              
              <!-- This is the key configuration for the test -->
              <ignorePermissions>true</ignorePermissions>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/assembly/bin.xml
=======================================================================
<assembly>
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <dependencySets>
    <dependencySet>
      <outputDirectory>lib</outputDirectory>
      <scope>test</scope>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <excludes>
        <exclude>target/**</exclude>
      </excludes>
      <fileMode>777</fileMode>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/mojo-configuration/archiver-ignorePermissions/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/archiver-ignorePermissions/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/archiver-ignorePermissions/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;
import java.util.*;
import java.net.*;

// minimal tests; the big thing here is that ignoring permissions doesn't stop the assembly from running...
File pom = new File( basedir, "target/parent-1-bin/parent-1/pom.xml" );

if ( !pom.exists() || !pom.isFile() )
{
  System.out.println( "POM was not included in assembly." );
  return false;
}

File junitJar = new File( basedir, "target/parent-1-bin/parent-1/lib/junit-3.8.1.jar" );
if ( !junitJar.exists() && !junitJar.isFile() )
{
  System.out.println( "JUnit jar was not included in assembly." );
  return false;
}

return true;

=======================================================================
==src/it/projects/mojo-configuration/ignoreDirFormatExtensions/pom.xml
=======================================================================

<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>ignoreDirFormatExtensions</artifactId>
  <packaging>jar</packaging>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>src</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
          <execution>
            <id>src2</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src2.xml</descriptor>
              </descriptors>
              <ignoreDirFormatExtensions>false</ignoreDirFormatExtensions>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <useDefaultExcludes>true</useDefaultExcludes>
      <excludes>
        <exclude>**/target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/assembly/src2.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src2</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <useDefaultExcludes>true</useDefaultExcludes>
      <excludes>
        <exclude>**/target/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/mojo-configuration/ignoreDirFormatExtensions/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/ignoreDirFormatExtensions/verify.bsh
=======================================================================
import java.io.*;

File src = new File( basedir, "target/ignoreDirFormatExtensions-1-src/pom.xml" );
File src2 = new File( basedir, "target/ignoreDirFormatExtensions-1-src2.dir/pom.xml" );

{
    File f = src;

    if ( !f.exists() )
    {
        System.out.println( "Project assembly directory is missing. Check-file was: " + f );
    }
}

{
    File f = src2;

    if ( !f.exists() )
    {
        System.out.println( "Project assembly directory is missing. Check-file was: " + f );
    }
}

return src.exists() && src2.exists();

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-customEntry/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>manifest-with-customEntry</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <archive>
                <manifest>
                  <mainClass>test.App</mainClass>
                </manifest>
                <manifestEntries>
                  <mode>development</mode>
                </manifestEntries>
              </archive>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-customEntry/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-customEntry/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-customEntry/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;
import java.util.*;
import java.net.*;

File file = new File( basedir, "target/manifest-with-customEntry-1-jar-with-dependencies.jar" );

System.out.println( "file: " + file + " exists? " + file.exists() );

JarFile jarFile = new JarFile( file );

Manifest mf = jarFile.getManifest();

Attributes attrs = mf.getMainAttributes();

String mode = (String) attrs.get( new Attributes.Name( "mode" ) );

System.out.println( "Got mode: " + mode );

return "development".equals( mode );

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-mainClass/pom.xml
=======================================================================
<project 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' xmlns='http://maven.apache.org/POM/4.0.0'>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>manifest-with-mainClass</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <archive>
                <manifest>
                  <mainClass>test.App</mainClass>
                </manifest>
              </archive>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/mojo-configuration/manifest-with-mainClass/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-mainClass/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/manifest-with-mainClass/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;
import java.util.*;
import java.net.*;

File file = new File( basedir, "target/manifest-with-mainClass-1-jar-with-dependencies.jar" );

System.out.println( "file: " + file + " exists? " + file.exists() );

JarFile jarFile = new JarFile( file );

Manifest mf = jarFile.getManifest();

Attributes attrs = mf.getMainAttributes();

String mainClass = (String) attrs.get( Attributes.Name.MAIN_CLASS );

System.out.println( "Got Main-Class: " + mainClass );

return "test.App".equals( mainClass );

=======================================================================
==src/it/projects/mojo-configuration/massembly-291/pom.xml
=======================================================================

<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>massembly-291</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src.xml</descriptor>
              </descriptors>
              <appendAssemblyId>false</appendAssemblyId>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-configuration/massembly-291/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>zip</format>
    <format>tar.gz</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <useDefaultExcludes>true</useDefaultExcludes>
      <excludes>
        <exclude>build.log</exclude>
        <exclude>${project.build.directory}/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/mojo-configuration/massembly-291/test.properties
=======================================================================
altDeploymentRepository=test::default::file://${project.build.directory}/deploy

=======================================================================
==src/it/projects/mojo-configuration/massembly-291/verify.bsh
=======================================================================
import java.io.*;

String base = "target/deploy/org/test/massembly-291/1/massembly-291-1";
File pom = new File( basedir, base + ".pom" );
File zip = new File( basedir, base + ".zip" );
File tgz = new File( basedir, base + ".tar.gz" );

{
    File f = pom;
    String type = "POM";

    if ( !f.exists() )
    {
        System.out.println( "Project " + type + " is missing in deployment repository. File was: " + f );
    }
}

{
    File f = zip;
    String type = "sources zip";

    if ( !f.exists() )
    {
        System.out.println( "Project " + type + " is missing in deployment repository. File was: " + f );
    }
}

{
    File f = tgz;
    String type = "sources tar.gz";

    if ( !f.exists() )
    {
        System.out.println( "Project " + type + " is missing in deployment repository. File was: " + f );
    }
}

return pom.exists() && zip.exists() && tgz.exists();

=======================================================================
==src/it/projects/mojo-configuration/massembly-301/pom.xml
=======================================================================

<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>massembly-301</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src.xml</descriptor>
              </descriptors>
              <appendAssemblyId>false</appendAssemblyId>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-configuration/massembly-301/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>zip</format>
    <format>tar.gz</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <useDefaultExcludes>true</useDefaultExcludes>
      <excludes>
        <exclude>build.log</exclude>
        <exclude>${project.build.directory}/**</exclude>
      </excludes>
    </fileSet>
  </fileSets>
</assembly>

=======================================================================
==src/it/projects/mojo-configuration/massembly-301/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/massembly-301/test.properties
=======================================================================
altDeploymentRepository=test::default::file://${project.build.directory}/deploy

=======================================================================
==src/it/projects/mojo-configuration/massembly-301/verify.bsh
=======================================================================
import java.io.*;

String base = "target/deploy/org/test/massembly-301/1/massembly-301-1";
File jar = new File( basedir, base + ".jar" );
File zip = new File( basedir, base + ".zip" );
File tgz = new File( basedir, base + ".tar.gz" );

{
    File f = jar;
    String type = "main jar";

    if ( !f.exists() )
    {
        System.out.println( "Project " + type + " is missing in deployment repository. File was: " + f );
    }
}

{
    File f = zip;
    String type = "sources zip";

    if ( !f.exists() )
    {
        System.out.println( "Project " + type + " is missing in deployment repository. File was: " + f );
    }
}

{
    File f = tgz;
    String type = "sources tar.gz";

    if ( !f.exists() )
    {
        System.out.println( "Project " + type + " is missing in deployment repository. File was: " + f );
    }
}

return jar.exists() && zip.exists() && tgz.exists();

=======================================================================
==src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/pom.xml
=======================================================================

<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>no-appendAssemblyId-no-classifier</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>${testVersion}</version>
      <type>maven-plugin</type>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <appendAssemblyId>false</appendAssemblyId>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

=======================================================================
==src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-configuration/no-appendAssemblyId-no-classifier/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;
import java.util.*;
import java.net.*;

File file = new File( basedir, "target/no-appendAssemblyId-no-classifier-1.jar" );

System.out.println( "file: " + file + " exists? " + file.exists() );

JarFile jarFile = new JarFile( file );

JarEntry entry = jarFile.getEntry( "org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.class" );

return entry != null;

=======================================================================
==src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/pom.xml
=======================================================================

<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>skipAssemblyCLIPropertySet</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/bin.xml</descriptor>
              </descriptors>
              <appendAssemblyId>false</appendAssemblyId>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  
  <dependencySets>
    <dependencySet>
    <unpack>true</unpack>
    </dependencySet>
  </dependencySets>
  
</assembly>

=======================================================================
==src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/test.properties
=======================================================================
assembly.skipAssembly=true

=======================================================================
==src/it/projects/mojo-configuration/skipAssemblyCLIPropertySet/verify.bsh
=======================================================================
import java.io.*;
import java.util.jar.*;
import java.util.*;
import java.net.*;

File file = new File( basedir, "target/skipAssemblyCLIPropertySet-1.zip" );

return !file.exists();

=======================================================================
==src/it/projects/mojo-tests/single-in-one-project-hierarchy/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>single-in-one-project-hierarchy</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>test</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-in-one-project-hierarchy/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-in-one-project-hierarchy/verify.bsh
=======================================================================
import java.io.File;

return new File( basedir, "target/single-in-one-project-hierarchy-1.0-SNAPSHOT-bin/lib/junit.jar" ).exists();

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>single-twice-in-multimodule-hierarchy</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  
  <artifactId>child1</artifactId>
  <packaging>jar</packaging>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>test</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>single-twice-in-multimodule-hierarchy</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>child2</artifactId>
  <packaging>jar</packaging>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>test</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/child2/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>single-twice-in-multimodule-hierarchy</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-multimodule-hierarchy/verify.bsh
=======================================================================
import java.io.File;

boolean result = true;

result = result && new File( basedir, "child1/target/child1-1.0-SNAPSHOT-bin/lib/junit.jar" ).exists();
result = result && new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin/lib/junit.jar" ).exists();

return result;

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>single-in-one-project-hierarchy</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>first-assembly</id>
            <phase>package</phase>
            <configuration>
              <finalName>first</finalName>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
          <execution>
            <id>second-assembly</id>
            <phase>package</phase>
            <configuration>
              <finalName>second</finalName>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <scope>test</scope>
      <outputDirectory>lib</outputDirectory>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
</assembly>

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/mojo-tests/single-twice-in-one-project-hierarchy/verify.bsh
=======================================================================
import java.io.File;

boolean result = true;

result = result && new File( basedir, "target/first-bin/lib/junit.jar" ).exists();
result = result && new File( basedir, "target/second-bin/lib/junit.jar" ).exists();

return result;

=======================================================================
==src/it/projects/multimodule/massembly-298/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>massembly-298</artifactId>
    <groupId>org.test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Child 1</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/massembly-298/child1/src/main/java/org/test/child1/App.java
=======================================================================
package org.test.child1;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/massembly-298/child1/src/main/java/org/test/child1/App2.java
=======================================================================
package org.test.child1;

/**
 * Hello world!
 *
 */
public class App2 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/massembly-298/child1/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/massembly-298/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>massembly-298</artifactId>
    <groupId>org.test</groupId>
    <version>1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <name>Child 2</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/massembly-298/child2/src/main/java/org/test/child2/App.java
=======================================================================
package org.test.child2;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/massembly-298/child2/src/main/java/org/test/other/App.java
=======================================================================
package org.test.other;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/massembly-298/child2/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/massembly-298/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>massembly-298</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <name>Parent</name>

  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/massembly-298/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>org.test:child1</include>
      </includes>
      <binaries>
        <outputDirectory>${artifact.artifactId}</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>true</unpack>
        <unpackOptions>
          <includes>
            <include>org/test/child1/App2*</include>
          </includes>
        </unpackOptions>
      </binaries>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.test:child2</include>
      </includes>
      <binaries>
        <outputDirectory>${artifact.artifactId}</outputDirectory>
        <includeDependencies>false</includeDependencies>
        <unpack>true</unpack>
        <unpackOptions>
          <excludes>
            <exclude>org/test/other/*</exclude>
          </excludes>
        </unpackOptions>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/massembly-298/verify.bsh
=======================================================================
import java.io.*;
import java.util.zip.*;

ZipFile zf = new ZipFile( new File( basedir, "target/massembly-298-1-bin.zip" ) );

ZipEntry child1InclEntry = zf.getEntry( "child1/org/test/child1/App2.class" );

if ( child1InclEntry == null )
{
    System.out.println( "Included file from child1 not found." );
    return false;
}

ZipEntry child1ExclEntry = zf.getEntry( "child1/org/test/child1/App.class" );

if ( child1ExclEntry != null )
{
    System.out.println( "Non-included file from child1 should not be present, but was found." );
    return false;
}

ZipEntry child2InclEntry = zf.getEntry( "child2/org/test/child2/App.class" );

if ( child2InclEntry == null )
{
    System.out.println( "Included file from child2 not found." );
    return false;
}

ZipEntry child2ExclEntry = zf.getEntry( "child2/org/test/other/App.class" );

if ( child2ExclEntry != null )
{
    System.out.println( "Non-included file from child2 should not be present, but was found." );
    return false;
}

return true;

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Child 1</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child1/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child1/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <name>Child 2</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child2/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child2/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child3/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child3</artifactId>
  <name>Child 3</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child3/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/child3/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  
  <name>Parent</name>

  <modules>
    <module>child1</module>
    <module>child2</module>
    <module>child3</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>org.test:child1</include>
        <include>org.test:child3</include>
      </includes>
      <binaries>
        <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
        <outputDirectory>lib</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/multimodule-binariesNotSource/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

result = result && new File( basedir, "target/parent-1.0-bin/lib/child1.jar" ).exists();
result = result && new File( basedir, "target/parent-1.0-bin/lib/child3.jar" ).exists();

result = result && !new File( basedir, "target/parent-1.0-bin/lib/child2.jar" ).exists();

return result;

=======================================================================
==src/it/projects/multimodule/multimodule-filteredFileSet/child/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>test</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
  </parent>
  
  <artifactId>child</artifactId>
  <name>Child</name>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-filteredFileSet/child/src/config/a/filtered.txt
=======================================================================
Java Version: ${java.version}

=======================================================================
==src/it/projects/multimodule/multimodule-filteredFileSet/child/verify.bsh
=======================================================================
import java.io.*;

try
{
  String javaVersion = System.getProperty( "java.version" );
  File a = new File( basedir, "target/parent-1.0-bin/a/filtered.txt");
  
  BufferedReader r = new BufferedReader(new FileReader(a));
  String line = r.readLine();
  if ( ! line.endsWith( javaVersion ) )
  {
    System.out.println( "Expected java version: " + javaVersion + "\nLine was: " + line );
    return false;
  }
}
catch( IOException e )
{
    e.printStackTrace();
}

return true;

=======================================================================
==src/it/projects/multimodule/multimodule-filteredFileSet/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1.0</version>
  
  <packaging>pom</packaging>
  <name>Parent</name>
  
  <modules>
    <module>child</module>
  </modules>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-filteredFileSet/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <moduleSets>
    <moduleSet>
      <sources>
        <fileSets>
          <fileSet>
            <directory>src/config/a</directory>
            <outputDirectory>a</outputDirectory>
            <filtered>true</filtered>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/multimodule-filteredFileSet/verify.bsh
=======================================================================
import java.io.*;

try
{
  String javaVersion = System.getProperty( "java.version" );
  File a = new File( basedir, "target/parent-1.0-bin/child/a/filtered.txt");
  
  BufferedReader r = new BufferedReader(new FileReader(a));
  String line = r.readLine();
  if ( ! line.endsWith( javaVersion ) )
  {
    System.out.println( "Expected java version: " + javaVersion + "\nLine was: " + line );
    return false;
  }
}
catch( IOException e )
{
    e.printStackTrace();
}

return true;

=======================================================================
==src/it/projects/multimodule/multimodule-modulePomPropInterp/child1/pom.xml
=======================================================================
<?xml version="1.0"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <artifactId>child1</artifactId>
  
  <properties>
    <foo>bar</foo>
  </properties>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-modulePomPropInterp/child1/src/main/resources/assembly-resources/test.txt
=======================================================================
Project Version: ${project.version}

=======================================================================
==src/it/projects/multimodule/multimodule-modulePomPropInterp/child2/pom.xml
=======================================================================
<?xml version='1.0'?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
  </parent>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>test</groupId>
      <artifactId>child1</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


=======================================================================
==src/it/projects/multimodule/multimodule-modulePomPropInterp/child2/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <useAllReactorProjects>true</useAllReactorProjects>
      
      <includes>
        <include>test:child1</include>
      </includes>
      <binaries>
        <outputDirectory>${module.properties.foo}/${module.artifactId}</outputDirectory>
        <dependencySets>
          <dependencySet>
            <useProjectArtifact>true</useProjectArtifact>
          </dependencySet>
        </dependencySets>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/multimodule-modulePomPropInterp/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1</version>
  
  <modules>
    <module>child1</module>
    <module>child2</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-modulePomPropInterp/verify.bsh
=======================================================================
import java.io.*;

File f = new File( basedir, "child2/target/child2-1-bin/bar/child1" );
return f.exists() && f.isDirectory();

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child1</artifactId>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/child1/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/child1/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>test</groupId>
    <version>1</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>child2</artifactId>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/child2/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/child2/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/parent/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  
  <groupId>test</groupId>
  <artifactId>parent</artifactId>
  <version>1</version>
  
  <packaging>pom</packaging>
  
  <modules>
    <module>../child1</module>
    <module>../child2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/src.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/parent/src/assemble/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>test:child1</include>
        <include>test:child2</include>
      </includes>
      <sources>
        <includeModuleDirectory>false</includeModuleDirectory>
        <fileSets>
          <fileSet>
            <outputDirectory>sources/${artifact.artifactId}</outputDirectory>
            <directory>.</directory>
            <excludes>
              <exclude>target/**</exclude>
              <exclude>**/*~</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/multimodule-siblingParent/parent/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

result = result && new File( basedir, "target/parent-1-src/sources/child1/pom.xml" ).exists();

result = result && new File( basedir, "target/parent-1-src/sources/child2/pom.xml" ).exists();

return result;

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Child 1</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child1/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <name>Child 2</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child2/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child3</artifactId>
  <name>Child 3</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/child3/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  
  <name>Parent</name>

  <modules>
    <module>child1</module>
    <module>child2</module>
    <module>child3</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>package</id>
            <phase>package</phase>
            <goals>
              <goal>directory-inline</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/src/assemble/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>org.test:child1</include>
        <include>org.test:child3</include>
      </includes>
      <sources>
        <includeModuleDirectory>false</includeModuleDirectory>
        <fileSets>
          <fileSet>
            <outputDirectory>sources/${artifact.artifactId}</outputDirectory>
            <directory>.</directory>
            <excludes>
              <exclude>target/**</exclude>
              <exclude>**/*~</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/multimodule-sourceNotBinaries/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

result = result && new File( basedir, "target/parent-1.0-src/sources/child1/pom.xml" ).exists();

result = result && !new File( basedir, "target/parent-1.0-src/sources/child2/pom.xml" ).exists();

return result;

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child1</artifactId>
  <name>Child 1</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child1/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child2</artifactId>
  <name>Child 2</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child2/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child3</artifactId>
  <name>Child 3</name>
  <version>1.0</version>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/src/main/java/org/test/App.java
=======================================================================
package org.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child3/src/test/java/org/test/AppTest.java
=======================================================================
package org.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child4/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>org.test</groupId>
    <version>1.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child4</artifactId>
  <name>Child 4 - Assembler</name>
  <version>1.0</version>

  <!-- Used to ensure this child is sorted LAST.
       NOT used by the assembly descriptor! -->
  <dependencies>
    <dependency>
      <groupId>org.test</groupId>
      <artifactId>child1</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>org.test</groupId>
      <artifactId>child2</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>org.test</groupId>
      <artifactId>child3</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bin.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/child4/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <!-- This is the key to this configuration -->
      <useAllReactorProjects>true</useAllReactorProjects>
      
      <includes>
        <include>org.test:child1</include>
        <include>org.test:child3</include>
      </includes>
      <binaries>
        <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
        <outputDirectory>lib</outputDirectory>
        <includeDependencies>true</includeDependencies>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>org.test</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  
  <name>Parent</name>

  <modules>
    <module>child1</module>
    <module>child2</module>
    <module>child3</module>
    <module>child4</module>
  </modules>

</project>

=======================================================================
==src/it/projects/multimodule/multimodule-wholeReactorFromChild/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

if ( !new File( basedir, "child4/target/child4-1.0-bin/lib/child1.jar" ).exists() )
{
    System.out.println( "Child-1 jar is NOT in output!" );
    result = false;
}

if ( !new File( basedir, "child4/target/child4-1.0-bin/lib/child3.jar" ).exists() )
{
    System.out.println( "Child-3 jar is NOT in output!" );
    result = false;
}

if ( new File( basedir, "child4/target/child4-1.0-bin/lib/child2.jar" ).exists() )
{
    System.out.println( "Child-2 jar SHOULD NOT BE in output!" );
    result = false;
}

return result;

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>child-level1-project2</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level2-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/child-level1-project2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level2-project1</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>two-level-multimodule</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level1-project1</module>
    <module>child-level1-project2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    result = new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-bin/modules/child-level1-project1-1.0-SNAPSHOT.jar" ).exists();   
    result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-bin/modules/child-level2-project1-1.0-SNAPSHOT.jar" ).exists();   
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>child-level1-project2</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level2-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/child-level1-project2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level2-project1</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>two-level-multimodule</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level1-project1</module>
    <module>child-level1-project2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includeSubModules>false</includeSubModules>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/two-level-multimodule-dontIncludeSubModules/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

try
{
    result = new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-bin/modules/child-level1-project1-1.0-SNAPSHOT.jar" ).exists();   

    result = result && !new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-bin/modules/child-level2-project1-1.0-SNAPSHOT.jar" ).exists();   
}
catch( IOException e )
{
    e.printStackTrace();
    result = false;
}

return result;

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-levels-includeBaseDir-withBin</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>child-level1-project2</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level2-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/child-level1-project2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-levels-includeBaseDir-withBin</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level2-project1</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>two-levels-includeBaseDir-withBin</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level1-project1</module>
    <module>child-level1-project2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/src/assemble/bin.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <binaries>
        <outputDirectory>modules</outputDirectory>
        <unpack>false</unpack>
      </binaries>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withBin/verify.bsh
=======================================================================
import java.io.*;

boolean result = true;

String finalName = "two-levels-includeBaseDir-withBin-1.0-SNAPSHOT";
String rootDir = "target/" + finalName + "-bin/" + finalName + "/modules/";

result = result && new File( basedir, rootDir + "child-level1-project1-1.0-SNAPSHOT.jar" ).exists();   

result = result && new File( basedir, rootDir + "child-level2-project1-1.0-SNAPSHOT.jar" ).exists();   

return result;

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-levels-includeBaseDir-withSrc</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>child-level1-project2</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level2-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/child-level2-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/child-level1-project2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-levels-includeBaseDir-withSrc</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level2-project1</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>two-levels-includeBaseDir-withSrc</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level1-project1</module>
    <module>child-level1-project2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/src/assemble/src.xml
=======================================================================

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>true</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includeSubModules>true</includeSubModules>

      <sources>
        <excludeSubModuleDirectories>true</excludeSubModuleDirectories>
        <includeModuleDirectory>true</includeModuleDirectory>
        <outputDirectoryMapping>modules/${module.artifactId}</outputDirectoryMapping>

        <fileSets>
          <fileSet>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>**/.svn/**</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/two-levels-includeBaseDir-withSrc/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

String finalName = "two-levels-includeBaseDir-withSrc-1.0-SNAPSHOT";
String rootDir = "target/" + finalName + "-src/" + finalName + "/modules/";

result = result && new File( basedir, rootDir + "child-level1-project1/pom.xml" ).exists();   

result = result && new File( basedir, rootDir + "child-level1-project2/pom.xml" ).exists();   

result = result && new File( basedir, rootDir + "child-level2-project1/pom.xml" ).exists();   

return result;

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>child-level1-project2</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level2-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/src/main/java/test/App2.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App2 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/child-level2-project1/src/test/java/test/App2Test.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App2.
 */
public class App2Test 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public App2Test( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( App2Test.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp2()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/child-level1-project2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level2-project1</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>two-level-multimodule</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level1-project1</module>
    <module>child-level1-project2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <includeSubModules>false</includeSubModules>
      <sources>
        <excludeSubModuleDirectories>false</excludeSubModuleDirectories>
        <fileSets>
          <fileSet>
            <excludes>
              <exclude>**/.svn</exclude>
              <exclude>**/target</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/twoLevel-dontIncludeSubModules-artifactIdExprOutDir/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project1/pom.xml" ).exists();   

result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project2/pom.xml" ).exists();   

result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project2/child-level2-project1/pom.xml" ).exists();   

return result;

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project1/src/test/java/test/AppTest.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/pom.xml
=======================================================================
<?xml version="1.0"?><project>
  <parent>
    <artifactId>child-level1-project2</artifactId>
    <groupId>test</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level2-project1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/src/main/java/test/App2.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App2 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/child-level2-project1/src/test/java/test/App2Test.java
=======================================================================
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App2.
 */
public class App2Test 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public App2Test( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( App2Test.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp2()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/child-level1-project2/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <parent>
    <groupId>test</groupId>
    <artifactId>two-level-multimodule</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
    <artifactId>child-level1-project2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level2-project1</module>
  </modules>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <groupId>test</groupId>
  <artifactId>two-level-multimodule</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>pom</packaging>

  <modules>
    <module>child-level1-project1</module>
    <module>child-level1-project2</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/src/main/assembly/src.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>src</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <moduleSets>
    <moduleSet>
      <sources>
        <fileSets>
          <fileSet>
            <excludes>
              <exclude>**/.svn</exclude>
              <exclude>target/**</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
  </moduleSets>
</assembly>

=======================================================================
==src/it/projects/multimodule/twoLevel-includeSubModules-excludeSubModuleSourceDirs/verify.bsh
=======================================================================
import java.io.*;
import java.net.*;
import java.util.jar.*;

boolean result = true;

result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project1/pom.xml" ).exists();   

result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project2/pom.xml" ).exists();   

result = result && new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level2-project1/pom.xml" ).exists();   

result = result && !new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project2/child-level2-project1/pom.xml" ).exists();   

result = result && !new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project1/target" ).exists();   

result = result && !new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level1-project2/target" ).exists();   

result = result && !new File( basedir, "target/two-level-multimodule-1.0-SNAPSHOT-src/child-level2-project1/target" ).exists();   

return result;

=======================================================================
==src/it/projects/repositories/basic-repository/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>

    <artifactId>repository-assembly</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptor>src/assemble/bin.xml</descriptor>
          <finalName>assembly</finalName>        
        </configuration>

        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

=======================================================================
==src/it/projects/repositories/basic-repository/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <repositories>
    <repository>
      <outputDirectory>repo</outputDirectory>
      <scope>test</scope>
      <includes>
        <include>junit:junit</include>
      </includes>
    </repository>
  </repositories>
</assembly>

=======================================================================
==src/it/projects/repositories/basic-repository/src/main/java/org/apache/maven/plugin/assembly/test/App.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/repositories/basic-repository/src/test/java/org/apache/maven/plugin/assembly/test/AppTest.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/repositories/basic-repository/verify.bsh
=======================================================================
import java.io.*;

File junitJar = new File( basedir, "target/assembly-bin/repo/junit/junit/3.8.1/junit-3.8.1.jar" );

return junitJar.exists();


=======================================================================
==src/it/projects/repositories/massembly-196/pom.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>
  
  <artifactId>massembly-196</artifactId>
  <packaging>jar</packaging>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.3</version>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>single-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

=======================================================================
==src/it/projects/repositories/massembly-196/src/main/assembly/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <repositories>
    <repository>
      <includeMetadata>true</includeMetadata>
      <outputDirectory>repo</outputDirectory>
      <groupVersionAlignments>
        <groupVersionAlignment>
          <id>org.apache.maven.plugins</id>
          <version>2.0</version>
          <excludes>
            <exclude>maven-surefire-plugin</exclude>
          </excludes>
        </groupVersionAlignment>
      </groupVersionAlignments>
    </repository>
  </repositories>
</assembly>

=======================================================================
==src/it/projects/repositories/massembly-196/src/main/java/test/App.java
=======================================================================
package test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/repositories/massembly-196/verify.bsh
=======================================================================
import java.io.File;

File jarPlugin = new File( basedir, "target/massembly-196-1-bin/repo/org/apache/maven/plugins/maven-jar-plugin/2.0/maven-jar-plugin-2.0.jar" );
File surefirePlugin = new File( basedir, "target/massembly-196-1-bin/repo/org/apache/maven/plugins/maven-surefire-plugin/2.3/maven-surefire-plugin-2.3.jar" );

if ( !jarPlugin.exists() )
{
    System.out.println( "Cannot find jar plugin at: " + jarPlugin );
    System.out.println( "jar plugin should have been relocated to version 2.0" );
}

if ( !surefirePlugin.exists() )
{
    System.out.println( "Cannot find surefire plugin at: " + surefirePlugin );
    System.out.println( "surefire plugin should NOT have been relocated to 2.0" );
}

return jarPlugin.exists() && surefirePlugin.exists();

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/child/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>repo-with-snapshot-parents</artifactId>
    <version>1-SNAPSHOT</version>
  </parent>
  <artifactId>child</artifactId>
  <packaging>jar</packaging>
  
  <repositories>
    <repository>
      <id>my.remote</id>
      <url>file://${basedir}/remote-repository</url>
    </repository>
  </repositories>
  
  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>1.4.3</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptor>src/assemble/bin.xml</descriptor>
          <finalName>assembly</finalName>        
        </configuration>

        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/child/remote-repository/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.pom
=======================================================================
<?xml version="1.0" encoding="UTF-8"?><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">
  <parent>
    <artifactId>plexus</artifactId>
    <groupId>org.codehaus.plexus</groupId>
    <version>1.0.11</version>
    <relativePath>../pom/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>plexus-utils</artifactId>
  <name>Plexus Common Utilities</name>
  <version>1.4.3-SNAPSHOT</version>
  <url>http://plexus.codehaus.org/plexus-utils</url>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <!-- surefire requires plexus-utils to be jdk 1.3 compatible -->
          <source>1.3</source>
          <target>1.3</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <!-- required to ensure the test classes are used, not surefire's plexus-utils -->
          <childDelegation>true</childDelegation>
          <excludes>
            <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
            <exclude>**/Test*.java</exclude>
          </excludes>
          <systemProperties>
            <property>
              <name>JAVA_HOME</name>
              <value>${JAVA_HOME}</value>    
            </property>
            <property>
              <name>M2_HOME</name>
              <value>${M2_HOME}</value>    
            </property>                      
          </systemProperties>          
        </configuration>
      </plugin>
    </plugins>
  </build>
  <scm> 
    <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/trunk/</connection>
    <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/trunk</developerConnection> 
    <url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/trunk/</url>
  </scm>

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/child/src/assemble/bin.xml
=======================================================================
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>bin</id>
  <formats>
    <format>dir</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <repositories>
    <repository>
      <outputDirectory>repo</outputDirectory>
      <scope>test</scope>
      <includes>
        <include>junit:junit</include>
      </includes>
    </repository>
  </repositories>
</assembly>

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/child/src/main/java/org/apache/maven/plugin/assembly/test/App.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/child/src/test/java/org/apache/maven/plugin/assembly/test/AppTest.java
=======================================================================
package org.apache.maven.plugin.assembly.test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/pom.xml
=======================================================================
<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>
  <parent>
    <groupId>org.apache.maven.plugin.assembly.test</groupId>
    <artifactId>it-project-parent</artifactId>
    <version>1</version>
  </parent>

    <artifactId>repo-with-snapshot-parents</artifactId>
  <packaging>pom</packaging>
  <version>1-SNAPSHOT</version>
  
  <modules>
    <module>child</module>
  </modules>
</project>

=======================================================================
==src/it/projects/repositories/repo-with-snapshot-parents/verify.bsh
=======================================================================
import java.io.*;

File junitJar = new File( basedir, "child/target/assembly-bin/repo/junit/junit/3.8.1/junit-3.8.1.jar" );
boolean junitExists = junitJar.exists();

File plexusUtilsJar = new File( basedir, "child/target/assembly-bin/repo/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.jar" );
boolean puJarExists = plexusUtilsJar.exists();

File plexusUtilsPom = new File( basedir, "child/target/assembly-bin/repo/org/codehaus/plexus/plexus-utils/1.4.3-SNAPSHOT/plexus-utils-1.4.3-SNAPSHOT.pom" );
boolean puPomExists = plexusUtilsPom.exists();

File plexusPom = new File( basedir, "child/target/assembly-bin/repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom" );
boolean plexusPomExists = plexusPom.exists();

File parentPom = new File( basedir, "child/target/assembly-bin/repo/org/apache/maven/plugin/assembly/test/repo-with-snapshot-parents/1-SNAPSHOT/repo-with-snapshot-parents-1-SNAPSHOT.pom" );
boolean plexusPomExists = plexusPom.exists();

return junitExists && puJarExists && puPomExists && plexusPomExists && parentPomExists;

=======================================================================
==src/site/resources/architecture/assembly-plugin-architecture-notes.html/index.html
=======================================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<style type="text/css">
    
    th {
        vertical-align: bottom;
        
    }
    
    td,th {
        /* Cheating here so we can get a default font and size. If it's set in the outline then it'll get redeclared below
           and overwritten (hopefully).
        */
        font-family: Helvetica, sans-serif;
        font-size: 12px;
        

        empty-cells: show;
    }

    /* Level Styles */
    
    .wholeDocument {
        
    }
    
    .columntitle { 
        text-decoration: underline;font-weight: 900;  
    }

    .level1 { 
        color:rgb(161,100,45) ;  background-color:rgb(191,191,191) ;  font-weight: 800;  font-size: 14px;
    }

    .level2 { 
        font-weight: 900;  
    }


    td.subcell {
        border: none;
    }

    .indicator {
        white-space: nowrap;
        text-align:right;
        margin-right: 2px;

=======================================================================
==src/test/resources/assemblies/empty.xml
=======================================================================