Full Code of apache/maven-shade-plugin for AI

master e41b8368ed9a cached
543 files
1.2 MB
310.8k tokens
702 symbols
1 requests
Download .txt
Showing preview only (1,406K chars total). Download the full file or copy to clipboard to get everything.
Repository: apache/maven-shade-plugin
Branch: master
Commit: e41b8368ed9a
Files: 543
Total size: 1.2 MB

Directory structure:
gitextract_9k9omgyv/

├── .asf.yaml
├── .git-blame-ignore-revs
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── BUG.yml
│   │   ├── FEATURE.yml
│   │   └── config.yml
│   ├── dependabot.yml
│   ├── pull_request_template.md
│   ├── release-drafter.yml
│   └── workflows/
│       ├── maven-verify.yml
│       ├── pr-automation.yml
│       ├── release-drafter.yml
│       └── stale.yml
├── .gitignore
├── Jenkinsfile
├── LICENSE
├── README.md
├── pom.xml
└── src/
    ├── it/
    │   ├── MSHADE-321_respectDrpFlag/
    │   │   ├── pom.xml
    │   │   ├── repo/
    │   │   │   └── org/
    │   │   │       └── apache/
    │   │   │           └── maven/
    │   │   │               └── its/
    │   │   │                   └── shade/
    │   │   │                       └── drp/
    │   │   │                           └── a/
    │   │   │                               └── 0.1/
    │   │   │                                   ├── a-0.1.jar
    │   │   │                                   └── a-0.1.pom
    │   │   └── verify.groovy
    │   ├── mrm/
    │   │   ├── repository/
    │   │   │   ├── MSHADE-247/
    │   │   │   │   ├── mshade-247-one-0.1-sources.jar/
    │   │   │   │   │   └── org/
    │   │   │   │   │       └── apache/
    │   │   │   │   │           └── maven/
    │   │   │   │   │               └── its/
    │   │   │   │   │                   └── shade/
    │   │   │   │   │                       └── csj/
    │   │   │   │   │                           └── Test.java
    │   │   │   │   ├── mshade-247-one-0.1.pom
    │   │   │   │   └── mshade-247-two-0.1.pom
    │   │   │   ├── artifact-includes-excludes/
    │   │   │   │   ├── a-0.1.jar/
    │   │   │   │   │   └── a.properties
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2.jar/
    │   │   │   │   │   └── b.properties
    │   │   │   │   └── b-0.2.pom
    │   │   │   ├── dep-reduced-pom/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2-client.jar/
    │   │   │   │   │   └── b-client.properties
    │   │   │   │   ├── b-0.2.pom
    │   │   │   │   └── c-1.pom
    │   │   │   ├── dep-reduced-pom-artifactset-provided-excludes/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.1.pom
    │   │   │   │   ├── c-0.1.pom
    │   │   │   │   ├── d-0.1.pom
    │   │   │   │   └── e-0.1.pom
    │   │   │   ├── dep-reduced-pom-exclusions/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2-alt.jar/
    │   │   │   │   │   └── b-alt.properties
    │   │   │   │   ├── b-0.2.pom
    │   │   │   │   └── c-1.pom
    │   │   │   ├── dep-reduced-pom-unique/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2.pom
    │   │   │   │   └── c-1.pom
    │   │   │   ├── dep-reduced-pom-use-base-version/
    │   │   │   │   ├── a-0.1-20130115.024354-82.pom
    │   │   │   │   └── maven-metadata.xml
    │   │   │   ├── filter-artifact-contents/
    │   │   │   │   ├── a-0.1.jar/
    │   │   │   │   │   ├── META-INF/
    │   │   │   │   │   │   └── maven/
    │   │   │   │   │   │       └── org.apache.maven.its.shade.fac/
    │   │   │   │   │   │           └── a/
    │   │   │   │   │   │               └── pom.properties
    │   │   │   │   │   ├── a.properties
    │   │   │   │   │   └── org/
    │   │   │   │   │       ├── a.properties
    │   │   │   │   │       └── apache/
    │   │   │   │   │           ├── a.properties
    │   │   │   │   │           └── maven/
    │   │   │   │   │               └── a.properties
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.1-client.jar/
    │   │   │   │   │   ├── META-INF/
    │   │   │   │   │   │   └── maven/
    │   │   │   │   │   │       └── org.apache.maven.its.shade.fac/
    │   │   │   │   │   │           └── b/
    │   │   │   │   │   │               └── pom.properties
    │   │   │   │   │   ├── b.properties
    │   │   │   │   │   └── org/
    │   │   │   │   │       ├── apache/
    │   │   │   │   │       │   ├── b.properties
    │   │   │   │   │       │   └── maven/
    │   │   │   │   │       │       ├── b/
    │   │   │   │   │       │       │   └── b.properties
    │   │   │   │   │       │       └── b.properties
    │   │   │   │   │       └── b.properties
    │   │   │   │   └── b-0.1.pom
    │   │   │   ├── non-runtime-scope-excluded/
    │   │   │   │   ├── compile-1.0.jar/
    │   │   │   │   │   └── compile.properties
    │   │   │   │   ├── compile-1.0.pom
    │   │   │   │   ├── provided-1.0.jar/
    │   │   │   │   │   └── provided.properties
    │   │   │   │   ├── provided-1.0.pom
    │   │   │   │   ├── runtime-1.0.jar/
    │   │   │   │   │   └── runtime.properties
    │   │   │   │   ├── runtime-1.0.pom
    │   │   │   │   ├── test-1.0.jar/
    │   │   │   │   │   └── test.properties
    │   │   │   │   └── test-1.0.pom
    │   │   │   ├── plugin-descriptor-relocation/
    │   │   │   │   └── comp-0.1.pom
    │   │   │   ├── services-resource-transformer/
    │   │   │   │   ├── one-0.1.jar/
    │   │   │   │   │   └── META-INF/
    │   │   │   │   │       └── services/
    │   │   │   │   │           └── org.apache.maven.Shade
    │   │   │   │   ├── one-0.1.pom
    │   │   │   │   ├── two-0.1.jar/
    │   │   │   │   │   └── META-INF/
    │   │   │   │   │       └── services/
    │   │   │   │   │           └── org.apache.maven.Shade
    │   │   │   │   └── two-0.1.pom
    │   │   │   └── services-resource-transformer-with-reloc-includes-excludes/
    │   │   │       ├── mshade-237-one-0.1.jar/
    │   │   │       │   └── META-INF/
    │   │   │       │       └── services/
    │   │   │       │           └── org.apache.maven.shade
    │   │   │       ├── mshade-237-one-0.1.pom
    │   │   │       ├── mshade-237-two-0.1.jar/
    │   │   │       │   └── META-INF/
    │   │   │       │       └── services/
    │   │   │       │           └── org.apache.maven.shade
    │   │   │       └── mshade-237-two-0.1.pom
    │   │   └── settings.xml
    │   └── projects/
    │       ├── MSHADE-105/
    │       │   ├── bundle/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── test/
    │       │   │                   └── Dummy.java
    │       │   ├── pom.xml
    │       │   ├── shaded-jar/
    │       │   │   └── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-114/
    │       │   └── pom.xml
    │       ├── MSHADE-133/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           ├── logback.xml
    │       │   │           └── myConfig.yml
    │       │   └── verify.groovy
    │       ├── MSHADE-155/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-182/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── services/
    │       │   │                   └── relocateme.Service
    │       │   └── verify.groovy
    │       ├── MSHADE-183/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-185/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-232_ResourceBundleAppendingTransformer/
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── resources/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       ├── Message.properties
    │       │   │                                       └── Message_nl.properties
    │       │   ├── pom.xml
    │       │   ├── two/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── resources/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       ├── Message.properties
    │       │   │                                       └── Message_nl.properties
    │       │   └── verify.groovy
    │       ├── MSHADE-239_finalName-attachments/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-240_reloc-mavenfiles/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-247/
    │       │   └── pom.xml
    │       ├── MSHADE-258_module_relocation/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-260-reloc-serialized-lambda/
    │       │   ├── README.txt
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── its/
    │       │   │                           └── shade/
    │       │   │                               └── reloc/
    │       │   │                                   └── lambda/
    │       │   │                                       ├── DataHolder.java
    │       │   │                                       ├── Main.java
    │       │   │                                       ├── MapFunction.java
    │       │   │                                       └── Processor.java
    │       │   └── verify.groovy
    │       ├── MSHADE-284_shadeTestJar/
    │       │   ├── api/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   ├── java/
    │       │   │       │   │   └── Api.java
    │       │   │       │   └── resources/
    │       │   │       │       └── api-resource.txt
    │       │   │       └── test/
    │       │   │           ├── java/
    │       │   │           │   └── ApiTest.java
    │       │   │           └── resources/
    │       │   │               └── api-test-resource.txt
    │       │   ├── impl/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   ├── java/
    │       │   │       │   │   └── Impl.java
    │       │   │       │   └── resources/
    │       │   │       │       └── impl-resource.txt
    │       │   │       └── test/
    │       │   │           ├── java/
    │       │   │           │   └── ImplTest.java
    │       │   │           └── resources/
    │       │   │               └── impl-test-resource.txt
    │       │   ├── pom.xml
    │       │   ├── uber/
    │       │   │   └── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-285_createTestSourcesJar/
    │       │   ├── api/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Api.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ApiTest.java
    │       │   ├── impl/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Impl.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ImplTest.java
    │       │   ├── pom.xml
    │       │   ├── uber/
    │       │   │   └── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-313_minimized-services/
    │       │   ├── dependency-service/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── DependencyReferencedClass.java
    │       │   │           │   ├── DependencyServiceClass.java
    │       │   │           │   ├── DependencyServiceInterface.java
    │       │   │           │   └── DependencyUnreferencedClass.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── services/
    │       │   │                       └── DependencyServiceInterface
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── test/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── Main.java
    │       │   ├── unused-service/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── UnusedServiceClass.java
    │       │   │           │   └── UnusedServiceInterface.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── services/
    │       │   │                       └── UnusedServiceInterface
    │       │   ├── used-service/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── SomeReferencedClass.java
    │       │   │           │   ├── SomeServiceClass.java
    │       │   │           │   ├── SomeServiceInterface.java
    │       │   │           │   └── SomeUnreferencedClass.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── services/
    │       │   │                       └── SomeServiceInterface
    │       │   └── verify.bsh
    │       ├── MSHADE-316/
    │       │   ├── dependency/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               ├── SomeUnusedClass.java
    │       │   │               ├── SomeUsedClass.java
    │       │   │               └── x/
    │       │   │                   └── y/
    │       │   │                       └── z/
    │       │   │                           ├── AnotherExemptedClass.java
    │       │   │                           ├── SomeDependencyOfExemptedClass.java
    │       │   │                           └── SomeExemptedClass.java
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── test/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── Main.java
    │       │   └── verify.bsh
    │       ├── MSHADE-340_shadedTestJarArtifactAttached/
    │       │   ├── api/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Api.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ApiTest.java
    │       │   ├── impl/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Impl.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ImplTest.java
    │       │   ├── pom.xml
    │       │   ├── uber/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Uber.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── UberTest.java
    │       │   ├── uber-user/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── UberUser.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── UberUserTest.java
    │       │   └── verify.groovy
    │       ├── MSHADE-351/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-36-inject-dep-reduced-pom-in-final/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── com/
    │       │   │               └── example/
    │       │   │                   └── Main.java
    │       │   └── verify.bsh
    │       ├── MSHADE-363_old-Transformer/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── resources/
    │       │               └── Message.properties
    │       ├── MSHADE-363_old-plugin/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── resources/
    │       │               └── Message.properties
    │       ├── MSHADE-373/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-382_skip_execution/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-390-sisu-index/
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── one/
    │       │   │           │               └── One.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── sisu/
    │       │   │                       └── javax.inject.Named
    │       │   ├── pom.xml
    │       │   ├── two/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── two/
    │       │   │           │               └── Two.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── sisu/
    │       │   │                       └── javax.inject.Named
    │       │   └── verify.groovy
    │       ├── MSHADE-391_noRelocationKeepOriginalClasses/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-400_self-minimized-services/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       ├── java/
    │       │   │       │   └── org/
    │       │   │       │       └── acme/
    │       │   │       │           ├── Application.java
    │       │   │       │           ├── UnusedClass.java
    │       │   │       │           ├── UnusedService.java
    │       │   │       │           ├── UnusedServiceImplA.java
    │       │   │       │           ├── UnusedServiceImplB.java
    │       │   │       │           ├── UsedClass.java
    │       │   │       │           ├── UsedService.java
    │       │   │       │           ├── UsedServiceUnusedImpl.java
    │       │   │       │           └── UsedServiceUsedImpl.java
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── services/
    │       │   │                   ├── org.acme.UnusedService
    │       │   │                   └── org.acme.UsedService
    │       │   └── verify.bsh
    │       ├── MSHADE-413-parallel/
    │       │   ├── invoker.properties
    │       │   ├── p1/
    │       │   │   └── pom.xml
    │       │   ├── p2/
    │       │   │   └── pom.xml
    │       │   └── pom.xml
    │       ├── MSHADE-420/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── verify.groovy
    │       │   └── zipdetails.txt
    │       ├── MSHADE-462/
    │       │   ├── all/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── one/
    │       │   │                           └── One.java
    │       │   └── pom.xml
    │       ├── MSHADE-467_parallel-dependency-reduced-pom/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── shadeMT1/
    │       │   │   └── pom.xml
    │       │   ├── shadeMT2/
    │       │   │   └── pom.xml
    │       │   ├── shadeMT3/
    │       │   │   └── pom.xml
    │       │   ├── shadeMT4/
    │       │   │   └── pom.xml
    │       │   └── verify.groovy
    │       ├── artifact-includes-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── attach-after-lifecycle-fork/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   └── verify.bsh
    │       ├── attached-artifact-type/
    │       │   ├── consumer/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── shade/
    │       │       ├── pom.xml
    │       │       └── src/
    │       │           └── main/
    │       │               └── resources/
    │       │                   └── META-INF/
    │       │                       └── ejb-jar.xml
    │       ├── component-descriptor-relocation/
    │       │   ├── app/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── Main.java
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── test/
    │       │   │           │                   └── TestComponent.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── plexus/
    │       │   │                       └── components.xml
    │       │   ├── lib/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── component/
    │       │   │           │                   ├── api/
    │       │   │           │                   │   └── Component.java
    │       │   │           │                   └── impl/
    │       │   │           │                       └── DefaultComponent.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── plexus/
    │       │   │                       └── components.xml
    │       │   └── pom.xml
    │       ├── dep-reduced-pom/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-artifactset-provided-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-exclusions/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-relocated-result/
    │       │   ├── child/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── dep-reduced-pom-unique/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-use-base-version/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-with-local-parent/
    │       │   ├── child/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── duplicate-classes-with-reloc/
    │       │   ├── app/
    │       │   │   └── pom.xml
    │       │   ├── libs/
    │       │   │   ├── a-0.1.pom
    │       │   │   ├── b-0.1.pom
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── its/
    │       │   │                               └── shade/
    │       │   │                                   ├── MyInterface.java
    │       │   │                                   └── impl/
    │       │   │                                       └── MyImpl.java
    │       │   └── pom.xml
    │       ├── duplicate-classes-without-reloc/
    │       │   ├── app/
    │       │   │   └── pom.xml
    │       │   ├── libs/
    │       │   │   ├── a-0.1.pom
    │       │   │   ├── b-0.1.pom
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── its/
    │       │   │           │                   └── shade/
    │       │   │           │                       ├── MyInterface.java
    │       │   │           │                       └── impl/
    │       │   │           │                           └── MyImpl.java
    │       │   │           └── resources/
    │       │   │               └── some-ordinary-resource.txt
    │       │   └── pom.xml
    │       ├── empty-apache-notice-transform/
    │       │   └── pom.xml
    │       ├── empty-relocation-pattern/
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── empty-relocation-shaded-pattern/
    │       │   └── pom.xml
    │       ├── extrajar/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── extrajar-missing-file/
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── filter-artifact-contents/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── finalNameBuild/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── finalNameBuild-attached/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── finalNameShade/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── finalNameShade-attached/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── implicit-inclusion-of-project-artifact/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Passed.java
    │       │   └── verify.bsh
    │       ├── manifest-retained/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── manifest-transformed/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── mini-jar/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Main.java
    │       │   └── verify.bsh
    │       ├── mini-jar-jdk11+/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Main.java
    │       │   └── verify.bsh
    │       ├── mini-jar-malformed-dependencies/
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── mini-jar-package-info/
    │       │   ├── invoker.properties
    │       │   ├── jar-with-package-info/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── it/
    │       │   │                               └── pi/
    │       │   │                                   ├── HaveOneClass.java
    │       │   │                                   ├── TestPackageAnnotation.java
    │       │   │                                   └── package-info.java
    │       │   ├── pom.xml
    │       │   ├── test/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── it/
    │       │   │                               └── pi/
    │       │   │                                   └── Main.java
    │       │   └── verify.bsh
    │       ├── mini-jar-respect-includes/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Main.java
    │       │   └── verify.bsh
    │       ├── mshade-123/
    │       │   ├── assembly.xml
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── sample.txt
    │       ├── non-runtime-scope-excluded/
    │       │   ├── pom.xml
    │       │   ├── system.jar
    │       │   └── verify.bsh
    │       ├── plugin-descriptor-relocation/
    │       │   ├── app/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── test/
    │       │   │                               ├── Entry.java
    │       │   │                               └── TestMojo.java
    │       │   ├── lib/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── component/
    │       │   │           │                   ├── api/
    │       │   │           │                   │   └── Component.java
    │       │   │           │                   └── impl/
    │       │   │           │                       └── DefaultComponent.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── plexus/
    │       │   │                       └── components.xml
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── pom-packaging/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── project-with-reactors-included/
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── org/
    │       │   │       │           └── apache/
    │       │   │       │               └── maven/
    │       │   │       │                   └── plugins/
    │       │   │       │                       └── shade/
    │       │   │       │                           └── its/
    │       │   │       │                               └── one/
    │       │   │       │                                   ├── App.java
    │       │   │       │                                   └── AppOne.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       └── one/
    │       │   │                                           └── AppTest.java
    │       │   ├── pom.xml
    │       │   ├── two/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── org/
    │       │   │       │           └── apache/
    │       │   │       │               └── maven/
    │       │   │       │                   └── plugins/
    │       │   │       │                       └── shade/
    │       │   │       │                           └── its/
    │       │   │       │                               └── two/
    │       │   │       │                                   └── App.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       └── two/
    │       │   │                                           └── AppTest.java
    │       │   └── verify.bsh
    │       ├── reloc-abs-resource-path/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── Main.java
    │       │           └── resources/
    │       │               └── org/
    │       │                   └── apache/
    │       │                       └── maven/
    │       │                           └── from/
    │       │                               └── test.properties
    │       ├── reloc-abs-resource-path-exclude/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── Main.java
    │       │           └── resources/
    │       │               └── org/
    │       │                   └── apache/
    │       │                       └── maven/
    │       │                           └── from/
    │       │                               ├── a/
    │       │                               │   └── test.properties
    │       │                               └── b/
    │       │                                   └── test.properties
    │       ├── reloc-and-mini/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── App.java
    │       │   └── verify.bsh
    │       ├── reloc-anno/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── java/
    │       │               ├── Main.java
    │       │               └── relocated/
    │       │                   └── MyAnno.java
    │       ├── reloc-class-from-string-pool/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── java/
    │       │               ├── Main.java
    │       │               └── relocated/
    │       │                   └── RelocatedClass.java
    │       ├── reloc-enum-ref-from-anno/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── java/
    │       │               ├── Main.java
    │       │               ├── MyAnno.java
    │       │               └── relocated/
    │       │                   └── MyEnum.java
    │       ├── reloc-includes-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── rerun-with-reloc/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── org/
    │       │           │       └── MyInterface.java
    │       │           └── resources/
    │       │               └── some-ordinary-resource.txt
    │       ├── rerun-without-reloc/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── org/
    │       │           │       └── MyInterface.java
    │       │           └── resources/
    │       │               └── some-ordinary-resource.txt
    │       ├── services-resource-transformer/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── services-resource-transformer-with-reloc-includes-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── setup-parent/
    │       │   └── pom.xml
    │       ├── shadePomDependency/
    │       │   ├── pom.xml
    │       │   ├── pomDependency/
    │       │   │   └── pom.xml
    │       │   ├── shadingModule/
    │       │   │   └── pom.xml
    │       │   └── testModule/
    │       │       ├── pom.xml
    │       │       └── src/
    │       │           └── main/
    │       │               └── java/
    │       │                   └── ShadedClassUsage.java
    │       ├── shading-with-java-8-sources/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── App.java
    │       │   └── verify.groovy
    │       ├── shading-with-release-sources/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── App.java
    │       │   └── verify.groovy
    │       ├── users-shader-impl/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   ├── main/
    │       │   │   │   └── java/
    │       │   │   │       └── org/
    │       │   │   │           └── apache/
    │       │   │   │               └── maven/
    │       │   │   │                   └── plugins/
    │       │   │   │                       └── shade/
    │       │   │   │                           └── its/
    │       │   │   │                               └── App.java
    │       │   │   └── test/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── AppTest.java
    │       │   └── verify.groovy
    │       └── xml-transformer-ignores-dtd/
    │           ├── pom.xml
    │           ├── src/
    │           │   └── main/
    │           │       └── resources/
    │           │           └── test.xml
    │           └── verify.bsh
    ├── main/
    │   └── java/
    │       └── org/
    │           └── apache/
    │               └── maven/
    │                   └── plugins/
    │                       └── shade/
    │                           ├── DefaultShader.java
    │                           ├── ShadeRequest.java
    │                           ├── Shader.java
    │                           ├── ShadingResult.java
    │                           ├── filter/
    │                           │   ├── Filter.java
    │                           │   ├── MinijarFilter.java
    │                           │   └── SimpleFilter.java
    │                           ├── mojo/
    │                           │   ├── ArchiveFilter.java
    │                           │   ├── ArtifactId.java
    │                           │   ├── ArtifactSelector.java
    │                           │   ├── ArtifactSet.java
    │                           │   ├── PackageRelocation.java
    │                           │   ├── RelativizePath.java
    │                           │   └── ShadeMojo.java
    │                           ├── pom/
    │                           │   ├── Counter.java
    │                           │   ├── MavenJDOMWriter.java
    │                           │   └── PomWriter.java
    │                           ├── relocation/
    │                           │   ├── Relocator.java
    │                           │   ├── SerializedLambdaRelocator.java
    │                           │   └── SimpleRelocator.java
    │                           └── resource/
    │                               ├── AbstractCompatibilityTransformer.java
    │                               ├── ApacheLicenseResourceTransformer.java
    │                               ├── ApacheNoticeResourceTransformer.java
    │                               ├── AppendingTransformer.java
    │                               ├── ComponentsXmlResourceTransformer.java
    │                               ├── DontIncludeResourceTransformer.java
    │                               ├── GroovyResourceTransformer.java
    │                               ├── IncludeResourceTransformer.java
    │                               ├── ManifestResourceTransformer.java
    │                               ├── PluginXmlResourceTransformer.java
    │                               ├── ReproducibleResourceTransformer.java
    │                               ├── ResourceBundleAppendingTransformer.java
    │                               ├── ResourceTransformer.java
    │                               ├── ServicesResourceTransformer.java
    │                               ├── SisuIndexResourceTransformer.java
    │                               ├── UseDependencyReducedPom.java
    │                               ├── XmlAppendingTransformer.java
    │                               └── properties/
    │                                   ├── MicroprofileConfigTransformer.java
    │                                   ├── OpenWebBeansPropertiesTransformer.java
    │                                   ├── PropertiesTransformer.java
    │                                   ├── SortedProperties.java
    │                                   └── io/
    │                                       ├── NoCloseOutputStream.java
    │                                       └── SkipPropertiesDateLineWriter.java
    ├── site/
    │   ├── apt/
    │   │   ├── examples/
    │   │   │   ├── attached-artifact.apt.vm
    │   │   │   ├── class-relocation.apt.vm
    │   │   │   ├── executable-jar.apt.vm
    │   │   │   ├── includes-excludes.apt.vm
    │   │   │   ├── resource-transformers.apt.vm
    │   │   │   └── use-shader-other-impl.apt.vm
    │   │   ├── index.apt.vm
    │   │   └── usage.apt.vm
    │   ├── fml/
    │   │   └── faq.fml
    │   ├── resources/
    │   │   └── download.cgi
    │   ├── site.xml
    │   └── xdoc/
    │       └── download.xml.vm
    └── test/
        ├── jars/
        │   ├── plexus-utils-1.4.1.jar
        │   ├── test-artifact-1.0-SNAPSHOT.jar
        │   └── test-project-1.0-SNAPSHOT.jar
        ├── java/
        │   └── org/
        │       └── apache/
        │           └── maven/
        │               └── plugins/
        │                   └── shade/
        │                       ├── DefaultShaderTest.java
        │                       ├── MockShader.java
        │                       ├── custom/
        │                       │   └── CustomReproducibleResourceTransformer.java
        │                       ├── filter/
        │                       │   ├── MinijarFilterTest.java
        │                       │   └── SimpleFilterTest.java
        │                       ├── mojo/
        │                       │   ├── ArtifactIdTest.java
        │                       │   ├── ArtifactSelectorTest.java
        │                       │   ├── RelativizePathTest.java
        │                       │   └── ShadeMojoTest.java
        │                       ├── relocation/
        │                       │   ├── SimpleRelocatorParameterTest.java
        │                       │   └── SimpleRelocatorTest.java
        │                       └── resource/
        │                           ├── ApacheLicenseResourceTransformerTest.java
        │                           ├── ApacheNoticeResourceTransformerTest.java
        │                           ├── AppendingTransformerTest.java
        │                           ├── ComponentsXmlResourceTransformerTest.java
        │                           ├── GroovyResourceTransformerTest.java
        │                           ├── ManifestResourceTransformerTest.java
        │                           ├── ReproducibleResourceTransformer.java
        │                           ├── ResourceBundleAppendingTransformerTest.java
        │                           ├── ServiceResourceTransformerTest.java
        │                           ├── XmlAppendingTransformerTest.java
        │                           ├── properties/
        │                           │   └── PropertiesTransformerTest.java
        │                           └── rule/
        │                               └── TransformerTesterRule.java
        ├── projects/
        │   ├── default-config-project/
        │   │   └── pom.xml
        │   ├── no-relocation-project/
        │   │   └── pom.xml
        │   ├── pom.xml
        │   ├── shaded-attached-project/
        │   │   └── pom.xml
        │   ├── shaded-project/
        │   │   └── pom.xml
        │   ├── shaded-renamed-project/
        │   │   └── pom.xml
        │   ├── test-artifact/
        │   │   ├── pom.xml
        │   │   └── src/
        │   │       └── main/
        │   │           └── java/
        │   │               └── org/
        │   │                   └── apache/
        │   │                       └── maven/
        │   │                           └── plugins/
        │   │                               └── shade/
        │   │                                   └── Lib.java
        │   └── test-project/
        │       ├── pom.xml
        │       └── src/
        │           ├── main/
        │           │   ├── java/
        │           │   │   └── org/
        │           │   │       └── apache/
        │           │   │           └── maven/
        │           │   │               └── plugins/
        │           │   │                   └── shade/
        │           │   │                       └── App.java
        │           │   └── resources/
        │           │       └── META-INF/
        │           │           └── plexus/
        │           │               └── components.xml
        │           └── test/
        │               └── java/
        │                   └── org/
        │                       └── apache/
        │                           └── maven/
        │                               └── plugins/
        │                                   └── shade/
        │                                       └── AppTest.java
        └── resources/
            ├── components-1.xml
            ├── components-2.xml
            └── components-expected.xml

================================================
FILE CONTENTS
================================================

================================================
FILE: .asf.yaml
================================================
# 
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
# 
#       http://www.apache.org/licenses/LICENSE-2.0
# 
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
# see https://s.apache.org/asfyaml
github:
  description: "Apache Maven Shade Plugin"
  homepage: https://maven.apache.org/plugins/maven-shade-plugin/
  labels:
    - java
    - build-management
    - maven-plugins
    - maven-shade-plugin
    - maven
  enabled_merge_buttons:
    squash: true
    merge: false
    rebase: true
  autolink_jira:
    - MSHADE
  protected_branches:
    master: {}
  pull_requests:
    del_branch_on_merge: true
  features:
    issues: true
notifications:
  commits: commits@maven.apache.org
  issues: issues@maven.apache.org
  pullrequests: issues@maven.apache.org


================================================
FILE: .git-blame-ignore-revs
================================================
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

# Change maven code style
80d78cc62109585f14659d509211a14d36867a78



================================================
FILE: .github/ISSUE_TEMPLATE/BUG.yml
================================================
#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#

# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema

name: Bug Report
description: File a bug report
labels: ["bug"]

body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report.     

        Simple fixes in single PRs do not require issues. 
  
        **Do you use the latest project version?**

  - type: input
    id: version
    attributes:
      label: Affected version
    validations:
      required: true

  - type: textarea
    id: message
    attributes:
      label: Bug description
    validations:
      required: true




================================================
FILE: .github/ISSUE_TEMPLATE/FEATURE.yml
================================================
#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#

# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema

name: Feature request
description: File a proposal for new feature, improvement
labels: ["enhancement"]

body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this new feature, improvement proposal.

  - type: textarea
    id: message
    attributes:
      label: New feature, improvement proposal
    validations:
      required: true


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#

# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser

blank_issues_enabled: false

contact_links:

  - name: Project Mailing Lists
    url: https://maven.apache.org/mailing-lists.html
    about: Please ask a question or discuss here


================================================
FILE: .github/dependabot.yml
================================================
#
#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
#
version: 2
updates:
  - package-ecosystem: maven
    directory: "/"
    schedule:
      interval: daily
      time: '04:00'
    ignore:
      # ignore Java 8+ dependencies
      - dependency-name: org.mockito:mockito-core
        versions:
          - ">= 3.0"
      - dependency-name: org.apache.commons:commons-lang3
        versions:
          - ">= 3.9"
      - dependency-name: commons-io:commons-io
        versions:
          - ">= 2.7"
      # Ignore Maven 3.2.1+
      - dependency-name: org.apache.maven.plugin-testing:maven-plugin-testing-tools
        versions:
          - ">=3.2.0"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"
      time: '04:00'

================================================
FILE: .github/pull_request_template.md
================================================
Following this checklist to help us incorporate your 
contribution quickly and easily:

 - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MSHADE) filed 
       for the change (usually before you start working on it).  Trivial changes like typos do not 
       require a JIRA issue.  Your pull request should address just this issue, without 
       pulling in other changes.
 - [ ] Each commit in the pull request should have a meaningful subject line and body.
 - [ ] Format the pull request title like `[MSHADE-XXX] - Fixes bug in ApproximateQuantiles`,
       where you replace `MSHADE-XXX` with the appropriate JIRA issue. Best practice
       is to use the JIRA issue title in the pull request title and in the first line of the 
       commit message.
 - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
 - [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will 
       be performed on your pull request automatically.
 - [ ] You have run the integration tests successfully (`mvn -Prun-its clean verify`).

If your pull request is about ~20 lines of code you don't need to sign an
[Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure
please ask on the developers list.

To make clear that you license your contribution under 
the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
you have to acknowledge this by using the following check-box.

 - [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)

 - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).



================================================
FILE: .github/release-drafter.yml
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

_extends: maven-gh-actions-shared
tag-template: maven-shade-plugin-$RESOLVED_VERSION


================================================
FILE: .github/workflows/maven-verify.yml
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
name: Verify

on:
  push:
  pull_request:

jobs:
  build:
    name: Verify
    uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4



================================================
FILE: .github/workflows/pr-automation.yml
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

name: PR Automation
on:
  pull_request_target:
    types:
      - closed

jobs:
  pr-automation:
    name: PR Automation
    uses: apache/maven-gh-actions-shared/.github/workflows/pr-automation.yml@v4


================================================
FILE: .github/workflows/release-drafter.yml
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
   
name: Release Drafter
on:
  push:
    branches:
      - master
jobs:
   update_release_draft:
      uses: apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml@v4


================================================
FILE: .github/workflows/stale.yml
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

name: Stale

on:
  schedule:
    - cron: '27 2 * * *'
  issue_comment:
    types: [ 'created' ]

jobs:
  stale:
    uses: 'apache/maven-gh-actions-shared/.github/workflows/stale.yml@v4'


================================================
FILE: .gitignore
================================================
target/
.project
.classpath
.settings/
.svn/
bin/
# Intellij
*.ipr
*.iml
.idea
out/
.DS_Store
/bootstrap
/dependencies.xml
.java-version
.checkstyle


================================================
FILE: Jenkinsfile
================================================
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

asfMavenTlpPlgnBuild()


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: README.md
================================================
<!---
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
Contributing to [Apache Maven Shade Plugin](https://maven.apache.org/plugins/maven-shade-plugin/)
======================

[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.plugins/maven-shade-plugin.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.maven.plugins/maven-shade-plugin)
[![Reproducible Builds](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/jvm-repo-rebuild/reproducible-central/master/content/org/apache/maven/plugins/maven-shade-plugin/badge.json)](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/maven/plugins/maven-shade-plugin/README.md)
[![Jenkins Status](https://img.shields.io/jenkins/s/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-shade-plugin/job/master.svg?)][build]
[![Jenkins tests](https://img.shields.io/jenkins/t/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-shade-plugin/job/master.svg?)][test-results]


You have found a bug, or you have an idea for a cool new feature? Contributing
code is a great way to give something back to the open source community. Before
you dig right into the code, there are a few guidelines that we need
contributors to follow so that we can have a chance of keeping on top of
things.

Getting Started
---------------

+ Make sure you have a [GitHub account](https://github.com/signup/free).
+ If you're planning to implement a new feature, it makes sense to discuss your changes 
  on the [dev list][ml-list] first. 
  This way you can make sure you're not wasting your time on something that isn't 
  considered to be in Apache Maven's scope.
+ Submit a ticket for your issue, assuming one does not already exist.
  + Clearly describe the issue, including steps to reproduce when it is a bug.
  + Make sure you fill in the earliest version that you know has the issue.
+ Fork the repository on GitHub.

Making and Submitting Changes
--------------

We accept Pull Requests via GitHub. The [developer mailing list][ml-list] is the
main channel of communication for contributors.  
There are some guidelines which will make applying PRs easier for us:
+ Create a topic branch from where you want to base your work (this is usually the master branch).
  Push your changes to a topic branch in your fork of the repository.
+ Make commits of logical units.
+ Respect the original code style: by using the same [codestyle][code-style],
  patches should only highlight the actual difference, not being disturbed by any formatting issues:
  + Only use spaces for indentation.
  + Create minimal diffs - disable on save actions like reformat source code or organize imports. 
    If you feel the source code should be reformatted, create a separate PR for this change.
  + Check for unnecessary whitespace with `git diff --check` before committing.
+ Make sure you have added the necessary tests (JUnit/IT) for your changes.
+ Run all the tests with `mvn -Prun-its verify` to assure nothing else was accidentally broken.
+ Submit a pull request to the repository in the Apache organization.

If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][cla].

Developer Tips
--------------

If your machine is sufficiently powerful, and you want to parallelize the IT execution to validate the build
before a PR you can set the concurrency in `MAVEN_OPTS`:

````
MAVEN_OPTS=-Dinvoker.parallelThreads=2 mvn verify -Prun-its
````

You can also run a single IT test using:

````
mvn verify -Prun-its -Dinvoker.test=myitproject
````

Additional Resources
--------------------

+ [Contributing patches](https://maven.apache.org/guides/development/guide-maven-development.html#Creating_and_submitting_a_patch)
+ [Contributor License Agreement][cla]
+ [General GitHub documentation](https://help.github.com/)
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
+ [Apache Maven X Account](https://x.com/ASFMavenProject)
+ [Apache Maven Bluesky Account](https://bsky.app/profile/maven.apache.org)
+ [Apache Maven Mastodon Account](https://mastodon.social/deck/@ASFMavenProject@fosstodon.org)
+ [Slack channel for regular contributors](https://infra.apache.org/slack.html)


[license]: https://www.apache.org/licenses/LICENSE-2.0
[ml-list]: https://maven.apache.org/mailing-lists.html
[code-style]: https://maven.apache.org/developers/conventions/code.html
[cla]: https://www.apache.org/licenses/#clas
[maven-wiki]: https://cwiki.apache.org/confluence/display/MAVEN/Index
[test-results]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-shade-plugin/job/master/lastCompletedBuild/testReport/
[build]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-shade-plugin/job/master/


================================================
FILE: pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<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.plugins</groupId>
    <artifactId>maven-plugins</artifactId>
    <version>47</version>
    <relativePath />
  </parent>

  <artifactId>maven-shade-plugin</artifactId>
  <version>3.6.3-SNAPSHOT</version>
  <packaging>maven-plugin</packaging>

  <name>Apache Maven Shade Plugin</name>
  <description>Repackages the project classes together with their dependencies into a single uber-jar, optionally renaming classes
    or removing unused classes.</description>

  <contributors>
    <contributor>
      <name>Trask Stalnaker</name>
    </contributor>
    <contributor>
      <name>Anthony Dahanne</name>
    </contributor>
    <contributor>
      <name>Fabiano Cipriano de Oliveira</name>
    </contributor>
    <contributor>
      <name>Markus Karg</name>
    </contributor>
    <contributor>
      <name>Torsten Curdt</name>
    </contributor>
  </contributors>

  <prerequisites>
    <maven>3.6.3</maven>
  </prerequisites>

  <scm>
    <connection>scm:git:https://github.com/apache/maven-shade-plugin.git</connection>
    <developerConnection>scm:git:https://github.com/apache/maven-shade-plugin.git</developerConnection>
    <tag>HEAD</tag>
    <url>https://github.com/apache/maven-shade-plugin/tree/${project.scm.tag}</url>
  </scm>
  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/apache/maven-shade-plugin/issues/</url>
  </issueManagement>
  <ciManagement>
    <system>Jenkins</system>
    <url>https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-shade-plugin/</url>
  </ciManagement>
  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
    </site>
  </distributionManagement>

  <properties>
    <mavenVersion>3.9.15</mavenVersion>
    <javaVersion>8</javaVersion>
    <currentVersion>${project.version}</currentVersion>
    <asmVersion>9.9.1</asmVersion>
    <slf4j.version>1.7.36</slf4j.version>
    <project.build.outputTimestamp>2026-03-02T10:52:20Z</project.build.outputTimestamp>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>3.0</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>3.0</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- Needed dependencies -->
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <version>${asmVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm-commons</artifactId>
      <version>${asmVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.jdom</groupId>
      <artifactId>jdom2</artifactId>
      <version>2.0.6.1</version>
    </dependency>
    <dependency>
      <groupId>org.vafer</groupId>
      <artifactId>jdependency</artifactId>
      <version>2.15</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>3.6.1</version>
    </dependency>

    <!-- Maven (provided) -->
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>${mavenVersion}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>${mavenVersion}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>${mavenVersion}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <version>${mavenVersion}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-resolver-provider</artifactId>
      <version>${mavenVersion}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <version>3.15.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
      <scope>provided</scope>
    </dependency>

    <!-- Test -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.xmlunit</groupId>
      <artifactId>xmlunit-legacy</artifactId>
      <version>2.11.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>4.11.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.sisu</groupId>
      <artifactId>org.eclipse.sisu.plexus</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>${slf4j.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-testing</groupId>
      <artifactId>maven-plugin-testing-harness</artifactId>
      <version>3.5.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludes combine.children="append">
              <!-- Can't add license header otherwise the tests will fail. -->
              <exclude>src/it/mrm/repository/services-resource-transformer/*/META-INF/services/org.apache.maven.Shade</exclude>
              <exclude>src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/*/META-INF/services/org.apache.maven.shade</exclude>
              <exclude>rel-path-test-files/**</exclude>
              <exclude>src/it/projects/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/_maven.repositories</exclude>
              <exclude>src/it/projects/mshade-123/sample.txt</exclude>
              <exclude>src/it/projects/MSHADE-133/src/main/resources/myConfig.yml</exclude>
              <exclude>src/it/projects/rerun-with-reloc/src/main/resources/some-ordinary-resource.txt</exclude>
              <exclude>src/it/projects/rerun-without-reloc/src/main/resources/some-ordinary-resource.txt</exclude>
              <exclude>src/it/projects/MSHADE-182/src/main/resources/META-INF/services/relocateme.Service</exclude>
              <exclude>src/it/projects/MSHADE-390-sisu-index/**</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <executions>
            <execution>
              <id>enforce-bytecode-version</id>
              <configuration>
                <rules>
                  <enforceBytecodeVersion>
                    <ignoreClasses>
                      <ignoreClass>module-info</ignoreClass>
                    </ignoreClasses>
                    <excludes>
                      <exclude>org.vafer:jdependency</exclude>
                    </excludes>
                  </enforceBytecodeVersion>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.eclipse.sisu</groupId>
        <artifactId>sisu-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>run-its</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>test-jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-invoker-plugin</artifactId>
            <configuration>
              <goals>
                <goal>package</goal>
              </goals>
              <showErrors>true</showErrors>
              <projectsDirectory>src/it/projects</projectsDirectory>
              <settingsFile>src/it/mrm/settings.xml</settingsFile>
              <extraArtifacts>
                <extraArtifact>org.apache.maven.plugins:maven-shade-plugin:${project.version}:test-jar</extraArtifact>
              </extraArtifacts>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>mrm-maven-plugin</artifactId>
            <version>1.7.1</version>
            <configuration>
              <repositories>
                <mockRepo>
                  <source>src/it/mrm/repository</source>
                  <!-- due to on the fly created jars -->
                  <cloneTo>target/mock-repo</cloneTo>
                </mockRepo>
                <proxyRepo />
              </repositories>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>start</goal>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>


================================================
FILE: src/it/MSHADE-321_respectDrpFlag/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>MSHADE-321</name>
  <description>
    Test that dependency-reduced-pom is created with respect to flag only.
    Shade plugin starts to create DRP even if the artifact has been renamed because of the configuration
  </description>

  <repositories>
    <repository>
      <id>shade-it</id>
      <url>file://${basedir}/repo</url>
      <releases>
        <checksumPolicy>ignore</checksumPolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.drp</groupId>
      <artifactId>a</artifactId>
      <version>0.1</version>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
              <finalName>shade_321</finalName>
              <shadedArtifactAttached>false</shadedArtifactAttached>
              <createDependencyReducedPom>true</createDependencyReducedPom>
              <dependencyReducedPomLocation>target/shade_321.xml</dependencyReducedPomLocation>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/MSHADE-321_respectDrpFlag/repo/org/apache/maven/its/shade/drp/a/0.1/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>
</project>


================================================
FILE: src/it/MSHADE-321_respectDrpFlag/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
import groovy.xml.XmlParser

File jarRenamedFile = new File(basedir, "target/shade_321.jar")
assert jarRenamedFile.isFile()

File pomFile = new File(basedir, "target/shade_321.xml")
assert pomFile.isFile()

def ns = new groovy.xml.Namespace("http://maven.apache.org/POM/4.0.0")
def pom = new XmlParser().parse(pomFile)

assert pom[ns.modelVersion].size() == 1
assert pom[ns.dependencies][ns.dependency].size() == 0


================================================
FILE: src/it/mrm/repository/MSHADE-247/mshade-247-one-0.1-sources.jar/org/apache/maven/its/shade/csj/Test.java
================================================
package org.apache.maven.its.shade.csj;

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

public class Test
{

}


================================================
FILE: src/it/mrm/repository/MSHADE-247/mshade-247-one-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.its.shade.csj</groupId>
  <artifactId>mshade-247-one</artifactId>
  <version>0.1</version>
  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/MSHADE-247/mshade-247-two-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.its.shade.csj</groupId>
  <artifactId>mshade-247-two</artifactId>
  <version>0.1</version>
  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/artifact-includes-excludes/a-0.1.jar/a.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/artifact-includes-excludes/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.aie</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/artifact-includes-excludes/b-0.2.jar/b.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/artifact-includes-excludes/b-0.2.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.aie</groupId>
  <artifactId>b</artifactId>
  <version>0.2</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom/b-0.2-client.jar/b-client.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/dep-reduced-pom/b-0.2.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>b</artifactId>
  <version>0.2</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom/c-1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>c</artifactId>
  <version>1</version>
  <packaging>pom</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpape</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

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

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/b-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpape</groupId>
  <artifactId>b</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

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

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.drpape</groupId>
      <artifactId>c</artifactId>
      <version>0.1</version>
    </dependency>
  </dependencies>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/c-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpape</groupId>
  <artifactId>c</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

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

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/d-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpape</groupId>
  <artifactId>d</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

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

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.drpape</groupId>
      <artifactId>e</artifactId>
      <version>0.1</version>
    </dependency>
  </dependencies>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/e-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpape</groupId>
  <artifactId>e</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

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

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-exclusions/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpe</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.drpe</groupId>
      <artifactId>b</artifactId>
      <version>0.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.shade.drpe</groupId>
      <artifactId>b</artifactId>
      <classifier>alt</classifier>
      <version>0.2</version>
    </dependency>
  </dependencies>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-exclusions/b-0.2-alt.jar/b-alt.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/dep-reduced-pom-exclusions/b-0.2.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpe</groupId>
  <artifactId>b</artifactId>
  <version>0.2</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.drpe</groupId>
      <artifactId>c</artifactId>
      <version>1</version>
    </dependency>
  </dependencies>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-exclusions/c-1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drpe</groupId>
  <artifactId>c</artifactId>
  <version>1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-unique/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-unique/b-0.2.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>b</artifactId>
  <version>0.2</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-unique/c-1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>c</artifactId>
  <version>1</version>
  <packaging>pom</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-use-base-version/a-0.1-20130115.024354-82.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>a</artifactId>
  <version>0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/dep-reduced-pom-use-base-version/maven-metadata.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<metadata modelVersion="1.1.0">
  <groupId>org.apache.maven.its.shade.drp</groupId>
  <artifactId>a</artifactId>
  <version>0.1-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <localCopy>true</localCopy>
    </snapshot>
    <lastUpdated>20130115024354</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <extension>jar</extension>
        <value>0.1-20130115.024354-82</value>
        <updated>20130115024354</updated>
      </snapshotVersion>
      <snapshotVersion>
        <extension>pom</extension>
        <value>0.1-20130115.024354-82</value>
        <updated>20130115024354</updated>
      </snapshotVersion>
    </snapshotVersions>
  </versioning>
</metadata>


================================================
FILE: src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/META-INF/maven/org.apache.maven.its.shade.fac/a/pom.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
version=0.1
groupId=org.apache.maven.its.shade.fac
artifactId=a


================================================
FILE: src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/a.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/org/a.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/org/apache/a.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/org/apache/maven/a.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/a-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.fac</groupId>
  <artifactId>a</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/META-INF/maven/org.apache.maven.its.shade.fac/b/pom.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
version=0.1
groupId=org.apache.maven.its.shade.fac
artifactId=b


================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/b.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/apache/b.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/apache/maven/b/b.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/apache/maven/b.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/b.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/filter-artifact-contents/b-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.fac</groupId>
  <artifactId>b</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/compile-1.0.jar/compile.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/compile-1.0.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.nrse</groupId>
  <artifactId>compile</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>MSHADE</name>
  <description>
    Test that dependencies not matching runtime scope are automatically excluded.
  </description>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/provided-1.0.jar/provided.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/provided-1.0.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.nrse</groupId>
  <artifactId>provided</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>MSHADE</name>
  <description>
    Test that dependencies not matching runtime scope are automatically excluded.
  </description>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/runtime-1.0.jar/runtime.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/runtime-1.0.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.nrse</groupId>
  <artifactId>runtime</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>MSHADE</name>
  <description>
    Test that dependencies not matching runtime scope are automatically excluded.
  </description>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/test-1.0.jar/test.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

================================================
FILE: src/it/mrm/repository/non-runtime-scope-excluded/test-1.0.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.nrse</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>MSHADE</name>
  <description>
    Test that dependencies not matching runtime scope are automatically excluded.
  </description>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/plugin-descriptor-relocation/comp-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.cdr</groupId>
  <artifactId>comp</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>

  <build>
    <resources>
      <resource>
        <directory>.</directory>
        <includes>
          <include>pom.xml</include>
          <include>src/**</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
  </build>
</project>


================================================
FILE: src/it/mrm/repository/services-resource-transformer/one-0.1.jar/META-INF/services/org.apache.maven.Shade
================================================
one # NOTE: No newline terminates this line/file

================================================
FILE: src/it/mrm/repository/services-resource-transformer/one-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.srt</groupId>
  <artifactId>one</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/services-resource-transformer/two-0.1.jar/META-INF/services/org.apache.maven.Shade
================================================
two # NOTE: No newline terminates this line/file

================================================
FILE: src/it/mrm/repository/services-resource-transformer/two-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.srt</groupId>
  <artifactId>two</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-one-0.1.jar/META-INF/services/org.apache.maven.shade
================================================
org.apache.maven.its.shade.One

================================================
FILE: src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-one-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.srt</groupId>
  <artifactId>mshade-237-one</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-two-0.1.jar/META-INF/services/org.apache.maven.shade
================================================
org.apache.maven.its.shade.Two

================================================
FILE: src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-two-0.1.pom
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.srt</groupId>
  <artifactId>mshade-237-two</artifactId>
  <version>0.1</version>
  <packaging>jar</packaging>

  <distributionManagement>
    <repository>
      <id>maven-core-it</id>
      <url>file:///${basedir}/repo</url>
    </repository>
  </distributionManagement>
</project>


================================================
FILE: src/it/mrm/settings.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<settings>
  <mirrors>
    <mirror>
      <id>mrm-maven-plugin</id>
      <name>Mock Repository Manager</name>
      <url>@mrm.repository.url@</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>it-repo</id>
      <repositories>
        <repository>
          <id>snapshots</id>
          <url>@mrm.repository.url@</url>
          <releases>
            <enabled>true</enabled>
            <checksumPolicy>ignore</checksumPolicy>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <checksumPolicy>ignore</checksumPolicy>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>snapshots</id>
          <url>@mrm.repository.url@</url>
          <releases>
            <enabled>true</enabled>
            <checksumPolicy>ignore</checksumPolicy>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <checksumPolicy>ignore</checksumPolicy>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>it-repo</activeProfile>
  </activeProfiles>
</settings>


================================================
FILE: src/it/projects/MSHADE-105/bundle/pom.xml
================================================
<?xml version='1.0' encoding='UTF-8'?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<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.its.shade.mr</groupId>
    <artifactId>MSHADE-105-ROOT</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>MSHADE-105-BUNDLE</artifactId>

  <packaging>bundle</packaging>
  <dependencies>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>MSHADE-105-SHADED-JAR</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>5.1.9</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Embed-Dependency>*</Embed-Dependency>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-105/bundle/src/main/java/test/Dummy.java
================================================
package test;

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */


import internal.io.IOUtils;

import java.io.IOException;
import java.io.InputStream;

public class Dummy {
    public static void dump(InputStream in) throws IOException {
        IOUtils.copy(in, System.out);
    }
}


================================================
FILE: src/it/projects/MSHADE-105/pom.xml
================================================
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>
  <groupId>org.apache.maven.its.shade.mr</groupId>
  <artifactId>MSHADE-105-ROOT</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
    <module>shaded-jar</module>
    <module>bundle</module>
  </modules>

</project>


================================================
FILE: src/it/projects/MSHADE-105/shaded-jar/pom.xml
================================================
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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.its.shade.mr</groupId>
    <artifactId>MSHADE-105-ROOT</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>MSHADE-105-SHADED-JAR</artifactId>
  <dependencies>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.14.0</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <relocations>
                <relocation>
                  <pattern>org.apache.commons.io</pattern>
                  <shadedPattern>internal.io</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-105/verify.bsh
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

import java.io.*;
import java.util.jar.*;
import java.util.*;

JarFile jarFile = new JarFile( new File( basedir, "bundle/target/MSHADE-105-BUNDLE-1.0-SNAPSHOT.jar" ) );

Manifest mf = jarFile.getManifest();
jarFile.close();

String importPackage = mf.getMainAttributes().getValue( "Import-Package" );
System.out.println("importPackage:"+importPackage);

if ( importPackage.indexOf("org.apache.commons.io" ) >=0 )
{
    throw new IllegalStateException( "MANIFEST.MF has Import-Package entry with org.apache.commons.io" );
}


return true;


================================================
FILE: src/it/projects/MSHADE-114/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>

  <groupId>org.apache.maven.its.shade</groupId>
  <artifactId>MSHADE-114</artifactId>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
                  <resource>.so</resource>
                </transformer>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <manifestEntries>
                    <Premain-Class>org.jacoco.agent.${rt}.JacocoAgent</Premain-Class>
                  </manifestEntries>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-133/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>

  <groupId>org.apache.maven.its.shade</groupId>
  <artifactId>MSHADE-133</artifactId>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
                  <resources>
                    <resource>myConfig.yml</resource>
                    <resource>logback.xml</resource>
                  </resources>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-133/src/main/resources/logback.xml
================================================
<?xml version='1.0'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->



================================================
FILE: src/it/projects/MSHADE-133/src/main/resources/myConfig.yml
================================================


================================================
FILE: src/it/projects/MSHADE-133/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

 def jarFile = new java.util.jar.JarFile( new File( basedir, "/target/MSHADE-133-1.0-SNAPSHOT.jar" ) )
 assert jarFile.getJarEntry("myComfig.yml") == null
 assert jarFile.getJarEntry("logback.xml") == null
 

================================================
FILE: src/it/projects/MSHADE-155/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<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.its.shade.fnb</groupId>
  <artifactId>shadedartifactid</artifactId>
  <version>1.0</version>
  
  <name>MSHADE-155 :: using shadedArtifactId</name>
  <description>
    Test that the shaded artifact has the correct
    artifactId which is defined by shadedArtifactId.
  </description>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>create-shaded-artifact</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <shadedArtifactId>${project.artifactId}-special</shadedArtifactId>
              <createDependencyReducedPom>false</createDependencyReducedPom>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-155/src/main/resources/META-INF/ejb-jar.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->



================================================
FILE: src/it/projects/MSHADE-155/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

File targetFolder = new File ( basedir, "target" )

File originalArtifact = new File ( targetFolder, "shadedartifactid-1.0.jar" )
assert originalArtifact.isFile()

File shadedArtifact = new File ( targetFolder, "shadedartifactid-special-1.0-shaded.jar")
assert shadedArtifact.isFile()


================================================
FILE: src/it/projects/MSHADE-182/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>

    <groupId>org.apache.maven.its.shade</groupId>
    <artifactId>MSHADE-182</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>@project.version@</version>
                <executions>
                    <execution>
                        <id>shade</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <relocations>
                                <relocation>
                                    <pattern>relocateme</pattern>
                                    <shadedPattern>relocated</shadedPattern>
                                </relocation>
                            </relocations>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer">
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


================================================
FILE: src/it/projects/MSHADE-182/src/main/resources/META-INF/services/relocateme.Service
================================================
relocateme.ServiceImpl


================================================
FILE: src/it/projects/MSHADE-182/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
*/

def jarFile = new java.util.jar.JarFile(new File(basedir, "/target/MSHADE-182-1.0-SNAPSHOT.jar"))
def jarEntry = jarFile.getJarEntry("META-INF/services/relocated.Service")
def content = new java.io.BufferedReader(new java.io.InputStreamReader(jarFile.getInputStream(jarEntry)))
assert content.readLine() == "relocated.ServiceImpl"


================================================
FILE: src/it/projects/MSHADE-183/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<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.its.shade.mt</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>MSHADE-183</name>
  <description>
    Test that reproduces the issue described in MSHADE-183.
  </description>

  <dependencies>
    <dependency>
      <!-- dummy dependency to test interaction of multiple manifests -->
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>@project.version@</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>@version.maven-compiler-plugin@</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>@version.maven-install-plugin@</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>@version.maven-jar-plugin@</version>
        <configuration>
          <archive>
            <manifest>
              <mainClass>org.apache.maven.Main</mainClass>
            </manifest>
            <manifestEntries>
              <Test-Entry>FAILED</Test-Entry>
              <Original-Entry>PASSED</Original-Entry>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>@version.maven-resources-plugin@</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>attach-shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>false</shadedArtifactAttached>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.apache.maven.Shade</mainClass>
                  <manifestEntries>
                    <Test-Entry>PASSED</Test-Entry>
                    <Implementation-Build></Implementation-Build>
                  </manifestEntries>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>@version.maven-surefire@</version>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-183/verify.bsh
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
import java.io.*;
import java.util.jar.*;

// NOTE: We deliberately use JarInputStream and not JarFile here!
JarInputStream jarStream = new JarInputStream( new FileInputStream( new File( basedir, "target/test-1.0.jar" ) ) );
Manifest mf = jarStream.getManifest();
jarStream.close();

if ( mf == null )
{
    throw new IllegalStateException( "META-INF/MANIFEST.MF is missing" );
}

if ( !"PASSED".equals( mf.getMainAttributes().getValue( "Test-Entry" ) ) )
{
    throw new IllegalStateException( "META-INF/MANIFEST.MF is incomplete" );
}

if ( !"PASSED".equals( mf.getMainAttributes().getValue( "Original-Entry" ) ) )
{
    throw new IllegalStateException( "META-INF/MANIFEST.MF is incomplete" );
}

if ( !"org.apache.maven.Shade".equals( mf.getMainAttributes().getValue( "Main-Class" ) ) )
{
    throw new IllegalStateException( "META-INF/MANIFEST.MF is incomplete" );
}
if ( null != mf.getMainAttributes().getValue( "Implementation-Build" ) )
{
    throw new IllegalStateException( "META-INF/MANIFEST.MF Implementation-Build content is not null as expected. (" + mf.getMainAttributes().entrySet() + ")" );
}


================================================
FILE: src/it/projects/MSHADE-185/invoker.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

invoker.java.version = 9-


================================================
FILE: src/it/projects/MSHADE-185/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>test.shade</groupId>
  <artifactId>system-dep</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <version>2.12</version>
    </dependency>
    <dependency>
      <groupId>com.sun</groupId>
      <artifactId>tools</artifactId>
      <version>1.6</version>
      <scope>system</scope>
      <systemPath>${java.home}/../lib/tools.jar</systemPath>
      <optional>true</optional>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>@project.groupId@</groupId>
        <artifactId>@project.artifactId@</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>false</shadedArtifactAttached>
              <createDependencyReducedPom>true</createDependencyReducedPom>
              <createSourcesJar>true</createSourcesJar>
              <artifactSet>
                <includes>
                  <include>jline:jline</include>
                </includes>
              </artifactSet>
              <relocations>
                <relocation>
                  <pattern>jline</pattern>
                  <shadedPattern>org.crsh.console.jline</shadedPattern>
                </relocation>
              </relocations> 
           </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>



================================================
FILE: src/it/projects/MSHADE-185/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
import groovy.xml.XmlSlurper;

File pomFile = new File( basedir, "dependency-reduced-pom.xml" );
assert pomFile.isFile()

def project = new XmlSlurper().parse( pomFile )

assert project.dependencies.dependency[0].artifactId == 'tools'
assert project.dependencies.dependency[0].groupId == 'com.sun'
assert project.dependencies.dependency[0].version == '1.6'
assert project.dependencies.dependency[0].scope == 'system'
// Check that the dependency-reduced pom does not have expand properties in 
// dependencies. They should be left untouched.
assert project.dependencies.dependency[0].systemPath == '${java.home}/../lib/tools.jar'


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/invoker.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

invoker.goals=clean package


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/one/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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.its.shade.pp</groupId>
    <artifactId>mshade-232</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>one</artifactId>

</project>


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/one/src/main/resources/org/apache/maven/plugins/shade/its/Message.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

one = one


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/one/src/main/resources/org/apache/maven/plugins/shade/its/Message_nl.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

one = een


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.pp</groupId>
  <artifactId>mshade-232</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

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


  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven.its.shade.pp</groupId>
        <artifactId>one</artifactId>
        <version>${project.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <modules>
    <module>one</module>
    <module>two</module>
  </modules>

</project>

================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/two/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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.its.shade.pp</groupId>
    <artifactId>mshade-232</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>two</artifactId>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.pp</groupId>
      <artifactId>one</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>attach-shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>false</shadedArtifactAttached>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ResourceBundleAppendingTransformer">
                  <basename>org/apache/maven/plugins/shade/its/Message</basename>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/two/src/main/resources/org/apache/maven/plugins/shade/its/Message.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

two = two


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/two/src/main/resources/org/apache/maven/plugins/shade/its/Message_nl.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

two = twee


================================================
FILE: src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

def jarFile = new java.util.jar.JarFile(new File(basedir, "two/target/two-1.0-SNAPSHOT.jar"))
def jarEntry = jarFile.getJarEntry("org/apache/maven/plugins/shade/its/Message.properties")
def props = new Properties(); 
props.load(jarFile.getInputStream(jarEntry));
assert props.one == 'one'
assert props.two == 'two'

jarEntry = jarFile.getJarEntry("org/apache/maven/plugins/shade/its/Message_nl.properties")
props = new Properties(); 
props.load(jarFile.getInputStream(jarEntry));
assert props.one == 'een'
assert props.two == 'twee'


================================================
FILE: src/it/projects/MSHADE-239_finalName-attachments/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<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.its.shade.fns</groupId>
  <artifactId>artifactId</artifactId>
  <version>version</version>

  <url>https://issues.apache.org/jira/browse/MSHADE-239</url>
  
  <properties>
    <some-other-crap>crapola</some-other-crap>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <finalName>${project.artifactId}-${project.version}-${some-other-crap}-exe</finalName>
              <createSourcesJar>true</createSourcesJar>
              <shadedSourcesContent>true</shadedSourcesContent>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <shadedClassifierName>exe</shadedClassifierName>
              <shadeTestJar>true</shadeTestJar>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-239_finalName-attachments/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

assert new File( basedir, 'target/artifactId-version-crapola-exe.jar' ).exists() : "target/artifactId-version-crapola-exe.jar doesn't exist"
assert new File( basedir, 'target/artifactId-version-crapola-exe-sources.jar' ).exists() : "target/artifactId-version-crapola-exe-sources.jar doesn't exist"
assert new File( basedir, 'target/artifactId-version-crapola-exe-tests.jar' ).exists() : "target/artifactId-version-crapola-exe-tests.jar doesn't exist"


================================================
FILE: src/it/projects/MSHADE-240_reloc-mavenfiles/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.plugins.shade.its</groupId>
  <artifactId>mshade240</artifactId>
  <version>1.0-SNAPSHOT</version>

  <url>https://issues.apache.org/jira/browse/MSHADE-240</url>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>3.0</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>false</shadedArtifactAttached>
              <relocations>
                <relocation>
                  <pattern>META-INF/maven</pattern>
                  <shadedPattern>META-INF/shade/maven</shadedPattern>
                  <excludes>
                    <exclude>META-INF/maven/${project.groupId}/${project.artifactId}/pom.*</exclude>
                  </excludes>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-240_reloc-mavenfiles/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

def jarFile = new java.util.jar.JarFile( new File( basedir, "target/mshade240-1.0-SNAPSHOT.jar" ) )
try 
{
  assert null != jarFile.getJarEntry( "META-INF/maven/org.apache.maven.plugins.shade.its/mshade240/pom.properties" )
  assert null != jarFile.getJarEntry( "META-INF/maven/org.apache.maven.plugins.shade.its/mshade240/pom.xml" )
  assert null != jarFile.getJarEntry( "META-INF/shade/maven/org.apache.maven/maven-core/pom.properties" )
  assert null != jarFile.getJarEntry( "META-INF/shade/maven/org.apache.maven/maven-core/pom.xml" )

  assert null == jarFile.getJarEntry( "META-INF/shade/maven/org.apache.maven.plugins.shade.its/mshade240/pom.properties" )
  assert null == jarFile.getJarEntry( "META-INF/shade/maven/org.apache.maven.plugins.shade.its/mshade240/pom.xml" )
  assert null == jarFile.getJarEntry( "META-INF/maven/org.apache.maven/maven-core/pom.properties" )
  assert null == jarFile.getJarEntry( "META-INF/maven/org.apache.maven/maven-core/pom.xml" )
}
finally 
{
  jarFile.close()
}


================================================
FILE: src/it/projects/MSHADE-247/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.its.shade.csj</groupId>
  <artifactId>mshade-247</artifactId>
  <version>1.0</version>
  <url>https://issues.apache.org/jira/browse/MSHADE-247</url>
  <description>
    Test that setting createSourcesJar to true does not fail the build when no sources Jar is available.
  </description>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.shade.csj</groupId>
      <artifactId>mshade-247-one</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.shade.csj</groupId>
      <artifactId>mshade-247-two</artifactId>
      <version>0.1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <createSourcesJar>true</createSourcesJar>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-258_module_relocation/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven.its.shade.csj</groupId>
  <artifactId>mshade-258</artifactId>
  <version>1.0-SNAPSHOT</version>
  <url>https://issues.apache.org/jira/browse/MSHADE-258</url>
  <description>
    RemappingClassAdapter is deprecated and throws an exception with ASM 6.0 beta
  </description>

  <dependencies>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <version>@asmVersion@</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>shade</id>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <relocations>
                <relocation>
                  <pattern>org.objectweb.asm</pattern>
                  <shadedPattern>org.shaded.objectweb.asm</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-258_module_relocation/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

def buildLog = new File ( basedir , "build.log" )
assert buildLog.text.contains( "[WARNING] Discovered module-info.class. Shading will break its strong encapsulation." )

def jarFile = new java.util.jar.JarFile( new File( basedir, "target/mshade-258-1.0-SNAPSHOT.jar" ) )
try 
{
  assert null == jarFile.getJarEntry( "module-info.class" )
}
finally 
{
  jarFile.close()
}


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/README.txt
================================================
# Serialized Lambda Relocation Test

This integration test verifies that the maven-shade-plugin correctly rewrites
serialized lambda metadata when relocating classes.

## Background

When a lambda expression or method reference uses a `Serializable` functional
interface, the Java compiler generates a `SerializedLambda` object that contains
metadata about the lambda's implementation class. This metadata includes the
class name, which must be rewritten during shading to reflect the relocated
package structure.

## Test Structure

- **MapFunction.java** - A `Serializable` functional interface
- **Main.java** - Uses a method reference (`processor::process`) that creates
  a serialized lambda
- **Processor.java** - Contains the method used as a method reference
- **DataHolder.java** - Simple data class passed through the lambda

## Configuration

The test uses the `<shadeSerializedLambda>true</shadeSerializedLambda>` option:

```xml
<relocation>
    <pattern>org.apache.maven.its.shade.reloc.lambda</pattern>
    <shadedPattern>org.apache.maven.its.shade.reloc.shaded.lambda</shadedPattern>
    <shadeSerializedLambda>true</shadeSerializedLambda>
</relocation>
```

## What the Test Verifies

1. All classes are relocated from `org.apache.maven.its.shade.reloc.lambda` to
   `org.apache.maven.its.shade.reloc.shaded.lambda`
2. The original package paths do NOT exist in the shaded JAR
3. Most importantly: The serialized lambda metadata (in the bytecode's constant
   pool) references the shaded package, not the original

## Running the Test

```bash
cd /path/to/maven-shade-plugin
mvn verify -Prun-its -Dinvoker.test=reloc-serialized-lambda
```

## Expected Behavior

After shading:
- `Main.class` should be at `org/apache/maven/its/shade/reloc/shaded/lambda/Main.class`
- The bytecode should NOT contain references to the original package path
  `org/apache/maven/its/shade/reloc/lambda/Processor`
- All lambda metadata should use the shaded path
  `org/apache/maven/its/shade/reloc/shaded/lambda/Processor`


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/invoker.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# Lambdas were introduced in Java 8
invoker.java.version = 1.8+

# Run package goal to trigger shade
invoker.goals = clean package


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.shade.reloc</groupId>
  <artifactId>serialized-lambda</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>Serialized Lambda Relocation Test</name>
  <description>
    Test that serialized lambda metadata is properly relocated when shading.
    This test uses a Serializable functional interface with a method reference
    to ensure the lambda's captured class information is rewritten.
  </description>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>@project.version@</version>
        <executions>
          <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <relocations>
                <relocation>
                  <pattern>org.apache.maven.its.shade.reloc.lambda</pattern>
                  <shadedPattern>org.apache.maven.its.shade.reloc.shaded.lambda</shadedPattern>
                  <shadeSerializedLambda>true</shadeSerializedLambda>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/DataHolder.java
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.maven.its.shade.reloc.lambda;

/**
 * A simple data class (record) used to demonstrate serialized lambda relocation.
 */
public class DataHolder {
    private final String value;

    public DataHolder(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/Main.java
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.maven.its.shade.reloc.lambda;

/**
 * Main class that uses a method reference with a Serializable functional interface.
 * When compiled, this creates a serialized lambda that captures class metadata.
 */
public class Main {
    public static void main(String[] args) {
        Processor processor = new Processor();
        DataHolder data = new DataHolder("test");
        
        // This method reference creates a serialized lambda
        String result = transform(data, processor::process);
        System.out.println(result);
    }

    public static String transform(DataHolder value, MapFunction<DataHolder, String> mapper) {
        return mapper.map(value);
    }
}


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/MapFunction.java
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.maven.its.shade.reloc.lambda;

import java.io.Serializable;

/**
 * A serializable functional interface that will cause lambdas/method references
 * to have their class information stored in the serialized lambda metadata.
 */
@FunctionalInterface
public interface MapFunction<T, R> extends Serializable {
    R map(T t);
}


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/Processor.java
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.maven.its.shade.reloc.lambda;

/**
 * Processor class that contains a method used as a method reference.
 */
public class Processor {
    public String process(DataHolder data) {
        return "Processed: " + data.getValue();
    }
}


================================================
FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/verify.groovy
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

import java.util.jar.*

// Path to the shaded JAR
File jarFile = new File(basedir, "target/serialized-lambda-1.0.jar")
assert jarFile.exists() : "Shaded JAR not found: ${jarFile}"

JarFile jar = new JarFile(jarFile)

// Check 1: Verify shaded classes exist (with relocated package)
def shadedClasses = [
    "org/apache/maven/its/shade/reloc/shaded/lambda/Main.class",
    "org/apache/maven/its/shade/reloc/shaded/lambda/Processor.class",
    "org/apache/maven/its/shade/reloc/shaded/lambda/DataHolder.class",
    "org/apache/maven/its/shade/reloc/shaded/lambda/MapFunction.class"
]

shadedClasses.each { path ->
    assert jar.getEntry(path) != null : "Expected shaded class not found: ${path}"
}

// Check 2: Verify original classes do NOT exist (they should be relocated)
def originalClasses = [
    "org/apache/maven/its/shade/reloc/lambda/Main.class",
    "org/apache/maven/its/shade/reloc/lambda/Processor.class",
    "org/apache/maven/its/shade/reloc/lambda/DataHolder.class",
    "org/apache/maven/its/shade/reloc/lambda/MapFunction.class"
]

originalClasses.each { path ->
    assert jar.getEntry(path) == null : "Original class should have been relocated: ${path}"
}

// Check 3: Read the Main class bytes and verify serialized lambda metadata is relocated
def mainEntry = jar.getJarEntry("org/apache/maven/its/shade/reloc/shaded/lambda/Main.class")
if (mainEntry != null) {
    def is = jar.getInputStream(mainEntry)
    def baos = new ByteArrayOutputStream()
    def buffer = new byte[1024]
    int len
    while ((len = is.read(buffer)) != -1) {
        baos.write(buffer, 0, len)
    }
    is.close()
    
    // Convert class bytes to string for pattern searching
    // The serialized lambda metadata should contain the SHADED package, not original
    def classContent = new String(baos.toByteArray(), "ISO-8859-1")
    
    // Look for the SerializedLambda bootstrap method marker
    // This appears in the bytecode when lambdas are used
    if (classContent.contains("SerializedLambda")) {
        // If we have SerializedLambda, verify the implementation class reference
        // The implementation class should point to the shaded package
        // Check that the original package name does NOT appear in serialized metadata
        assert !classContent.contains("org/apache/maven/its/shade/reloc/lambda/Processor") :
            "Serialized lambda metadata still contains original package path. " +
            "The class reference should have been relocated to shaded package."

        assert !classContent.contains("org/apache/maven/its/shade/reloc/lambda") :
                "Serialized lambda metadata still contains original package path. " +
                        "The class reference should have been relocated to shaded package."
    }
}

// Check 4: Search all class files for any lingering original package references
def entries = jar.entries()
boolean foundSerializedLambdaMetadata = false
while (entries.hasMoreElements()) {
    def entry = entries.nextElement()
    if (entry.getName().endsWith(".class")) {
        def is = jar.getInputStream(entry)
        def baos = new ByteArrayOutputStream()
        def buffer = new byte[1024]
        int len
        while ((len = is.read(buffer)) != -1) {
            baos.write(buffer, 0, len)
        }
        is.close()
        
        def classContent = new String(baos.toByteArray(), "ISO-8859-1")
        
        // Check for SerializedLambda constant pool entries
        if (classContent.contains("java/lang/invoke/LambdaMetafactory") ||
            classContent.contains("SerializedLambda")) {
            foundSerializedLambdaMetadata = true
            
            // If this class uses lambdas, verify it uses the shaded package
            // The original package should not appear in constant pool references
            assert !(classContent.contains("org/apache/maven/its/shade/reloc/lambda/" +
                "Processor") ||
                classContent.contains("org/apache/maven/its/shade/reloc/lambda/" +
                "Main") ||
                classContent.contains("org/apache/maven/its/shade/reloc/lambda/" +
                "DataHolder")) :
                "Class ${entry.getName()} contains reference to original " +
                "package in lambda metadata. All references should use shaded " +
                "package: org/apache/maven/its/shade/reloc/shaded/lambda/"
        }
    }
}

if (!foundSerializedLambdaMetadata) {
    println "Warning: No serialized lambda metadata found in classes. " +
        "This may indicate the test classes were not compiled with lambda usage."
}

jar.close()

println "Serialized lambda relocation test PASSED!"
println "All classes properly relocated and no original package references found."


================================================
FILE: src/it/projects/MSHADE-284_shadeTestJar/api/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of th
Download .txt
gitextract_9k9omgyv/

├── .asf.yaml
├── .git-blame-ignore-revs
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── BUG.yml
│   │   ├── FEATURE.yml
│   │   └── config.yml
│   ├── dependabot.yml
│   ├── pull_request_template.md
│   ├── release-drafter.yml
│   └── workflows/
│       ├── maven-verify.yml
│       ├── pr-automation.yml
│       ├── release-drafter.yml
│       └── stale.yml
├── .gitignore
├── Jenkinsfile
├── LICENSE
├── README.md
├── pom.xml
└── src/
    ├── it/
    │   ├── MSHADE-321_respectDrpFlag/
    │   │   ├── pom.xml
    │   │   ├── repo/
    │   │   │   └── org/
    │   │   │       └── apache/
    │   │   │           └── maven/
    │   │   │               └── its/
    │   │   │                   └── shade/
    │   │   │                       └── drp/
    │   │   │                           └── a/
    │   │   │                               └── 0.1/
    │   │   │                                   ├── a-0.1.jar
    │   │   │                                   └── a-0.1.pom
    │   │   └── verify.groovy
    │   ├── mrm/
    │   │   ├── repository/
    │   │   │   ├── MSHADE-247/
    │   │   │   │   ├── mshade-247-one-0.1-sources.jar/
    │   │   │   │   │   └── org/
    │   │   │   │   │       └── apache/
    │   │   │   │   │           └── maven/
    │   │   │   │   │               └── its/
    │   │   │   │   │                   └── shade/
    │   │   │   │   │                       └── csj/
    │   │   │   │   │                           └── Test.java
    │   │   │   │   ├── mshade-247-one-0.1.pom
    │   │   │   │   └── mshade-247-two-0.1.pom
    │   │   │   ├── artifact-includes-excludes/
    │   │   │   │   ├── a-0.1.jar/
    │   │   │   │   │   └── a.properties
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2.jar/
    │   │   │   │   │   └── b.properties
    │   │   │   │   └── b-0.2.pom
    │   │   │   ├── dep-reduced-pom/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2-client.jar/
    │   │   │   │   │   └── b-client.properties
    │   │   │   │   ├── b-0.2.pom
    │   │   │   │   └── c-1.pom
    │   │   │   ├── dep-reduced-pom-artifactset-provided-excludes/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.1.pom
    │   │   │   │   ├── c-0.1.pom
    │   │   │   │   ├── d-0.1.pom
    │   │   │   │   └── e-0.1.pom
    │   │   │   ├── dep-reduced-pom-exclusions/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2-alt.jar/
    │   │   │   │   │   └── b-alt.properties
    │   │   │   │   ├── b-0.2.pom
    │   │   │   │   └── c-1.pom
    │   │   │   ├── dep-reduced-pom-unique/
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.2.pom
    │   │   │   │   └── c-1.pom
    │   │   │   ├── dep-reduced-pom-use-base-version/
    │   │   │   │   ├── a-0.1-20130115.024354-82.pom
    │   │   │   │   └── maven-metadata.xml
    │   │   │   ├── filter-artifact-contents/
    │   │   │   │   ├── a-0.1.jar/
    │   │   │   │   │   ├── META-INF/
    │   │   │   │   │   │   └── maven/
    │   │   │   │   │   │       └── org.apache.maven.its.shade.fac/
    │   │   │   │   │   │           └── a/
    │   │   │   │   │   │               └── pom.properties
    │   │   │   │   │   ├── a.properties
    │   │   │   │   │   └── org/
    │   │   │   │   │       ├── a.properties
    │   │   │   │   │       └── apache/
    │   │   │   │   │           ├── a.properties
    │   │   │   │   │           └── maven/
    │   │   │   │   │               └── a.properties
    │   │   │   │   ├── a-0.1.pom
    │   │   │   │   ├── b-0.1-client.jar/
    │   │   │   │   │   ├── META-INF/
    │   │   │   │   │   │   └── maven/
    │   │   │   │   │   │       └── org.apache.maven.its.shade.fac/
    │   │   │   │   │   │           └── b/
    │   │   │   │   │   │               └── pom.properties
    │   │   │   │   │   ├── b.properties
    │   │   │   │   │   └── org/
    │   │   │   │   │       ├── apache/
    │   │   │   │   │       │   ├── b.properties
    │   │   │   │   │       │   └── maven/
    │   │   │   │   │       │       ├── b/
    │   │   │   │   │       │       │   └── b.properties
    │   │   │   │   │       │       └── b.properties
    │   │   │   │   │       └── b.properties
    │   │   │   │   └── b-0.1.pom
    │   │   │   ├── non-runtime-scope-excluded/
    │   │   │   │   ├── compile-1.0.jar/
    │   │   │   │   │   └── compile.properties
    │   │   │   │   ├── compile-1.0.pom
    │   │   │   │   ├── provided-1.0.jar/
    │   │   │   │   │   └── provided.properties
    │   │   │   │   ├── provided-1.0.pom
    │   │   │   │   ├── runtime-1.0.jar/
    │   │   │   │   │   └── runtime.properties
    │   │   │   │   ├── runtime-1.0.pom
    │   │   │   │   ├── test-1.0.jar/
    │   │   │   │   │   └── test.properties
    │   │   │   │   └── test-1.0.pom
    │   │   │   ├── plugin-descriptor-relocation/
    │   │   │   │   └── comp-0.1.pom
    │   │   │   ├── services-resource-transformer/
    │   │   │   │   ├── one-0.1.jar/
    │   │   │   │   │   └── META-INF/
    │   │   │   │   │       └── services/
    │   │   │   │   │           └── org.apache.maven.Shade
    │   │   │   │   ├── one-0.1.pom
    │   │   │   │   ├── two-0.1.jar/
    │   │   │   │   │   └── META-INF/
    │   │   │   │   │       └── services/
    │   │   │   │   │           └── org.apache.maven.Shade
    │   │   │   │   └── two-0.1.pom
    │   │   │   └── services-resource-transformer-with-reloc-includes-excludes/
    │   │   │       ├── mshade-237-one-0.1.jar/
    │   │   │       │   └── META-INF/
    │   │   │       │       └── services/
    │   │   │       │           └── org.apache.maven.shade
    │   │   │       ├── mshade-237-one-0.1.pom
    │   │   │       ├── mshade-237-two-0.1.jar/
    │   │   │       │   └── META-INF/
    │   │   │       │       └── services/
    │   │   │       │           └── org.apache.maven.shade
    │   │   │       └── mshade-237-two-0.1.pom
    │   │   └── settings.xml
    │   └── projects/
    │       ├── MSHADE-105/
    │       │   ├── bundle/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── test/
    │       │   │                   └── Dummy.java
    │       │   ├── pom.xml
    │       │   ├── shaded-jar/
    │       │   │   └── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-114/
    │       │   └── pom.xml
    │       ├── MSHADE-133/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           ├── logback.xml
    │       │   │           └── myConfig.yml
    │       │   └── verify.groovy
    │       ├── MSHADE-155/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-182/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── services/
    │       │   │                   └── relocateme.Service
    │       │   └── verify.groovy
    │       ├── MSHADE-183/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-185/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-232_ResourceBundleAppendingTransformer/
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── resources/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       ├── Message.properties
    │       │   │                                       └── Message_nl.properties
    │       │   ├── pom.xml
    │       │   ├── two/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── resources/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       ├── Message.properties
    │       │   │                                       └── Message_nl.properties
    │       │   └── verify.groovy
    │       ├── MSHADE-239_finalName-attachments/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-240_reloc-mavenfiles/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-247/
    │       │   └── pom.xml
    │       ├── MSHADE-258_module_relocation/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-260-reloc-serialized-lambda/
    │       │   ├── README.txt
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── its/
    │       │   │                           └── shade/
    │       │   │                               └── reloc/
    │       │   │                                   └── lambda/
    │       │   │                                       ├── DataHolder.java
    │       │   │                                       ├── Main.java
    │       │   │                                       ├── MapFunction.java
    │       │   │                                       └── Processor.java
    │       │   └── verify.groovy
    │       ├── MSHADE-284_shadeTestJar/
    │       │   ├── api/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   ├── java/
    │       │   │       │   │   └── Api.java
    │       │   │       │   └── resources/
    │       │   │       │       └── api-resource.txt
    │       │   │       └── test/
    │       │   │           ├── java/
    │       │   │           │   └── ApiTest.java
    │       │   │           └── resources/
    │       │   │               └── api-test-resource.txt
    │       │   ├── impl/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   ├── java/
    │       │   │       │   │   └── Impl.java
    │       │   │       │   └── resources/
    │       │   │       │       └── impl-resource.txt
    │       │   │       └── test/
    │       │   │           ├── java/
    │       │   │           │   └── ImplTest.java
    │       │   │           └── resources/
    │       │   │               └── impl-test-resource.txt
    │       │   ├── pom.xml
    │       │   ├── uber/
    │       │   │   └── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-285_createTestSourcesJar/
    │       │   ├── api/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Api.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ApiTest.java
    │       │   ├── impl/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Impl.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ImplTest.java
    │       │   ├── pom.xml
    │       │   ├── uber/
    │       │   │   └── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-313_minimized-services/
    │       │   ├── dependency-service/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── DependencyReferencedClass.java
    │       │   │           │   ├── DependencyServiceClass.java
    │       │   │           │   ├── DependencyServiceInterface.java
    │       │   │           │   └── DependencyUnreferencedClass.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── services/
    │       │   │                       └── DependencyServiceInterface
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── test/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── Main.java
    │       │   ├── unused-service/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── UnusedServiceClass.java
    │       │   │           │   └── UnusedServiceInterface.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── services/
    │       │   │                       └── UnusedServiceInterface
    │       │   ├── used-service/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── SomeReferencedClass.java
    │       │   │           │   ├── SomeServiceClass.java
    │       │   │           │   ├── SomeServiceInterface.java
    │       │   │           │   └── SomeUnreferencedClass.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── services/
    │       │   │                       └── SomeServiceInterface
    │       │   └── verify.bsh
    │       ├── MSHADE-316/
    │       │   ├── dependency/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               ├── SomeUnusedClass.java
    │       │   │               ├── SomeUsedClass.java
    │       │   │               └── x/
    │       │   │                   └── y/
    │       │   │                       └── z/
    │       │   │                           ├── AnotherExemptedClass.java
    │       │   │                           ├── SomeDependencyOfExemptedClass.java
    │       │   │                           └── SomeExemptedClass.java
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── test/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── Main.java
    │       │   └── verify.bsh
    │       ├── MSHADE-340_shadedTestJarArtifactAttached/
    │       │   ├── api/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Api.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ApiTest.java
    │       │   ├── impl/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Impl.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── ImplTest.java
    │       │   ├── pom.xml
    │       │   ├── uber/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── Uber.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── UberTest.java
    │       │   ├── uber-user/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── UberUser.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── UberUserTest.java
    │       │   └── verify.groovy
    │       ├── MSHADE-351/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-36-inject-dep-reduced-pom-in-final/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── com/
    │       │   │               └── example/
    │       │   │                   └── Main.java
    │       │   └── verify.bsh
    │       ├── MSHADE-363_old-Transformer/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── resources/
    │       │               └── Message.properties
    │       ├── MSHADE-363_old-plugin/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── resources/
    │       │               └── Message.properties
    │       ├── MSHADE-373/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── MSHADE-382_skip_execution/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-390-sisu-index/
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── one/
    │       │   │           │               └── One.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── sisu/
    │       │   │                       └── javax.inject.Named
    │       │   ├── pom.xml
    │       │   ├── two/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── two/
    │       │   │           │               └── Two.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── sisu/
    │       │   │                       └── javax.inject.Named
    │       │   └── verify.groovy
    │       ├── MSHADE-391_noRelocationKeepOriginalClasses/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── MSHADE-400_self-minimized-services/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       ├── java/
    │       │   │       │   └── org/
    │       │   │       │       └── acme/
    │       │   │       │           ├── Application.java
    │       │   │       │           ├── UnusedClass.java
    │       │   │       │           ├── UnusedService.java
    │       │   │       │           ├── UnusedServiceImplA.java
    │       │   │       │           ├── UnusedServiceImplB.java
    │       │   │       │           ├── UsedClass.java
    │       │   │       │           ├── UsedService.java
    │       │   │       │           ├── UsedServiceUnusedImpl.java
    │       │   │       │           └── UsedServiceUsedImpl.java
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── services/
    │       │   │                   ├── org.acme.UnusedService
    │       │   │                   └── org.acme.UsedService
    │       │   └── verify.bsh
    │       ├── MSHADE-413-parallel/
    │       │   ├── invoker.properties
    │       │   ├── p1/
    │       │   │   └── pom.xml
    │       │   ├── p2/
    │       │   │   └── pom.xml
    │       │   └── pom.xml
    │       ├── MSHADE-420/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── verify.groovy
    │       │   └── zipdetails.txt
    │       ├── MSHADE-462/
    │       │   ├── all/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── one/
    │       │   │                           └── One.java
    │       │   └── pom.xml
    │       ├── MSHADE-467_parallel-dependency-reduced-pom/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── shadeMT1/
    │       │   │   └── pom.xml
    │       │   ├── shadeMT2/
    │       │   │   └── pom.xml
    │       │   ├── shadeMT3/
    │       │   │   └── pom.xml
    │       │   ├── shadeMT4/
    │       │   │   └── pom.xml
    │       │   └── verify.groovy
    │       ├── artifact-includes-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── attach-after-lifecycle-fork/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   └── verify.bsh
    │       ├── attached-artifact-type/
    │       │   ├── consumer/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── shade/
    │       │       ├── pom.xml
    │       │       └── src/
    │       │           └── main/
    │       │               └── resources/
    │       │                   └── META-INF/
    │       │                       └── ejb-jar.xml
    │       ├── component-descriptor-relocation/
    │       │   ├── app/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   ├── Main.java
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── test/
    │       │   │           │                   └── TestComponent.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── plexus/
    │       │   │                       └── components.xml
    │       │   ├── lib/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── component/
    │       │   │           │                   ├── api/
    │       │   │           │                   │   └── Component.java
    │       │   │           │                   └── impl/
    │       │   │           │                       └── DefaultComponent.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── plexus/
    │       │   │                       └── components.xml
    │       │   └── pom.xml
    │       ├── dep-reduced-pom/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-artifactset-provided-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-exclusions/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-relocated-result/
    │       │   ├── child/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── dep-reduced-pom-unique/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-use-base-version/
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── dep-reduced-pom-with-local-parent/
    │       │   ├── child/
    │       │   │   └── pom.xml
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── duplicate-classes-with-reloc/
    │       │   ├── app/
    │       │   │   └── pom.xml
    │       │   ├── libs/
    │       │   │   ├── a-0.1.pom
    │       │   │   ├── b-0.1.pom
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── its/
    │       │   │                               └── shade/
    │       │   │                                   ├── MyInterface.java
    │       │   │                                   └── impl/
    │       │   │                                       └── MyImpl.java
    │       │   └── pom.xml
    │       ├── duplicate-classes-without-reloc/
    │       │   ├── app/
    │       │   │   └── pom.xml
    │       │   ├── libs/
    │       │   │   ├── a-0.1.pom
    │       │   │   ├── b-0.1.pom
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── its/
    │       │   │           │                   └── shade/
    │       │   │           │                       ├── MyInterface.java
    │       │   │           │                       └── impl/
    │       │   │           │                           └── MyImpl.java
    │       │   │           └── resources/
    │       │   │               └── some-ordinary-resource.txt
    │       │   └── pom.xml
    │       ├── empty-apache-notice-transform/
    │       │   └── pom.xml
    │       ├── empty-relocation-pattern/
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── empty-relocation-shaded-pattern/
    │       │   └── pom.xml
    │       ├── extrajar/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── extrajar-missing-file/
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── filter-artifact-contents/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── finalNameBuild/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── finalNameBuild-attached/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── finalNameShade/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── finalNameShade-attached/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── setup.bsh
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── resources/
    │       │   │           └── META-INF/
    │       │   │               └── ejb-jar.xml
    │       │   └── verify.bsh
    │       ├── implicit-inclusion-of-project-artifact/
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Passed.java
    │       │   └── verify.bsh
    │       ├── manifest-retained/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── manifest-transformed/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── mini-jar/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Main.java
    │       │   └── verify.bsh
    │       ├── mini-jar-jdk11+/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Main.java
    │       │   └── verify.bsh
    │       ├── mini-jar-malformed-dependencies/
    │       │   ├── invoker.properties
    │       │   └── pom.xml
    │       ├── mini-jar-package-info/
    │       │   ├── invoker.properties
    │       │   ├── jar-with-package-info/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── it/
    │       │   │                               └── pi/
    │       │   │                                   ├── HaveOneClass.java
    │       │   │                                   ├── TestPackageAnnotation.java
    │       │   │                                   └── package-info.java
    │       │   ├── pom.xml
    │       │   ├── test/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── it/
    │       │   │                               └── pi/
    │       │   │                                   └── Main.java
    │       │   └── verify.bsh
    │       ├── mini-jar-respect-includes/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── Main.java
    │       │   └── verify.bsh
    │       ├── mshade-123/
    │       │   ├── assembly.xml
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── sample.txt
    │       ├── non-runtime-scope-excluded/
    │       │   ├── pom.xml
    │       │   ├── system.jar
    │       │   └── verify.bsh
    │       ├── plugin-descriptor-relocation/
    │       │   ├── app/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── test/
    │       │   │                               ├── Entry.java
    │       │   │                               └── TestMojo.java
    │       │   ├── lib/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       └── main/
    │       │   │           ├── java/
    │       │   │           │   └── org/
    │       │   │           │       └── apache/
    │       │   │           │           └── maven/
    │       │   │           │               └── component/
    │       │   │           │                   ├── api/
    │       │   │           │                   │   └── Component.java
    │       │   │           │                   └── impl/
    │       │   │           │                       └── DefaultComponent.java
    │       │   │           └── resources/
    │       │   │               └── META-INF/
    │       │   │                   └── plexus/
    │       │   │                       └── components.xml
    │       │   ├── pom.xml
    │       │   └── verify.groovy
    │       ├── pom-packaging/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── project-with-reactors-included/
    │       │   ├── invoker.properties
    │       │   ├── one/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── org/
    │       │   │       │           └── apache/
    │       │   │       │               └── maven/
    │       │   │       │                   └── plugins/
    │       │   │       │                       └── shade/
    │       │   │       │                           └── its/
    │       │   │       │                               └── one/
    │       │   │       │                                   ├── App.java
    │       │   │       │                                   └── AppOne.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       └── one/
    │       │   │                                           └── AppTest.java
    │       │   ├── pom.xml
    │       │   ├── two/
    │       │   │   ├── pom.xml
    │       │   │   └── src/
    │       │   │       ├── main/
    │       │   │       │   └── java/
    │       │   │       │       └── org/
    │       │   │       │           └── apache/
    │       │   │       │               └── maven/
    │       │   │       │                   └── plugins/
    │       │   │       │                       └── shade/
    │       │   │       │                           └── its/
    │       │   │       │                               └── two/
    │       │   │       │                                   └── App.java
    │       │   │       └── test/
    │       │   │           └── java/
    │       │   │               └── org/
    │       │   │                   └── apache/
    │       │   │                       └── maven/
    │       │   │                           └── plugins/
    │       │   │                               └── shade/
    │       │   │                                   └── its/
    │       │   │                                       └── two/
    │       │   │                                           └── AppTest.java
    │       │   └── verify.bsh
    │       ├── reloc-abs-resource-path/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── Main.java
    │       │           └── resources/
    │       │               └── org/
    │       │                   └── apache/
    │       │                       └── maven/
    │       │                           └── from/
    │       │                               └── test.properties
    │       ├── reloc-abs-resource-path-exclude/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── Main.java
    │       │           └── resources/
    │       │               └── org/
    │       │                   └── apache/
    │       │                       └── maven/
    │       │                           └── from/
    │       │                               ├── a/
    │       │                               │   └── test.properties
    │       │                               └── b/
    │       │                                   └── test.properties
    │       ├── reloc-and-mini/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── App.java
    │       │   └── verify.bsh
    │       ├── reloc-anno/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── java/
    │       │               ├── Main.java
    │       │               └── relocated/
    │       │                   └── MyAnno.java
    │       ├── reloc-class-from-string-pool/
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── java/
    │       │               ├── Main.java
    │       │               └── relocated/
    │       │                   └── RelocatedClass.java
    │       ├── reloc-enum-ref-from-anno/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           └── java/
    │       │               ├── Main.java
    │       │               ├── MyAnno.java
    │       │               └── relocated/
    │       │                   └── MyEnum.java
    │       ├── reloc-includes-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── rerun-with-reloc/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── org/
    │       │           │       └── MyInterface.java
    │       │           └── resources/
    │       │               └── some-ordinary-resource.txt
    │       ├── rerun-without-reloc/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   └── src/
    │       │       └── main/
    │       │           ├── java/
    │       │           │   └── org/
    │       │           │       └── MyInterface.java
    │       │           └── resources/
    │       │               └── some-ordinary-resource.txt
    │       ├── services-resource-transformer/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── services-resource-transformer-with-reloc-includes-excludes/
    │       │   ├── pom.xml
    │       │   └── verify.bsh
    │       ├── setup-parent/
    │       │   └── pom.xml
    │       ├── shadePomDependency/
    │       │   ├── pom.xml
    │       │   ├── pomDependency/
    │       │   │   └── pom.xml
    │       │   ├── shadingModule/
    │       │   │   └── pom.xml
    │       │   └── testModule/
    │       │       ├── pom.xml
    │       │       └── src/
    │       │           └── main/
    │       │               └── java/
    │       │                   └── ShadedClassUsage.java
    │       ├── shading-with-java-8-sources/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── App.java
    │       │   └── verify.groovy
    │       ├── shading-with-release-sources/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   └── main/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── App.java
    │       │   └── verify.groovy
    │       ├── users-shader-impl/
    │       │   ├── invoker.properties
    │       │   ├── pom.xml
    │       │   ├── src/
    │       │   │   ├── main/
    │       │   │   │   └── java/
    │       │   │   │       └── org/
    │       │   │   │           └── apache/
    │       │   │   │               └── maven/
    │       │   │   │                   └── plugins/
    │       │   │   │                       └── shade/
    │       │   │   │                           └── its/
    │       │   │   │                               └── App.java
    │       │   │   └── test/
    │       │   │       └── java/
    │       │   │           └── org/
    │       │   │               └── apache/
    │       │   │                   └── maven/
    │       │   │                       └── plugins/
    │       │   │                           └── shade/
    │       │   │                               └── its/
    │       │   │                                   └── AppTest.java
    │       │   └── verify.groovy
    │       └── xml-transformer-ignores-dtd/
    │           ├── pom.xml
    │           ├── src/
    │           │   └── main/
    │           │       └── resources/
    │           │           └── test.xml
    │           └── verify.bsh
    ├── main/
    │   └── java/
    │       └── org/
    │           └── apache/
    │               └── maven/
    │                   └── plugins/
    │                       └── shade/
    │                           ├── DefaultShader.java
    │                           ├── ShadeRequest.java
    │                           ├── Shader.java
    │                           ├── ShadingResult.java
    │                           ├── filter/
    │                           │   ├── Filter.java
    │                           │   ├── MinijarFilter.java
    │                           │   └── SimpleFilter.java
    │                           ├── mojo/
    │                           │   ├── ArchiveFilter.java
    │                           │   ├── ArtifactId.java
    │                           │   ├── ArtifactSelector.java
    │                           │   ├── ArtifactSet.java
    │                           │   ├── PackageRelocation.java
    │                           │   ├── RelativizePath.java
    │                           │   └── ShadeMojo.java
    │                           ├── pom/
    │                           │   ├── Counter.java
    │                           │   ├── MavenJDOMWriter.java
    │                           │   └── PomWriter.java
    │                           ├── relocation/
    │                           │   ├── Relocator.java
    │                           │   ├── SerializedLambdaRelocator.java
    │                           │   └── SimpleRelocator.java
    │                           └── resource/
    │                               ├── AbstractCompatibilityTransformer.java
    │                               ├── ApacheLicenseResourceTransformer.java
    │                               ├── ApacheNoticeResourceTransformer.java
    │                               ├── AppendingTransformer.java
    │                               ├── ComponentsXmlResourceTransformer.java
    │                               ├── DontIncludeResourceTransformer.java
    │                               ├── GroovyResourceTransformer.java
    │                               ├── IncludeResourceTransformer.java
    │                               ├── ManifestResourceTransformer.java
    │                               ├── PluginXmlResourceTransformer.java
    │                               ├── ReproducibleResourceTransformer.java
    │                               ├── ResourceBundleAppendingTransformer.java
    │                               ├── ResourceTransformer.java
    │                               ├── ServicesResourceTransformer.java
    │                               ├── SisuIndexResourceTransformer.java
    │                               ├── UseDependencyReducedPom.java
    │                               ├── XmlAppendingTransformer.java
    │                               └── properties/
    │                                   ├── MicroprofileConfigTransformer.java
    │                                   ├── OpenWebBeansPropertiesTransformer.java
    │                                   ├── PropertiesTransformer.java
    │                                   ├── SortedProperties.java
    │                                   └── io/
    │                                       ├── NoCloseOutputStream.java
    │                                       └── SkipPropertiesDateLineWriter.java
    ├── site/
    │   ├── apt/
    │   │   ├── examples/
    │   │   │   ├── attached-artifact.apt.vm
    │   │   │   ├── class-relocation.apt.vm
    │   │   │   ├── executable-jar.apt.vm
    │   │   │   ├── includes-excludes.apt.vm
    │   │   │   ├── resource-transformers.apt.vm
    │   │   │   └── use-shader-other-impl.apt.vm
    │   │   ├── index.apt.vm
    │   │   └── usage.apt.vm
    │   ├── fml/
    │   │   └── faq.fml
    │   ├── resources/
    │   │   └── download.cgi
    │   ├── site.xml
    │   └── xdoc/
    │       └── download.xml.vm
    └── test/
        ├── jars/
        │   ├── plexus-utils-1.4.1.jar
        │   ├── test-artifact-1.0-SNAPSHOT.jar
        │   └── test-project-1.0-SNAPSHOT.jar
        ├── java/
        │   └── org/
        │       └── apache/
        │           └── maven/
        │               └── plugins/
        │                   └── shade/
        │                       ├── DefaultShaderTest.java
        │                       ├── MockShader.java
        │                       ├── custom/
        │                       │   └── CustomReproducibleResourceTransformer.java
        │                       ├── filter/
        │                       │   ├── MinijarFilterTest.java
        │                       │   └── SimpleFilterTest.java
        │                       ├── mojo/
        │                       │   ├── ArtifactIdTest.java
        │                       │   ├── ArtifactSelectorTest.java
        │                       │   ├── RelativizePathTest.java
        │                       │   └── ShadeMojoTest.java
        │                       ├── relocation/
        │                       │   ├── SimpleRelocatorParameterTest.java
        │                       │   └── SimpleRelocatorTest.java
        │                       └── resource/
        │                           ├── ApacheLicenseResourceTransformerTest.java
        │                           ├── ApacheNoticeResourceTransformerTest.java
        │                           ├── AppendingTransformerTest.java
        │                           ├── ComponentsXmlResourceTransformerTest.java
        │                           ├── GroovyResourceTransformerTest.java
        │                           ├── ManifestResourceTransformerTest.java
        │                           ├── ReproducibleResourceTransformer.java
        │                           ├── ResourceBundleAppendingTransformerTest.java
        │                           ├── ServiceResourceTransformerTest.java
        │                           ├── XmlAppendingTransformerTest.java
        │                           ├── properties/
        │                           │   └── PropertiesTransformerTest.java
        │                           └── rule/
        │                               └── TransformerTesterRule.java
        ├── projects/
        │   ├── default-config-project/
        │   │   └── pom.xml
        │   ├── no-relocation-project/
        │   │   └── pom.xml
        │   ├── pom.xml
        │   ├── shaded-attached-project/
        │   │   └── pom.xml
        │   ├── shaded-project/
        │   │   └── pom.xml
        │   ├── shaded-renamed-project/
        │   │   └── pom.xml
        │   ├── test-artifact/
        │   │   ├── pom.xml
        │   │   └── src/
        │   │       └── main/
        │   │           └── java/
        │   │               └── org/
        │   │                   └── apache/
        │   │                       └── maven/
        │   │                           └── plugins/
        │   │                               └── shade/
        │   │                                   └── Lib.java
        │   └── test-project/
        │       ├── pom.xml
        │       └── src/
        │           ├── main/
        │           │   ├── java/
        │           │   │   └── org/
        │           │   │       └── apache/
        │           │   │           └── maven/
        │           │   │               └── plugins/
        │           │   │                   └── shade/
        │           │   │                       └── App.java
        │           │   └── resources/
        │           │       └── META-INF/
        │           │           └── plexus/
        │           │               └── components.xml
        │           └── test/
        │               └── java/
        │                   └── org/
        │                       └── apache/
        │                           └── maven/
        │                               └── plugins/
        │                                   └── shade/
        │                                       └── AppTest.java
        └── resources/
            ├── components-1.xml
            ├── components-2.xml
            └── components-expected.xml
Download .txt
SYMBOL INDEX (702 symbols across 159 files)

FILE: src/it/mrm/repository/MSHADE-247/mshade-247-one-0.1-sources.jar/org/apache/maven/its/shade/csj/Test.java
  class Test (line 22) | public class Test

FILE: src/it/projects/MSHADE-105/bundle/src/main/java/test/Dummy.java
  class Dummy (line 28) | public class Dummy {
    method dump (line 29) | public static void dump(InputStream in) throws IOException {

FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/DataHolder.java
  class DataHolder (line 24) | public class DataHolder {
    method DataHolder (line 27) | public DataHolder(String value) {
    method getValue (line 31) | public String getValue() {

FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/Main.java
  class Main (line 25) | public class Main {
    method main (line 26) | public static void main(String[] args) {
    method transform (line 35) | public static String transform(DataHolder value, MapFunction<DataHolde...

FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/MapFunction.java
  type MapFunction (line 27) | @FunctionalInterface
    method map (line 29) | R map(T t);

FILE: src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/Processor.java
  class Processor (line 24) | public class Processor {
    method process (line 25) | public String process(DataHolder data) {

FILE: src/it/projects/MSHADE-284_shadeTestJar/api/src/main/java/Api.java
  class Api (line 20) | public class Api

FILE: src/it/projects/MSHADE-284_shadeTestJar/api/src/test/java/ApiTest.java
  class ApiTest (line 20) | public class ApiTest
    method main (line 22) | public static void main(String[] args) {

FILE: src/it/projects/MSHADE-284_shadeTestJar/impl/src/main/java/Impl.java
  class Impl (line 20) | public class Impl extends Api

FILE: src/it/projects/MSHADE-284_shadeTestJar/impl/src/test/java/ImplTest.java
  class ImplTest (line 20) | public class ImplTest extends ApiTest
    method main (line 22) | public static void main(String[] args) {

FILE: src/it/projects/MSHADE-285_createTestSourcesJar/api/src/main/java/Api.java
  class Api (line 23) | public class Api

FILE: src/it/projects/MSHADE-285_createTestSourcesJar/api/src/test/java/ApiTest.java
  class ApiTest (line 23) | public class ApiTest
    method main (line 25) | public static void main(String[] args) {

FILE: src/it/projects/MSHADE-285_createTestSourcesJar/impl/src/main/java/Impl.java
  class Impl (line 23) | public class Impl extends Api

FILE: src/it/projects/MSHADE-285_createTestSourcesJar/impl/src/test/java/ImplTest.java
  class ImplTest (line 23) | public class ImplTest extends ApiTest
    method main (line 25) | public static void main(String[] args) {

FILE: src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyReferencedClass.java
  class DependencyReferencedClass (line 20) | public class DependencyReferencedClass

FILE: src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyServiceClass.java
  class DependencyServiceClass (line 20) | public class DependencyServiceClass implements DependencyServiceInterface

FILE: src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyServiceInterface.java
  type DependencyServiceInterface (line 20) | public interface DependencyServiceInterface

FILE: src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyUnreferencedClass.java
  class DependencyUnreferencedClass (line 20) | public class DependencyUnreferencedClass

FILE: src/it/projects/MSHADE-313_minimized-services/test/src/main/java/Main.java
  class Main (line 22) | public class Main
    method main (line 24) | public static void main( String[] args ) {

FILE: src/it/projects/MSHADE-313_minimized-services/unused-service/src/main/java/UnusedServiceClass.java
  class UnusedServiceClass (line 20) | public class UnusedServiceClass implements UnusedServiceInterface

FILE: src/it/projects/MSHADE-313_minimized-services/unused-service/src/main/java/UnusedServiceInterface.java
  type UnusedServiceInterface (line 20) | public interface UnusedServiceInterface

FILE: src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeReferencedClass.java
  class SomeReferencedClass (line 22) | public class SomeReferencedClass

FILE: src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeServiceClass.java
  class SomeServiceClass (line 20) | public class SomeServiceClass implements SomeServiceInterface

FILE: src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeServiceInterface.java
  type SomeServiceInterface (line 20) | public interface SomeServiceInterface

FILE: src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeUnreferencedClass.java
  class SomeUnreferencedClass (line 20) | public class SomeUnreferencedClass

FILE: src/it/projects/MSHADE-316/dependency/src/main/java/SomeUnusedClass.java
  class SomeUnusedClass (line 20) | public class SomeUnusedClass

FILE: src/it/projects/MSHADE-316/dependency/src/main/java/SomeUsedClass.java
  class SomeUsedClass (line 22) | public class SomeUsedClass

FILE: src/it/projects/MSHADE-316/dependency/src/main/java/x/y/z/AnotherExemptedClass.java
  class AnotherExemptedClass (line 22) | public class AnotherExemptedClass

FILE: src/it/projects/MSHADE-316/dependency/src/main/java/x/y/z/SomeDependencyOfExemptedClass.java
  class SomeDependencyOfExemptedClass (line 22) | public class SomeDependencyOfExemptedClass

FILE: src/it/projects/MSHADE-316/dependency/src/main/java/x/y/z/SomeExemptedClass.java
  class SomeExemptedClass (line 22) | public class SomeExemptedClass

FILE: src/it/projects/MSHADE-316/test/src/main/java/Main.java
  class Main (line 20) | public class Main
    method main (line 24) | public static void main( String[] args ) throws ClassNotFoundException

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/api/src/main/java/Api.java
  class Api (line 23) | public class Api

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/api/src/test/java/ApiTest.java
  class ApiTest (line 23) | public class ApiTest
    method main (line 25) | public static void main(String[] args) {

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/impl/src/main/java/Impl.java
  class Impl (line 23) | public class Impl extends Api

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/impl/src/test/java/ImplTest.java
  class ImplTest (line 23) | public class ImplTest extends ApiTest
    method main (line 25) | public static void main(String[] args) {

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber-user/src/main/java/UberUser.java
  class UberUser (line 20) | public class UberUser

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber-user/src/test/java/UberUserTest.java
  class UberUserTest (line 25) | public class UberUserTest

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber/src/main/java/Uber.java
  class Uber (line 23) | public class Uber

FILE: src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber/src/test/java/UberTest.java
  class UberTest (line 23) | public class UberTest

FILE: src/it/projects/MSHADE-36-inject-dep-reduced-pom-in-final/src/main/java/com/example/Main.java
  class Main (line 24) | public class Main
    method main (line 26) | public static void main( String[] args ) {
    method isEmpty (line 30) | public static boolean isEmpty( String input ) {

FILE: src/it/projects/MSHADE-390-sisu-index/one/src/main/java/org/apache/one/One.java
  class One (line 3) | public class One {

FILE: src/it/projects/MSHADE-390-sisu-index/two/src/main/java/org/apache/two/Two.java
  class Two (line 3) | public class Two {

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/Application.java
  class Application (line 23) | public class Application
    method main (line 27) | public static void main( String[] args )

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UnusedClass.java
  class UnusedClass (line 21) | public class UnusedClass

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UnusedService.java
  type UnusedService (line 21) | public interface UnusedService
    method doSomething (line 23) | public void doSomething();

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UnusedServiceImplA.java
  class UnusedServiceImplA (line 21) | public class UnusedServiceImplA implements UnusedService
    method doSomething (line 23) | @Override

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UnusedServiceImplB.java
  class UnusedServiceImplB (line 21) | public class UnusedServiceImplB implements UnusedService
    method doSomething (line 23) | @Override

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UsedClass.java
  class UsedClass (line 21) | public class UsedClass

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UsedService.java
  type UsedService (line 21) | public interface UsedService
    method doSomething (line 23) | public void doSomething();

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UsedServiceUnusedImpl.java
  class UsedServiceUnusedImpl (line 21) | public class UsedServiceUnusedImpl implements UsedService
    method doSomething (line 23) | @Override

FILE: src/it/projects/MSHADE-400_self-minimized-services/src/main/java/org/acme/UsedServiceUsedImpl.java
  class UsedServiceUsedImpl (line 21) | public class UsedServiceUsedImpl implements UsedService
    method doSomething (line 23) | @Override

FILE: src/it/projects/MSHADE-462/one/src/main/java/org/apache/one/One.java
  class One (line 22) | public class One {

FILE: src/it/projects/component-descriptor-relocation/app/src/main/java/Main.java
  class Main (line 24) | public class Main
    method main (line 27) | public static void main( String[] args )

FILE: src/it/projects/component-descriptor-relocation/app/src/main/java/org/apache/maven/test/TestComponent.java
  class TestComponent (line 25) | public class TestComponent implements Component
    method getId (line 30) | public String getId()

FILE: src/it/projects/component-descriptor-relocation/lib/src/main/java/org/apache/maven/component/api/Component.java
  type Component (line 22) | public interface Component
    method getId (line 25) | String getId();

FILE: src/it/projects/component-descriptor-relocation/lib/src/main/java/org/apache/maven/component/impl/DefaultComponent.java
  class DefaultComponent (line 24) | public class DefaultComponent implements Component
    method getId (line 27) | public String getId()

FILE: src/it/projects/duplicate-classes-with-reloc/libs/src/main/java/org/apache/maven/its/shade/MyInterface.java
  type MyInterface (line 22) | public interface MyInterface
    method execute (line 24) | void execute();

FILE: src/it/projects/duplicate-classes-with-reloc/libs/src/main/java/org/apache/maven/its/shade/impl/MyImpl.java
  class MyImpl (line 24) | public class MyImpl implements MyInterface
    method execute (line 26) | @Override

FILE: src/it/projects/duplicate-classes-without-reloc/libs/src/main/java/org/apache/maven/its/shade/MyInterface.java
  type MyInterface (line 22) | public interface MyInterface
    method execute (line 24) | void execute();

FILE: src/it/projects/duplicate-classes-without-reloc/libs/src/main/java/org/apache/maven/its/shade/impl/MyImpl.java
  class MyImpl (line 24) | public class MyImpl implements MyInterface
    method execute (line 26) | @Override

FILE: src/it/projects/implicit-inclusion-of-project-artifact/src/main/java/Passed.java
  class Passed (line 20) | public class Passed

FILE: src/it/projects/mini-jar-jdk11+/src/main/java/Main.java
  class Main (line 20) | public class Main extends junit.framework.TestCase
    class Nested (line 22) | static class Nested { // Trigger MSHADE-302

FILE: src/it/projects/mini-jar-package-info/jar-with-package-info/src/main/java/org/apache/maven/it/pi/HaveOneClass.java
  class HaveOneClass (line 21) | public class HaveOneClass

FILE: src/it/projects/mini-jar-package-info/test/src/main/java/org/apache/maven/it/pi/Main.java
  class Main (line 22) | public class Main extends HaveOneClass

FILE: src/it/projects/mini-jar-respect-includes/src/main/java/Main.java
  class Main (line 20) | public class Main

FILE: src/it/projects/mini-jar/src/main/java/Main.java
  class Main (line 20) | public class Main

FILE: src/it/projects/plugin-descriptor-relocation/app/src/main/java/org/apache/maven/test/Entry.java
  class Entry (line 22) | public class Entry

FILE: src/it/projects/plugin-descriptor-relocation/app/src/main/java/org/apache/maven/test/TestMojo.java
  class TestMojo (line 31) | @Mojo( name = "test"  )
    method execute (line 40) | public void execute()

FILE: src/it/projects/plugin-descriptor-relocation/lib/src/main/java/org/apache/maven/component/api/Component.java
  type Component (line 22) | public interface Component
    method getId (line 25) | String getId();

FILE: src/it/projects/plugin-descriptor-relocation/lib/src/main/java/org/apache/maven/component/impl/DefaultComponent.java
  class DefaultComponent (line 24) | public class DefaultComponent implements Component
    method getId (line 27) | public String getId()

FILE: src/it/projects/project-with-reactors-included/one/src/main/java/org/apache/maven/plugins/shade/its/one/App.java
  class App (line 27) | public class App
    method main (line 29) | public static void main( String[] args )

FILE: src/it/projects/project-with-reactors-included/one/src/main/java/org/apache/maven/plugins/shade/its/one/AppOne.java
  class AppOne (line 27) | public class AppOne
    method main (line 29) | public static void main( String[] args )

FILE: src/it/projects/project-with-reactors-included/one/src/test/java/org/apache/maven/plugins/shade/its/one/AppTest.java
  class AppTest (line 28) | public class AppTest {
    method testApp (line 34) | @Test

FILE: src/it/projects/project-with-reactors-included/two/src/main/java/org/apache/maven/plugins/shade/its/two/App.java
  class App (line 27) | public class App
    method main (line 29) | public static void main( String[] args )

FILE: src/it/projects/project-with-reactors-included/two/src/test/java/org/apache/maven/plugins/shade/its/two/AppTest.java
  class AppTest (line 28) | public class AppTest {
    method testApp (line 32) | @Test

FILE: src/it/projects/reloc-abs-resource-path-exclude/src/main/java/Main.java
  class Main (line 22) | public class Main
    method main (line 25) | public static void main( String[] args )
    method testAbsResource (line 31) | private void testAbsResource() throws Exception

FILE: src/it/projects/reloc-abs-resource-path/src/main/java/Main.java
  class Main (line 22) | public class Main
    method main (line 25) | public static void main( String[] args )
    method testAbsResource (line 32) | private void testAbsResource() throws Exception

FILE: src/it/projects/reloc-and-mini/src/main/java/org/apache/maven/plugins/shade/its/App.java
  class App (line 24) | public class App
    method main (line 26) | public static void main( String[] args )

FILE: src/it/projects/reloc-anno/src/main/java/Main.java
  class Main (line 24) | @MyAnno
    method Main (line 31) | @MyAnno
    method method (line 36) | @MyAnno
    method main (line 41) | public static void main( String[] args )

FILE: src/it/projects/reloc-class-from-string-pool/src/main/java/Main.java
  class Main (line 20) | public class Main
    method main (line 23) | public static void main( String[] args )
    method testClassWithSlashes (line 32) | private static void testClassWithSlashes()
    method testClassWithDots (line 42) | private static void testClassWithDots()
    method testArrayClassWithSlashes (line 52) | private static void testArrayClassWithSlashes()
    method testArrayClassWithDots (line 62) | private static void testArrayClassWithDots()

FILE: src/it/projects/reloc-class-from-string-pool/src/main/java/relocated/RelocatedClass.java
  class RelocatedClass (line 22) | public class RelocatedClass

FILE: src/it/projects/reloc-enum-ref-from-anno/src/main/java/Main.java
  class Main (line 20) | @MyAnno( relocated.MyEnum.YES )
    method main (line 24) | public static void main( String[] args )

FILE: src/it/projects/reloc-enum-ref-from-anno/src/main/java/relocated/MyEnum.java
  type MyEnum (line 22) | public enum MyEnum

FILE: src/it/projects/rerun-with-reloc/src/main/java/org/MyInterface.java
  type MyInterface (line 26) | public interface MyInterface

FILE: src/it/projects/rerun-without-reloc/src/main/java/org/MyInterface.java
  type MyInterface (line 26) | public interface MyInterface

FILE: src/it/projects/shadePomDependency/testModule/src/main/java/ShadedClassUsage.java
  class ShadedClassUsage (line 20) | public class ShadedClassUsage
    method main (line 22) | public static void main() throws Exception

FILE: src/it/projects/shading-with-java-8-sources/src/main/java/org/apache/maven/plugins/shade/its/App.java
  class App (line 26) | public class App
    method main (line 28) | public static void main( String[] args )

FILE: src/it/projects/shading-with-release-sources/src/main/java/org/apache/maven/plugins/shade/its/App.java
  class App (line 26) | public class App
    method main (line 28) | public static void main( String[] args )

FILE: src/it/projects/users-shader-impl/src/main/java/org/apache/maven/plugins/shade/its/App.java
  class App (line 27) | public class App
    method main (line 29) | public static void main( String[] args )

FILE: src/it/projects/users-shader-impl/src/test/java/org/apache/maven/plugins/shade/its/AppTest.java
  class AppTest (line 28) | public class AppTest {
    method testApp (line 38) | @Test

FILE: src/main/java/org/apache/maven/plugins/shade/DefaultShader.java
  class DefaultShader (line 80) | @Singleton
    method DefaultShader (line 87) | public DefaultShader() {
    method DefaultShader (line 91) | public DefaultShader(final Logger logger) {
    method getTime (line 96) | private long getTime(ZipEntry entry) {
    method hasX5455ExtendedTimestamp (line 114) | private static boolean hasX5455ExtendedTimestamp(ZipEntry zipEntry) {
    method shade (line 134) | public void shade(ShadeRequest shadeRequest) throws IOException, MojoE...
    class ZipHeaderPeekInputStream (line 195) | private static class ZipHeaderPeekInputStream extends PushbackInputStr...
      method ZipHeaderPeekInputStream (line 201) | protected ZipHeaderPeekInputStream(InputStream in) {
      method hasZipHeader (line 205) | public boolean hasZipHeader() throws IOException {
    class CrcAndSize (line 218) | private static class CrcAndSize {
      method CrcAndSize (line 224) | CrcAndSize(InputStream inputStream) throws IOException {
      method load (line 228) | private void load(InputStream inputStream) throws IOException {
      method setupStoredEntry (line 237) | public void setupStoredEntry(JarEntry entry) {
    method shadeJars (line 245) | private void shadeJars(
    method shadeDir (line 276) | @SuppressWarnings("checkstyle:ParameterNumber")
    method shadeJar (line 341) | @SuppressWarnings("checkstyle:ParameterNumber")
    method isExcludedEntry (line 388) | private boolean isExcludedEntry(final String name) {
    method shadeJarEntry (line 403) | @SuppressWarnings("checkstyle:ParameterNumber")
    method goThroughAllJarEntriesForManifestTransformer (line 455) | private void goThroughAllJarEntriesForManifestTransformer(
    method showOverlappingWarning (line 484) | private void showOverlappingWarning() {
    method logSummaryOfDuplicates (line 494) | private void logSummaryOfDuplicates(Map<Collection<File>, HashSet<Stri...
    method newJarFile (line 554) | private JarFile newJarFile(File jar) throws IOException {
    method getFilters (line 564) | private List<Filter> getFilters(File jar, List<Filter> filters) {
    method addDirectory (line 576) | private void addDirectory(Set<String> resources, JarOutputStream jos, ...
    method addRemappedClass (line 592) | private void addRemappedClass(
    method isFiltered (line 656) | private boolean isFiltered(List<Filter> filters, String name) {
    method resourceTransformed (line 666) | private boolean resourceTransformed(
    method addJavaSource (line 694) | private void addJavaSource(
    method addResource (line 719) | private void addResource(
    type PackageMapper (line 745) | private interface PackageMapper {
      method map (line 754) | String map(String entityName, boolean mapPaths, boolean mapPackages);
    class DefaultPackageMapper (line 760) | private static class DefaultPackageMapper implements PackageMapper {
      method DefaultPackageMapper (line 765) | private DefaultPackageMapper(final List<Relocator> relocators) {
      method map (line 769) | @Override
    class LazyInitRemapper (line 796) | private static class LazyInitRemapper extends Remapper {
      method mapValue (line 799) | @Override
      method map (line 804) | @Override
    class ShadeClassRemapper (line 828) | private static class ShadeClassRemapper extends ClassRemapper implemen...
      method ShadeClassRemapper (line 833) | ShadeClassRemapper(
      method visitSource (line 843) | @Override
      method map (line 856) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/ShadeRequest.java
  class ShadeRequest (line 33) | public class ShadeRequest {
    method getJars (line 47) | public Set<File> getJars() {
    method setJars (line 56) | public void setJars(Set<File> jars) {
    method getUberJar (line 60) | public File getUberJar() {
    method setUberJar (line 69) | public void setUberJar(File uberJar) {
    method getFilters (line 73) | public List<Filter> getFilters() {
    method setFilters (line 82) | public void setFilters(List<Filter> filters) {
    method getRelocators (line 86) | public List<Relocator> getRelocators() {
    method setRelocators (line 95) | public void setRelocators(List<Relocator> relocators) {
    method getResourceTransformers (line 99) | public List<ResourceTransformer> getResourceTransformers() {
    method setResourceTransformers (line 108) | public void setResourceTransformers(List<ResourceTransformer> resource...
    method isShadeSourcesContent (line 112) | public boolean isShadeSourcesContent() {
    method setShadeSourcesContent (line 123) | public void setShadeSourcesContent(boolean shadeSourcesContent) {

FILE: src/main/java/org/apache/maven/plugins/shade/Shader.java
  type Shader (line 28) | public interface Shader {
    method shade (line 36) | void shade(ShadeRequest shadeRequest) throws IOException, MojoExecutio...

FILE: src/main/java/org/apache/maven/plugins/shade/ShadingResult.java
  class ShadingResult (line 24) | public class ShadingResult {

FILE: src/main/java/org/apache/maven/plugins/shade/filter/Filter.java
  type Filter (line 26) | public interface Filter {
    method canFilter (line 31) | boolean canFilter(File jar);
    method isFiltered (line 37) | boolean isFiltered(String classFile);
    method finished (line 42) | void finished();

FILE: src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java
  class MinijarFilter (line 50) | public class MinijarFilter implements Filter {
    method MinijarFilter (line 63) | MinijarFilter(int classesKept, int classesRemoved, Log log) {
    method MinijarFilter (line 74) | public MinijarFilter(MavenProject project, Log log) throws IOException {
    method MinijarFilter (line 84) | public MinijarFilter(MavenProject project, Log log, Set<String> entryP...
    method MinijarFilter (line 96) | public MinijarFilter(MavenProject project, Log log, List<SimpleFilter>...
    method removeServices (line 150) | private void removeServices(final MavenProject project, final Clazzpat...
    method removeServicesFromDir (line 176) | private boolean removeServicesFromDir(Clazzpath cp, Set<Clazz> neededC...
    method removeServicesFromJar (line 205) | private boolean removeServicesFromJar(Clazzpath cp, Set<Clazz> neededC...
    method scanServiceProviderConfigFile (line 234) | private boolean scanServiceProviderConfigFile(Clazzpath cp, BufferedRe...
    method removeClass (line 254) | private void removeClass(final Clazz clazz) {
    method addDependencyToClasspath (line 259) | private ClazzpathUnit addDependencyToClasspath(Clazzpath cp, Artifact ...
    method removePackages (line 279) | private void removePackages(ClazzpathUnit artifactUnit) {
    method removePackages (line 285) | private void removePackages(Set<Clazz> clazzes, Set<String> packageNam...
    method removeSpecificallyIncludedClasses (line 297) | private void removeSpecificallyIncludedClasses(MavenProject project, L...
    method canFilter (line 323) | @Override
    method isFiltered (line 328) | @Override
    method finished (line 343) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/filter/SimpleFilter.java
  class SimpleFilter (line 36) | public class SimpleFilter implements Filter {
    method SimpleFilter (line 52) | @Deprecated
    method SimpleFilter (line 61) | public SimpleFilter(final Set<File> jars, final ArchiveFilter archiveF...
    method SimpleFilter (line 71) | private SimpleFilter(
    method canFilter (line 83) | @Override
    method isFiltered (line 89) | @Override
    method isSpecificallyIncluded (line 100) | public boolean isSpecificallyIncluded(String classFile) {
    method isIncluded (line 110) | private boolean isIncluded(String classFile) {
    method isExcluded (line 118) | private boolean isExcluded(String classFile) {
    method matchPaths (line 126) | private boolean matchPaths(Set<String> patterns, String classFile) {
    method normalizePath (line 137) | private String normalizePath(String path) {
    method normalizePatterns (line 141) | private Set<String> normalizePatterns(Set<String> patterns) {
    method finished (line 160) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/ArchiveFilter.java
  class ArchiveFilter (line 26) | public class ArchiveFilter {
    method getArtifact (line 35) | public String getArtifact() {
    method getIncludes (line 39) | public Set<String> getIncludes() {
    method getExcludes (line 43) | public Set<String> getExcludes() {
    method getExcludeDefaults (line 47) | public boolean getExcludeDefaults() {

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/ArtifactId.java
  class ArtifactId (line 28) | class ArtifactId {
    method ArtifactId (line 38) | ArtifactId(Dependency dependency) {
    method ArtifactId (line 42) | ArtifactId(Artifact artifact) {
    method ArtifactId (line 46) | ArtifactId(String groupId, String artifactId, String type, String clas...
    method ArtifactId (line 53) | ArtifactId(String id) {
    method getGroupId (line 64) | public String getGroupId() {
    method getArtifactId (line 68) | public String getArtifactId() {
    method getType (line 72) | public String getType() {
    method getClassifier (line 76) | public String getClassifier() {
    method matches (line 80) | public boolean matches(ArtifactId pattern) {
    method match (line 96) | private boolean match(String str, String pattern) {

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/ArtifactSelector.java
  class ArtifactSelector (line 29) | class ArtifactSelector {
    method ArtifactSelector (line 35) | ArtifactSelector(Artifact projectArtifact, ArtifactSet artifactSet, St...
    method ArtifactSelector (line 46) | ArtifactSelector(Collection<String> includes, Collection<String> exclu...
    method toIds (line 55) | private static Collection<ArtifactId> toIds(Collection<String> pattern...
    method isSelected (line 67) | public boolean isSelected(Artifact artifact) {
    method isSelected (line 71) | boolean isSelected(ArtifactId id) {
    method matches (line 75) | private boolean matches(Collection<ArtifactId> patterns, ArtifactId id) {

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/ArtifactSet.java
  class ArtifactSet (line 26) | public class ArtifactSet {
    method getIncludes (line 31) | public Set<String> getIncludes() {
    method getExcludes (line 35) | public Set<String> getExcludes() {

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/PackageRelocation.java
  class PackageRelocation (line 27) | public class PackageRelocation {
    method getPattern (line 40) | public String getPattern() {
    method getShadedPattern (line 44) | public String getShadedPattern() {
    method getIncludes (line 48) | public List<String> getIncludes() {
    method getExcludes (line 52) | public List<String> getExcludes() {
    method isRawString (line 56) | public boolean isRawString() {
    method isShadeSerializedLambda (line 60) | public boolean isShadeSerializedLambda() {

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/RelativizePath.java
  class RelativizePath (line 29) | public final class RelativizePath {
    method RelativizePath (line 30) | private RelativizePath() {
    method convertToRelativePath (line 41) | static String convertToRelativePath(File thing, File relativeTo) {
    method parentDirs (line 83) | static List<String> parentDirs(File of) {

FILE: src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
  class ShadeMojo (line 98) | @Mojo(
    method execute (line 467) | @SuppressWarnings("checkstyle:methodlength")
    method createErrorOutput (line 684) | private void createErrorOutput() {
    method shadeRequest (line 696) | private ShadeRequest shadeRequest(
    method createShadeSourcesRequest (line 712) | private ShadeRequest createShadeSourcesRequest(
    method setupHintedShader (line 725) | private void setupHintedShader() throws MojoExecutionException {
    method processArtifactSelectors (line 736) | private List<Artifact> processArtifactSelectors(
    method invalidMainArtifact (line 851) | private boolean invalidMainArtifact() {
    method replaceFile (line 856) | private void replaceFile(File oldFile, File newFile) throws MojoExecut...
    method copyFiles (line 891) | private void copyFiles(File source, File target) throws IOException {
    method resolveArtifactForClassifier (line 898) | private Artifact resolveArtifactForClassifier(Artifact artifact, Strin...
    method resolveArtifact (line 923) | private org.eclipse.aether.artifact.Artifact resolveArtifact(org.eclip...
    method getRelocators (line 932) | private List<Relocator> getRelocators() {
    method getResourceTransformers (line 951) | private List<ResourceTransformer> getResourceTransformers() throws Moj...
    method getFilters (line 964) | private List<Filter> getFilters(List<Artifact> artifactCollection) thr...
    method shadedArtifactFileWithClassifier (line 1034) | private File shadedArtifactFileWithClassifier() {
    method shadedSourceArtifactFileWithClassifier (line 1041) | private File shadedSourceArtifactFileWithClassifier() {
    method shadedTestSourceArtifactFileWithClassifier (line 1045) | private File shadedTestSourceArtifactFileWithClassifier() {
    method shadedArtifactFileWithClassifier (line 1049) | private File shadedArtifactFileWithClassifier(String classifier) {
    method shadedTestArtifactFileWithClassifier (line 1056) | private File shadedTestArtifactFileWithClassifier() {
    method shadedSourcesArtifactFile (line 1060) | private File shadedSourcesArtifactFile() {
    method shadedTestSourcesArtifactFile (line 1064) | private File shadedTestSourcesArtifactFile() {
    method shadedArtifactFile (line 1068) | private File shadedArtifactFile(String classifier) {
    method shadedTestArtifactFile (line 1084) | private File shadedTestArtifactFile() {
    method createDependencyReducedPom (line 1090) | private void createDependencyReducedPom(Set<String> artifactsToRemove)
    method rewriteDependencyReducedPomIfWeHaveReduction (line 1157) | private void rewriteDependencyReducedPomIfWeHaveReduction(
    method removeSystemScopedDependencies (line 1238) | private void removeSystemScopedDependencies(Set<String> artifactsToRem...
    method addSystemScopedDependencyFromNonInterpolatedPom (line 1246) | private void addSystemScopedDependencyFromNonInterpolatedPom(
    method createDependency (line 1255) | private Dependency createDependency(Artifact artifact) {
    method getId (line 1273) | private String getId(Artifact artifact) {
    method getId (line 1277) | private String getId(Dependency dependency) {
    method getId (line 1282) | private String getId(String groupId, String artifactId, String type, S...
    method updateExcludesInDeps (line 1286) | public boolean updateExcludesInDeps(
    method dependencyHasExclusion (line 1362) | private boolean dependencyHasExclusion(Dependency dep, Artifact exclus...
    method toResourceTransformers (line 1374) | private List<ResourceTransformer> toResourceTransformers(

FILE: src/main/java/org/apache/maven/plugins/shade/pom/Counter.java
  class Counter (line 24) | public class Counter {
    method Counter (line 44) | public Counter(int depthLevel) {
    method getCurrentIndex (line 55) | public int getCurrentIndex() {
    method getDepth (line 63) | public int getDepth() {
    method increaseCount (line 70) | public void increaseCount() {

FILE: src/main/java/org/apache/maven/plugins/shade/pom/MavenJDOMWriter.java
  class MavenJDOMWriter (line 88) | public class MavenJDOMWriter {
    method MavenJDOMWriter (line 99) | public MavenJDOMWriter() {
    method MavenJDOMWriter (line 103) | public MavenJDOMWriter(final String lineSeparator) {
    method findAndReplaceProperties (line 117) | protected Element findAndReplaceProperties(Counter counter, Element pa...
    method findAndReplaceSimpleElement (line 150) | protected Element findAndReplaceSimpleElement(
    method findAndReplaceSimpleLists (line 177) | protected Element findAndReplaceSimpleLists(
    method findAndReplaceXpp3DOM (line 221) | protected Element findAndReplaceXpp3DOM(Counter counter, Element paren...
    method insertAtPreferredLocation (line 237) | protected void insertAtPreferredLocation(Element parent, Element child...
    method iterateContributor (line 283) | protected void iterateContributor(
    method iterateDependency (line 326) | protected void iterateDependency(
    method iterateDeveloper (line 369) | protected void iterateDeveloper(
    method iterateExclusion (line 412) | protected void iterateExclusion(
    method iterateExtension (line 455) | protected void iterateExtension(
    method iterateLicense (line 498) | protected void iterateLicense(
    method iterateMailingList (line 541) | protected void iterateMailingList(
    method iterateNotifier (line 584) | protected void iterateNotifier(
    method iteratePlugin (line 627) | protected void iteratePlugin(
    method iteratePluginExecution (line 670) | protected void iteratePluginExecution(
    method iterateProfile (line 713) | protected void iterateProfile(
    method iterateReportPlugin (line 756) | protected void iterateReportPlugin(
    method iterateReportSet (line 799) | protected void iterateReportSet(
    method iterateRepository (line 842) | protected void iterateRepository(
    method iterateResource (line 885) | protected void iterateResource(
    method replaceXpp3DOM (line 926) | protected void replaceXpp3DOM(Element parent, Xpp3Dom parentDom, Count...
    method updateActivationFile (line 967) | protected void updateActivationFile(ActivationFile value, String xmlTa...
    method updateActivationOS (line 985) | protected void updateActivationOS(ActivationOS value, String xmlTag, C...
    method updateActivationProperty (line 1005) | protected void updateActivationProperty(ActivationProperty value, Stri...
    method updateBuild (line 1024) | protected void updateBuild(Build value, String xmlTag, Counter counter...
    method updateBuildBase (line 1056) | protected void updateBuildBase(BuildBase value, String xmlTag, Counter...
    method updateCiManagement (line 1080) | protected void updateCiManagement(CiManagement value, String xmlTag, C...
    method updateConfigurationContainer (line 1099) | protected void updateConfigurationContainer(
    method updateContributor (line 1118) | protected void updateContributor(Contributor value, String xmlTag, Cou...
    method updateDependency (line 1139) | protected void updateDependency(Dependency value, String xmlTag, Count...
    method updateDependencyManagement (line 1162) | protected void updateDependencyManagement(
    method updateDeploymentRepository (line 1180) | protected void updateDeploymentRepository(
    method updateDeveloper (line 1207) | protected void updateDeveloper(Developer value, String xmlTag, Counter...
    method updateDistributionManagement (line 1229) | protected void updateDistributionManagement(
    method updateElement (line 1253) | protected Element updateElement(Counter counter, Element parent, Strin...
    method updateExclusion (line 1287) | protected void updateExclusion(Exclusion value, String xmlTag, Counter...
    method updateExtension (line 1302) | protected void updateExtension(Extension value, String xmlTag, Counter...
    method updateFileSet (line 1318) | protected void updateFileSet(FileSet value, String xmlTag, Counter cou...
    method updateIssueManagement (line 1337) | protected void updateIssueManagement(IssueManagement value, String xml...
    method updateLicense (line 1355) | protected void updateLicense(License value, String xmlTag, Counter cou...
    method updateMailingList (line 1372) | protected void updateMailingList(MailingList value, String xmlTag, Cou...
    method updateModel (line 1391) | protected void updateModel(Model value, String xmlTag, Counter counter...
    method updateModelBase (line 1434) | protected void updateModelBase(ModelBase value, String xmlTag, Counter...
    method updateNotifier (line 1461) | protected void updateNotifier(Notifier value, String xmlTag, Counter c...
    method updateOrganization (line 1502) | protected void updateOrganization(Organization value, String xmlTag, C...
    method updateParent (line 1520) | protected void updateParent(Parent value, String xmlTag, Counter count...
    method updatePatternSet (line 1540) | protected void updatePatternSet(PatternSet value, String xmlTag, Count...
    method updatePlugin (line 1558) | protected void updatePlugin(Plugin value, String xmlTag, Counter count...
    method updatePluginConfiguration (line 1585) | protected void updatePluginConfiguration(
    method updatePluginContainer (line 1605) | protected void updatePluginContainer(PluginContainer value, String xml...
    method updatePluginExecution (line 1622) | protected void updatePluginExecution(PluginExecution value, String xml...
    method updatePluginManagement (line 1640) | protected void updatePluginManagement(PluginManagement value, String x...
    method updatePrerequisites (line 1657) | protected void updatePrerequisites(Prerequisites value, String xmlTag,...
    method updateProfile (line 1674) | protected void updateProfile(Profile value, String xmlTag, Counter cou...
    method updateRelocation (line 1698) | protected void updateRelocation(Relocation value, String xmlTag, Count...
    method updateReportPlugin (line 1718) | protected void updateReportPlugin(ReportPlugin value, String xmlTag, C...
    method updateReportSet (line 1737) | protected void updateReportSet(ReportSet value, String xmlTag, Counter...
    method updateReporting (line 1754) | protected void updateReporting(Reporting value, String xmlTag, Counter...
    method updateRepository (line 1778) | protected void updateRepository(Repository value, String xmlTag, Count...
    method updateRepositoryBase (line 1797) | protected void updateRepositoryBase(RepositoryBase value, String xmlTa...
    method updateRepositoryPolicy (line 1817) | protected void updateRepositoryPolicy(RepositoryPolicy value, String x...
    method updateResource (line 1837) | protected void updateResource(Resource value, String xmlTag, Counter c...
    method updateScm (line 1860) | protected void updateScm(Scm value, String xmlTag, Counter counter, El...
    method updateSite (line 1884) | protected void updateSite(Site value, String xmlTag, Counter counter, ...
    method write (line 1904) | public void write(Model project, Document document, OutputStream strea...
    method write (line 1921) | public void write(Model project, Document document, OutputStreamWriter...
    method write (line 1936) | public void write(Model project, Document document, Writer writer, For...

FILE: src/main/java/org/apache/maven/plugins/shade/pom/PomWriter.java
  class PomWriter (line 33) | public class PomWriter {
    method write (line 34) | public static void write(Writer w, Model newModel) throws IOException {
    method write (line 38) | public static void write(Writer w, Model newModel, boolean namespaceDe...

FILE: src/main/java/org/apache/maven/plugins/shade/relocation/Relocator.java
  type Relocator (line 22) | public interface Relocator {
    method canRelocatePath (line 25) | boolean canRelocatePath(String clazz);
    method relocatePath (line 27) | String relocatePath(String clazz);
    method canRelocateClass (line 29) | boolean canRelocateClass(String clazz);
    method relocateClass (line 35) | String relocateClass(String input);
    method applyToSourceContent (line 37) | String applyToSourceContent(String sourceContent);
    method relocateAllClasses (line 43) | String relocateAllClasses(String input);

FILE: src/main/java/org/apache/maven/plugins/shade/relocation/SerializedLambdaRelocator.java
  class SerializedLambdaRelocator (line 25) | public class SerializedLambdaRelocator extends SimpleRelocator {
    method SerializedLambdaRelocator (line 32) | public SerializedLambdaRelocator(
    method canRelocatePath (line 46) | @Override
    method canRelocateClass (line 51) | @Override
    method relocatePath (line 56) | @Override
    method relocateClass (line 63) | @Override
    method relocateAllClasses (line 68) | @Override
    method applyToSourceContent (line 73) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java
  class SimpleRelocator (line 36) | public class SimpleRelocator implements Relocator {
    method SimpleRelocator (line 109) | public SimpleRelocator(String patt, String shadedPattern, List<String>...
    method SimpleRelocator (line 123) | public SimpleRelocator(
    method normalizePatterns (line 200) | private static Set<String> normalizePatterns(Collection<String> patter...
    method isIncluded (line 220) | protected boolean isIncluded(String path) {
    method isExcluded (line 232) | protected boolean isExcluded(String path) {
    method canRelocatePath (line 243) | @Override
    method canRelocateClass (line 268) | @Override
    method relocatePath (line 273) | @Override
    method relocateClass (line 282) | @Override
    method relocateAllClasses (line 287) | @Override
    method applyToSourceContent (line 292) | @Override
    method shadeSourceWithExcludes (line 301) | private String shadeSourceWithExcludes(

FILE: src/main/java/org/apache/maven/plugins/shade/resource/AbstractCompatibilityTransformer.java
  class AbstractCompatibilityTransformer (line 30) | abstract class AbstractCompatibilityTransformer implements ReproducibleR...
    method processResource (line 31) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ApacheLicenseResourceTransformer.java
  class ApacheLicenseResourceTransformer (line 31) | public class ApacheLicenseResourceTransformer extends AbstractCompatibil...
    method canTransformResource (line 38) | @Override
    method processResource (line 45) | @Override
    method hasTransformedResource (line 51) | @Override
    method modifyOutputStream (line 56) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java
  class ApacheNoticeResourceTransformer (line 43) | public class ApacheNoticeResourceTransformer extends AbstractCompatibili...
    method canTransformResource (line 82) | @Override
    method processResource (line 89) | @Override
    method hasTransformedResource (line 172) | @Override
    method modifyOutputStream (line 177) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/AppendingTransformer.java
  class AppendingTransformer (line 34) | public class AppendingTransformer extends AbstractCompatibilityTransform...
    method canTransformResource (line 41) | @Override
    method processResource (line 46) | @Override
    method hasTransformedResource (line 56) | @Override
    method modifyOutputStream (line 61) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ComponentsXmlResourceTransformer.java
  class ComponentsXmlResourceTransformer (line 43) | public class ComponentsXmlResourceTransformer extends AbstractCompatibil...
    method canTransformResource (line 50) | @Override
    method processResource (line 55) | @Override
    method modifyOutputStream (line 123) | @Override
    method hasTransformedResource (line 137) | @Override
    method getTransformedResource (line 142) | byte[] getTransformedResource() throws IOException {
    method getRelocatedClass (line 162) | private String getRelocatedClass(String className, List<Relocator> rel...
    method getValue (line 174) | private static String getValue(Xpp3Dom dom, String element) {
    method setValue (line 180) | private static void setValue(Xpp3Dom dom, String element, String value) {

FILE: src/main/java/org/apache/maven/plugins/shade/resource/DontIncludeResourceTransformer.java
  class DontIncludeResourceTransformer (line 32) | public class DontIncludeResourceTransformer extends AbstractCompatibilit...
    method canTransformResource (line 37) | @Override
    method processResource (line 54) | @Override
    method hasTransformedResource (line 60) | @Override
    method modifyOutputStream (line 65) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/GroovyResourceTransformer.java
  class GroovyResourceTransformer (line 37) | public class GroovyResourceTransformer extends AbstractCompatibilityTran...
    method canTransformResource (line 54) | @Override
    method processResource (line 59) | @Override
    method append (line 80) | private void append(String entry, List<String> list) {
    method hasTransformedResource (line 86) | @Override
    method modifyOutputStream (line 91) | @Override
    method join (line 111) | private String join(Collection<String> strings) {
    method setExtModuleName (line 127) | public void setExtModuleName(String extModuleName) {
    method setExtModuleVersion (line 131) | public void setExtModuleVersion(String extModuleVersion) {

FILE: src/main/java/org/apache/maven/plugins/shade/resource/IncludeResourceTransformer.java
  class IncludeResourceTransformer (line 36) | public class IncludeResourceTransformer extends AbstractCompatibilityTra...
    method canTransformResource (line 43) | @Override
    method processResource (line 48) | @Override
    method hasTransformedResource (line 56) | @Override
    method modifyOutputStream (line 61) | @Override
    method toString (line 72) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ManifestResourceTransformer.java
  class ManifestResourceTransformer (line 42) | public class ManifestResourceTransformer extends AbstractCompatibilityTr...
    method setMainClass (line 62) | public void setMainClass(String mainClass) {
    method setManifestEntries (line 66) | public void setManifestEntries(Map<String, Object> manifestEntries) {
    method setAdditionalAttributes (line 70) | public void setAdditionalAttributes(List<String> additionalAttributes) {
    method canTransformResource (line 74) | @Override
    method processResource (line 79) | @Override
    method hasTransformedResource (line 118) | @Override
    method modifyOutputStream (line 123) | @Override
    method relocate (line 152) | private String relocate(String originalValue, List<Relocator> relocato...
    method setForShade (line 165) | public void setForShade(String shade) {
    method isForShade (line 169) | public boolean isForShade(String shade) {
    method isUsedForDefaultShading (line 173) | public boolean isUsedForDefaultShading() {

FILE: src/main/java/org/apache/maven/plugins/shade/resource/PluginXmlResourceTransformer.java
  class PluginXmlResourceTransformer (line 45) | public class PluginXmlResourceTransformer extends AbstractCompatibilityT...
    method canTransformResource (line 52) | @Override
    method processResource (line 57) | @Override
    method modifyOutputStream (line 122) | @Override
    method hasTransformedResource (line 135) | @Override
    method getTransformedResource (line 140) | byte[] getTransformedResource() throws IOException {
    method getRelocatedClass (line 160) | private String getRelocatedClass(String className, List<Relocator> rel...
    method getValue (line 172) | private static String getValue(Xpp3Dom dom, String element) {
    method setValue (line 178) | private static void setValue(Xpp3Dom dom, String element, String value) {
    method getAttribute (line 188) | private static String getAttribute(Xpp3Dom dom, String attribute) {
    method setAttribute (line 192) | private static void setAttribute(Xpp3Dom dom, String attribute, String...

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ReproducibleResourceTransformer.java
  type ReproducibleResourceTransformer (line 35) | public interface ReproducibleResourceTransformer extends ResourceTransfo...
    method processResource (line 44) | void processResource(String resource, InputStream is, List<Relocator> ...

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ResourceBundleAppendingTransformer.java
  class ResourceBundleAppendingTransformer (line 40) | public class ResourceBundleAppendingTransformer extends AbstractCompatib...
    method setBasename (line 51) | public void setBasename(String basename) {
    method canTransformResource (line 55) | @Override
    method processResource (line 60) | @Override
    method hasTransformedResource (line 77) | @Override
    method modifyOutputStream (line 82) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ResourceTransformer.java
  type ResourceTransformer (line 29) | public interface ResourceTransformer {
    method canTransformResource (line 30) | boolean canTransformResource(String resource);
    method processResource (line 40) | void processResource(String resource, InputStream is, List<Relocator> ...
    method hasTransformedResource (line 42) | boolean hasTransformedResource();
    method modifyOutputStream (line 44) | void modifyOutputStream(JarOutputStream os) throws IOException;

FILE: src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java
  class ServicesResourceTransformer (line 43) | public class ServicesResourceTransformer extends AbstractCompatibilityTr...
    method canTransformResource (line 50) | @Override
    method processResource (line 55) | @Override
    method hasTransformedResource (line 85) | @Override
    method modifyOutputStream (line 90) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/SisuIndexResourceTransformer.java
  class SisuIndexResourceTransformer (line 39) | public class SisuIndexResourceTransformer extends AbstractCompatibilityT...
    method canTransformResource (line 46) | @Override
    method processResource (line 51) | @Override
    method hasTransformedResource (line 71) | @Override
    method modifyOutputStream (line 76) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/UseDependencyReducedPom.java
  class UseDependencyReducedPom (line 31) | public class UseDependencyReducedPom {
    method createPomReplaceTransformers (line 32) | public static List<ResourceTransformer> createPomReplaceTransformers(

FILE: src/main/java/org/apache/maven/plugins/shade/resource/XmlAppendingTransformer.java
  class XmlAppendingTransformer (line 45) | public class XmlAppendingTransformer extends AbstractCompatibilityTransf...
    method canTransformResource (line 56) | @Override
    method processResource (line 61) | @Override
    method hasTransformedResource (line 111) | @Override
    method modifyOutputStream (line 116) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/properties/MicroprofileConfigTransformer.java
  class MicroprofileConfigTransformer (line 26) | public class MicroprofileConfigTransformer extends PropertiesTransformer {
    method MicroprofileConfigTransformer (line 27) | public MicroprofileConfigTransformer() {

FILE: src/main/java/org/apache/maven/plugins/shade/resource/properties/OpenWebBeansPropertiesTransformer.java
  class OpenWebBeansPropertiesTransformer (line 26) | public class OpenWebBeansPropertiesTransformer extends PropertiesTransfo...
    method OpenWebBeansPropertiesTransformer (line 27) | public OpenWebBeansPropertiesTransformer() {

FILE: src/main/java/org/apache/maven/plugins/shade/resource/properties/PropertiesTransformer.java
  class PropertiesTransformer (line 43) | public class PropertiesTransformer implements ReproducibleResourceTransf...
    method PropertiesTransformer (line 53) | public PropertiesTransformer() {
    method PropertiesTransformer (line 57) | protected PropertiesTransformer(
    method canTransformResource (line 65) | @Override
    method processResource (line 70) | @Override
    method processResource (line 75) | @Override
    method hasTransformedResource (line 87) | @Override
    method modifyOutputStream (line 92) | @Override
    method setReverseOrder (line 115) | public void setReverseOrder(final boolean reverseOrder) {
    method setResource (line 119) | public void setResource(final String resource) {
    method setOrdinalKey (line 123) | public void setOrdinalKey(final String ordinalKey) {
    method setDefaultOrdinal (line 127) | public void setDefaultOrdinal(final int defaultOrdinal) {
    method setAlreadyMergedKey (line 131) | public void setAlreadyMergedKey(final String alreadyMergedKey) {
    method sortProperties (line 135) | private List<Properties> sortProperties() {
    method getConfigurationOrdinal (line 168) | private int getConfigurationOrdinal(final Properties p) {
    method mergeProperties (line 179) | private static Properties mergeProperties(final List<Properties> sorte...

FILE: src/main/java/org/apache/maven/plugins/shade/resource/properties/SortedProperties.java
  class SortedProperties (line 39) | public class SortedProperties extends Properties {
    method entrySet (line 40) | @Override
    method keys (line 52) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/properties/io/NoCloseOutputStream.java
  class NoCloseOutputStream (line 28) | public class NoCloseOutputStream extends OutputStream {
    method NoCloseOutputStream (line 31) | public NoCloseOutputStream(OutputStream delegate) {
    method write (line 35) | @Override
    method write (line 40) | @Override
    method write (line 45) | @Override
    method flush (line 50) | @Override
    method close (line 55) | @Override

FILE: src/main/java/org/apache/maven/plugins/shade/resource/properties/io/SkipPropertiesDateLineWriter.java
  class SkipPropertiesDateLineWriter (line 28) | public class SkipPropertiesDateLineWriter extends BufferedWriter {
    method SkipPropertiesDateLineWriter (line 31) | public SkipPropertiesDateLineWriter(Writer out) {
    method write (line 35) | @Override
    type State (line 44) | private enum State {
      method shouldSkip (line 46) | @Override
      method next (line 51) | @Override
      method shouldSkip (line 57) | @Override
      method next (line 62) | @Override
      method shouldSkip (line 68) | @Override
      method next (line 73) | @Override
      method shouldSkip (line 79) | abstract boolean shouldSkip(String content);
      method next (line 81) | abstract State next();

FILE: src/test/java/org/apache/maven/plugins/shade/DefaultShaderTest.java
  class DefaultShaderTest (line 92) | public class DefaultShaderTest {
    method testNoopWhenNotRelocated (line 101) | @Test
    method testOverlappingResourcesAreLogged (line 155) | @Test
    method testOverlappingResourcesAreLoggedExceptATransformerHandlesIt (line 191) | @Test
    method testShaderWithDefaultShadedPattern (line 242) | @Test
    method testShaderWithStaticInitializedClass (line 247) | @Test
    method testShaderWithCustomShadedPattern (line 281) | @Test
    method testShaderWithoutExcludesShouldRemoveReferencesOfOriginalPattern (line 286) | @Test
    method testHandleDirectory (line 294) | @Test
    method testShaderWithRelocatedClassname (line 338) | @Test
    method testShaderWithNestedJar (line 392) | @Test
    method testShaderNoOverwrite (line 428) | @Test
    method testShaderWithDuplicateService (line 470) | @Test
    method testShaderWithSmallEntries (line 517) | @Test
    method writeEntryWithoutCompression (line 554) | private void writeEntryWithoutCompression(String entryName, byte[] ent...
    method shaderWithPattern (line 569) | private void shaderWithPattern(String shadedPattern, File jar, String[...
    method shaderWithPattern (line 576) | private void shaderWithPattern(String shadedPattern, File jar, String[...
    method newShader (line 599) | private DefaultShader newShader() {
    method mockLogger (line 607) | private Logger mockLogger() {
    method areEqual (line 618) | private boolean areEqual(final JarFile jar1, final JarFile jar2, final...
    method areEqual (line 622) | private boolean areEqual(final JarFile jar1, final JarFile jar2, final...

FILE: src/test/java/org/apache/maven/plugins/shade/MockShader.java
  class MockShader (line 31) | @Singleton
    method shade (line 34) | public void shade(ShadeRequest shadeRequest) throws IOException, MojoE...

FILE: src/test/java/org/apache/maven/plugins/shade/custom/CustomReproducibleResourceTransformer.java
  class CustomReproducibleResourceTransformer (line 33) | public class CustomReproducibleResourceTransformer implements Reproducib...
    method canTransformResource (line 34) | @Override
    method processResource (line 42) | @Override
    method processResource (line 53) | @Override
    method hasTransformedResource (line 60) | @Override
    method modifyOutputStream (line 65) | @Override

FILE: src/test/java/org/apache/maven/plugins/shade/filter/MinijarFilterTest.java
  class MinijarFilterTest (line 51) | public class MinijarFilterTest {
    method init (line 63) | @Before
    method testWithMockProject (line 76) | @Test
    method testWithPomProject (line 93) | @Test
    method mockProject (line 111) | private MavenProject mockProject(File outputDirectory, File file, Stri...
    method finsishedShouldProduceMessageForClassesTotalNonZero (line 153) | @Test
    method finishedShouldProduceMessageForClassesTotalZero (line 164) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/filter/SimpleFilterTest.java
  class SimpleFilterTest (line 34) | public class SimpleFilterTest {
    method testIsFiltered (line 36) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/mojo/ArtifactIdTest.java
  class ArtifactIdTest (line 30) | public class ArtifactIdTest {
    method testIdParsing (line 32) | @Test
    method testMatches (line 121) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/mojo/ArtifactSelectorTest.java
  class ArtifactSelectorTest (line 32) | public class ArtifactSelectorTest {
    method newSelector (line 34) | private ArtifactSelector newSelector(Collection<String> includes, Coll...
    method testIsSelected (line 38) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/mojo/RelativizePathTest.java
  class RelativizePathTest (line 28) | public class RelativizePathTest {
    method runTests (line 45) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/mojo/ShadeMojoTest.java
  class ShadeMojoTest (line 71) | public class ShadeMojoTest extends AbstractMojoTestCase {
    method customizeContainerConfiguration (line 72) | @Override
    method testManifestTransformerSelection (line 77) | public void testManifestTransformerSelection() throws Exception {
    method testShaderWithDefaultShadedPattern (line 110) | public void testShaderWithDefaultShadedPattern() throws Exception {
    method testShaderWithCustomShadedPattern (line 114) | public void testShaderWithCustomShadedPattern() throws Exception {
    method testShaderWithExclusions (line 118) | public void testShaderWithExclusions() throws Exception {
    method testShadeWithFilter (line 162) | public void testShadeWithFilter() throws Exception {
    method shaderWithPattern (line 230) | public void shaderWithPattern(String shadedPattern, File jar) throws E...

FILE: src/test/java/org/apache/maven/plugins/shade/relocation/SimpleRelocatorParameterTest.java
  class SimpleRelocatorParameterTest (line 27) | public class SimpleRelocatorParameterTest {
    method testThatNullShadedPatternInConstructorShouldNotThrowNullPointerException (line 29) | @Test
    method constructThenFailOnNullPointerException (line 34) | private void constructThenFailOnNullPointerException(String pattern, S...

FILE: src/test/java/org/apache/maven/plugins/shade/relocation/SimpleRelocatorTest.java
  class SimpleRelocatorTest (line 36) | public class SimpleRelocatorTest {
    method testNoNpeRelocateClass (line 38) | @Test
    method testCanRelocatePath (line 43) | @Test
    method testCanRelocateClass (line 76) | @Test
    method testCanRelocateRawString (line 99) | @Test
    method testCanRelocateAbsClassPath (line 111) | @Test
    method testCanRelocateAbsClassPathWithExcludes (line 118) | @Test
    method testCanRelocateAbsClassPathWithIncludes (line 128) | @Test
    method testRelocatePath (line 138) | @Test
    method testRelocateClass (line 149) | @Test
    method testRelocateAllClasses (line 162) | @Test
    method testRelocateRawString (line 179) | @Test
    method testRelocateMavenFiles (line 190) | @Test
    method testRelocateSourceWithExcludesRaw (line 271) | @Test
    method testRelocateSourceWithExcludes (line 282) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ApacheLicenseResourceTransformerTest.java
  class ApacheLicenseResourceTransformerTest (line 34) | public class ApacheLicenseResourceTransformerTest {
    method setUp (line 46) | @Before
    method testCanTransformResource (line 51) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformerTest.java
  class ApacheNoticeResourceTransformerTest (line 40) | public class ApacheNoticeResourceTransformerTest {
    method setUp (line 53) | @Before
    method testCanTransformResource (line 58) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenNoInput (line 68) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenNoLinesOfInput (line 73) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenOneLineOfInput (line 78) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenTwoLinesOfInput (line 83) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenLineStartsWithSlashSlash (line 88) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenLineIsSlashSlash (line 93) | @Test
    method testNoParametersShouldNotThrowNullPointerWhenLineIsEmpty (line 98) | @Test
    method processAndFailOnNullPointer (line 103) | private void processAndFailOnNullPointer(final String noticeText) thro...

FILE: src/test/java/org/apache/maven/plugins/shade/resource/AppendingTransformerTest.java
  class AppendingTransformerTest (line 34) | public class AppendingTransformerTest {
    method setUp (line 46) | @Before
    method testCanTransformResource (line 51) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ComponentsXmlResourceTransformerTest.java
  class ComponentsXmlResourceTransformerTest (line 38) | public class ComponentsXmlResourceTransformerTest {
    method setUp (line 41) | @Before
    method testConfigurationMerging (line 46) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/GroovyResourceTransformerTest.java
  class GroovyResourceTransformerTest (line 44) | public class GroovyResourceTransformerTest {
    method stream (line 46) | private static InputStream stream(Properties props) throws Exception {
    method module (line 52) | private static InputStream module(
    method transform (line 66) | private static Properties transform(GroovyResourceTransformer transfor...
    method testFilter (line 86) | @Test
    method testEmpty (line 95) | @Test
    method testSpecifyModuleName (line 102) | @Test
    method testConcatenation (line 119) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ManifestResourceTransformerTest.java
  class ManifestResourceTransformerTest (line 41) | public class ManifestResourceTransformerTest {
    method setUp (line 44) | @Before
    method createTestManifest (line 49) | private Manifest createTestManifest() {
    method rewriteDefaultAttributes (line 84) | @Test
    method rewriteDefaultAttributesWithSameSuffix (line 126) | @Test()
    method rewriteAdditionalAttributes (line 152) | @Test
    method transform (line 171) | private ByteArrayOutputStream transform(final Manifest manifest, List<...

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ReproducibleResourceTransformer.java
  type ReproducibleResourceTransformer (line 37) | public interface ReproducibleResourceTransformer extends ResourceTransfo...
    method processResource (line 38) | void processResource(String resource, InputStream is, List<Relocator> ...

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ResourceBundleAppendingTransformerTest.java
  class ResourceBundleAppendingTransformerTest (line 27) | public class ResourceBundleAppendingTransformerTest {
    method setUp (line 30) | @Before
    method testCanTransformResource (line 35) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/ServiceResourceTransformerTest.java
  class ServiceResourceTransformerTest (line 48) | public class ServiceResourceTransformerTest {
    method relocatedClasses (line 53) | @Test
    method mergeRelocatedFiles (line 90) | @Test
    method concatanationAppliedMultipleTimes (line 133) | @Test
    method concatenation (line 168) | @Test
    method toString (line 222) | private static String toString(InputStream stream, Charset charset) th...

FILE: src/test/java/org/apache/maven/plugins/shade/resource/XmlAppendingTransformerTest.java
  class XmlAppendingTransformerTest (line 35) | public class XmlAppendingTransformerTest {
    method setUp (line 47) | @Before
    method testCanTransformResource (line 52) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/properties/PropertiesTransformerTest.java
  class PropertiesTransformerTest (line 42) | public class PropertiesTransformerTest {
    method propertiesRewritingIsStable (line 46) | @Test
    method canTransform (line 64) | @Test
    method mergeWithoutOverlap (line 72) | @Test
    method mergeWithOverlap (line 83) | @Test
    method mergeWithAlreadyMerged (line 98) | @Test
    method alreadyMergeConflict (line 112) | @Test

FILE: src/test/java/org/apache/maven/plugins/shade/resource/rule/TransformerTesterRule.java
  class TransformerTesterRule (line 53) | public class TransformerTesterRule implements TestRule {
    method apply (line 54) | @Override
    method asserts (line 85) | private void asserts(TransformerTest spec, Map<String, String> jar) {
    method captureOutput (line 98) | private Map<String, String> captureOutput(ReproducibleResourceTransfor...
    method visit (line 114) | private void visit(TransformerTest spec, ReproducibleResourceTransform...
    method read (line 126) | private String read(JarInputStream jar) throws IOException {
    method createTransformer (line 136) | private ReproducibleResourceTransformer createTransformer(TransformerT...

FILE: src/test/projects/test-artifact/src/main/java/org/apache/maven/plugins/shade/Lib.java
  class Lib (line 27) | public class Lib
    method getClassRealmPackageImport (line 37) | public static String getClassRealmPackageImport()
    method importFrom (line 43) | private static String importFrom( String packageName )

FILE: src/test/projects/test-project/src/main/java/org/apache/maven/plugins/shade/App.java
  class App (line 27) | public class App
    method main (line 29) | public static void main( String[] args )

FILE: src/test/projects/test-project/src/test/java/org/apache/maven/plugins/shade/AppTest.java
  class AppTest (line 26) | public class AppTest {
    method testApp (line 36) | @Test
Condensed preview — 543 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,343K chars).
[
  {
    "path": ".asf.yaml",
    "chars": 1397,
    "preview": "# \n#  Licensed to the Apache Software Foundation (ASF) under one or more\n#  contributor license agreements.  See the NOT"
  },
  {
    "path": ".git-blame-ignore-revs",
    "chars": 858,
    "preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/BUG.yml",
    "chars": 1475,
    "preview": "#\n#  Licensed to the Apache Software Foundation (ASF) under one or more\n#  contributor license agreements.  See the NOTI"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/FEATURE.yml",
    "chars": 1318,
    "preview": "#\n#  Licensed to the Apache Software Foundation (ASF) under one or more\n#  contributor license agreements.  See the NOTI"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 1162,
    "preview": "#\n#  Licensed to the Apache Software Foundation (ASF) under one or more\n#  contributor license agreements.  See the NOTI"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 1679,
    "preview": "#\n#  Licensed to the Apache Software Foundation (ASF) under one or more\n#  contributor license agreements.  See the NOTI"
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 1855,
    "preview": "Following this checklist to help us incorporate your \ncontribution quickly and easily:\n\n - [ ] Make sure there is a [JIR"
  },
  {
    "path": ".github/release-drafter.yml",
    "chars": 875,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": ".github/workflows/maven-verify.yml",
    "chars": 944,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": ".github/workflows/pr-automation.yml",
    "chars": 991,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": ".github/workflows/release-drafter.yml",
    "chars": 971,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": ".github/workflows/stale.yml",
    "chars": 976,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": ".gitignore",
    "chars": 149,
    "preview": "target/\n.project\n.classpath\n.settings/\n.svn/\nbin/\n# Intellij\n*.ipr\n*.iml\n.idea\nout/\n.DS_Store\n/bootstrap\n/dependencies.x"
  },
  {
    "path": "Jenkinsfile",
    "chars": 833,
    "preview": "/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NO"
  },
  {
    "path": "LICENSE",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "README.md",
    "chars": 5659,
    "preview": "<!---\n Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements.  See the NOTI"
  },
  {
    "path": "pom.xml",
    "chars": 11626,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contr"
  },
  {
    "path": "src/it/MSHADE-321_respectDrpFlag/pom.xml",
    "chars": 2602,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/MSHADE-321_respectDrpFlag/repo/org/apache/maven/its/shade/drp/a/0.1/a-0.1.pom",
    "chars": 1028,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/MSHADE-321_respectDrpFlag/verify.groovy",
    "chars": 1223,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/mrm/repository/MSHADE-247/mshade-247-one-0.1-sources.jar/org/apache/maven/its/shade/csj/Test.java",
    "chars": 873,
    "preview": "package org.apache.maven.its.shade.csj;\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more con"
  },
  {
    "path": "src/it/mrm/repository/MSHADE-247/mshade-247-one-0.1.pom",
    "chars": 1175,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/MSHADE-247/mshade-247-two-0.1.pom",
    "chars": 1175,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/artifact-includes-excludes/a-0.1.jar/a.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/artifact-includes-excludes/a-0.1.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/artifact-includes-excludes/b-0.2.jar/b.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/artifact-includes-excludes/b-0.2.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom/a-0.1.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom/b-0.2-client.jar/b-client.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom/b-0.2.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom/c-1.pom",
    "chars": 1194,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/a-0.1.pom",
    "chars": 1266,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/b-0.1.pom",
    "chars": 1458,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/c-0.1.pom",
    "chars": 1266,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/d-0.1.pom",
    "chars": 1458,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-artifactset-provided-excludes/e-0.1.pom",
    "chars": 1266,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-exclusions/a-0.1.pom",
    "chars": 1590,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-exclusions/b-0.2-alt.jar/b-alt.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-exclusions/b-0.2.pom",
    "chars": 1393,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-exclusions/c-1.pom",
    "chars": 1195,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-unique/a-0.1.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-unique/b-0.2.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-unique/c-1.pom",
    "chars": 1194,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-use-base-version/a-0.1-20130115.024354-82.pom",
    "chars": 1169,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/dep-reduced-pom-use-base-version/maven-metadata.xml",
    "chars": 1497,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/META-INF/maven/org.apache.maven.its.shade.fac/a/pom.properties",
    "chars": 851,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/a.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/org/a.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/org/apache/a.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/a-0.1.jar/org/apache/maven/a.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/a-0.1.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/META-INF/maven/org.apache.maven.its.shade.fac/b/pom.properties",
    "chars": 851,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/b.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/apache/b.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/apache/maven/b/b.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/apache/maven/b.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1-client.jar/org/b.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/filter-artifact-contents/b-0.1.pom",
    "chars": 1196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/compile-1.0.jar/compile.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/compile-1.0.pom",
    "chars": 1346,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/provided-1.0.jar/provided.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/provided-1.0.pom",
    "chars": 1347,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/runtime-1.0.jar/runtime.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/runtime-1.0.pom",
    "chars": 1346,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/test-1.0.jar/test.properties",
    "chars": 786,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/mrm/repository/non-runtime-scope-excluded/test-1.0.pom",
    "chars": 1343,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/plugin-descriptor-relocation/comp-0.1.pom",
    "chars": 1534,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer/one-0.1.jar/META-INF/services/org.apache.maven.Shade",
    "chars": 48,
    "preview": "one # NOTE: No newline terminates this line/file"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer/one-0.1.pom",
    "chars": 1198,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer/two-0.1.jar/META-INF/services/org.apache.maven.Shade",
    "chars": 48,
    "preview": "two # NOTE: No newline terminates this line/file"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer/two-0.1.pom",
    "chars": 1198,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-one-0.1.jar/META-INF/services/org.apache.maven.shade",
    "chars": 30,
    "preview": "org.apache.maven.its.shade.One"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-one-0.1.pom",
    "chars": 1173,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-two-0.1.jar/META-INF/services/org.apache.maven.shade",
    "chars": 30,
    "preview": "org.apache.maven.its.shade.Two"
  },
  {
    "path": "src/it/mrm/repository/services-resource-transformer-with-reloc-includes-excludes/mshade-237-two-0.1.pom",
    "chars": 1173,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/mrm/settings.xml",
    "chars": 2238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-105/bundle/pom.xml",
    "chars": 1913,
    "preview": "<?xml version='1.0' encoding='UTF-8'?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-105/bundle/src/main/java/test/Dummy.java",
    "chars": 1045,
    "preview": "package test;\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreement"
  },
  {
    "path": "src/it/projects/MSHADE-105/pom.xml",
    "chars": 1308,
    "preview": "<?xml version='1.0' encoding='UTF-8'?>\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribut"
  },
  {
    "path": "src/it/projects/MSHADE-105/shaded-jar/pom.xml",
    "chars": 2171,
    "preview": "<?xml version='1.0' encoding='UTF-8'?>\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribut"
  },
  {
    "path": "src/it/projects/MSHADE-105/verify.bsh",
    "chars": 1347,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-114/pom.xml",
    "chars": 2345,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/projects/MSHADE-133/pom.xml",
    "chars": 2144,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/projects/MSHADE-133/src/main/resources/logback.xml",
    "chars": 787,
    "preview": "<?xml version='1.0'?>\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreem"
  },
  {
    "path": "src/it/projects/MSHADE-133/src/main/resources/myConfig.yml",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/it/projects/MSHADE-133/verify.groovy",
    "chars": 1038,
    "preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements.  See the N"
  },
  {
    "path": "src/it/projects/MSHADE-155/pom.xml",
    "chars": 2123,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-155/src/main/resources/META-INF/ejb-jar.xml",
    "chars": 805,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-155/verify.groovy",
    "chars": 1094,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-182/pom.xml",
    "chars": 2500,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribut"
  },
  {
    "path": "src/it/projects/MSHADE-182/src/main/resources/META-INF/services/relocateme.Service",
    "chars": 23,
    "preview": "relocateme.ServiceImpl\n"
  },
  {
    "path": "src/it/projects/MSHADE-182/verify.groovy",
    "chars": 1139,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-183/pom.xml",
    "chars": 3974,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-183/verify.bsh",
    "chars": 1917,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-185/invoker.properties",
    "chars": 832,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\r\n# or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "src/it/projects/MSHADE-185/pom.xml",
    "chars": 2685,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-185/verify.groovy",
    "chars": 1438,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/invoker.properties",
    "chars": 834,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\r\n# or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/one/pom.xml",
    "chars": 1271,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more contri"
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/one/src/main/resources/org/apache/maven/plugins/shade/its/Message.properties",
    "chars": 816,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\r\n# or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/one/src/main/resources/org/apache/maven/plugins/shade/its/Message_nl.properties",
    "chars": 816,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\r\n# or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/pom.xml",
    "chars": 1511,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more contri"
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/two/pom.xml",
    "chars": 2346,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more contri"
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/two/src/main/resources/org/apache/maven/plugins/shade/its/Message.properties",
    "chars": 816,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\r\n# or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/two/src/main/resources/org/apache/maven/plugins/shade/its/Message_nl.properties",
    "chars": 817,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\r\n# or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "src/it/projects/MSHADE-232_ResourceBundleAppendingTransformer/verify.groovy",
    "chars": 1373,
    "preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements.  See the N"
  },
  {
    "path": "src/it/projects/MSHADE-239_finalName-attachments/pom.xml",
    "chars": 2228,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/projects/MSHADE-239_finalName-attachments/verify.groovy",
    "chars": 1282,
    "preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements.  See the N"
  },
  {
    "path": "src/it/projects/MSHADE-240_reloc-mavenfiles/pom.xml",
    "chars": 2224,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/projects/MSHADE-240_reloc-mavenfiles/verify.groovy",
    "chars": 1850,
    "preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements.  See the N"
  },
  {
    "path": "src/it/projects/MSHADE-247/pom.xml",
    "chars": 2180,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/projects/MSHADE-258_module_relocation/pom.xml",
    "chars": 2132,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more cont"
  },
  {
    "path": "src/it/projects/MSHADE-258_module_relocation/verify.groovy",
    "chars": 1212,
    "preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements.  See the N"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/README.txt",
    "chars": 2020,
    "preview": "# Serialized Lambda Relocation Test\n\nThis integration test verifies that the maven-shade-plugin correctly rewrites\nseria"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/invoker.properties",
    "chars": 919,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/pom.xml",
    "chars": 2195,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/DataHolder.java",
    "chars": 1141,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/Main.java",
    "chars": 1505,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/MapFunction.java",
    "chars": 1151,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/src/main/java/org/apache/maven/its/shade/reloc/lambda/Processor.java",
    "chars": 1062,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-260-reloc-serialized-lambda/verify.groovy",
    "chars": 5565,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/api/pom.xml",
    "chars": 1289,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/api/src/main/java/Api.java",
    "chars": 830,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/api/src/main/resources/api-resource.txt",
    "chars": 785,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/api/src/test/java/ApiTest.java",
    "chars": 904,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/api/src/test/resources/api-test-resource.txt",
    "chars": 785,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/impl/pom.xml",
    "chars": 1677,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/impl/src/main/java/Impl.java",
    "chars": 843,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/impl/src/main/resources/impl-resource.txt",
    "chars": 785,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/impl/src/test/java/ImplTest.java",
    "chars": 922,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/impl/src/test/resources/impl-test-resource.txt",
    "chars": 785,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/pom.xml",
    "chars": 2857,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/uber/pom.xml",
    "chars": 2624,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-284_shadeTestJar/verify.groovy",
    "chars": 2104,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/api/pom.xml",
    "chars": 1289,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/api/src/main/java/Api.java",
    "chars": 863,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/api/src/test/java/ApiTest.java",
    "chars": 931,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/impl/pom.xml",
    "chars": 1677,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/impl/src/main/java/Impl.java",
    "chars": 887,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/impl/src/test/java/ImplTest.java",
    "chars": 960,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/pom.xml",
    "chars": 3200,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/uber/pom.xml",
    "chars": 2640,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-285_createTestSourcesJar/verify.groovy",
    "chars": 1246,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/dependency-service/pom.xml",
    "chars": 986,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyReferencedClass.java",
    "chars": 852,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyServiceClass.java",
    "chars": 955,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyServiceInterface.java",
    "chars": 857,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/java/DependencyUnreferencedClass.java",
    "chars": 854,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/dependency-service/src/main/resources/META-INF/services/DependencyServiceInterface",
    "chars": 893,
    "preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/invoker.properties",
    "chars": 848,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/pom.xml",
    "chars": 1302,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/test/pom.xml",
    "chars": 2172,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/test/src/main/java/Main.java",
    "chars": 975,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/unused-service/pom.xml",
    "chars": 982,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/unused-service/src/main/java/UnusedServiceClass.java",
    "chars": 881,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/unused-service/src/main/java/UnusedServiceInterface.java",
    "chars": 855,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/unused-service/src/main/resources/META-INF/services/UnusedServiceInterface",
    "chars": 889,
    "preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/used-service/pom.xml",
    "chars": 1185,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeReferencedClass.java",
    "chars": 955,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeServiceClass.java",
    "chars": 939,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeServiceInterface.java",
    "chars": 853,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/used-service/src/main/java/SomeUnreferencedClass.java",
    "chars": 850,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/used-service/src/main/resources/META-INF/services/SomeServiceInterface",
    "chars": 887,
    "preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE"
  },
  {
    "path": "src/it/projects/MSHADE-313_minimized-services/verify.bsh",
    "chars": 1908,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/dependency/pom.xml",
    "chars": 978,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-316/dependency/src/main/java/SomeUnusedClass.java",
    "chars": 842,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/dependency/src/main/java/SomeUsedClass.java",
    "chars": 873,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/dependency/src/main/java/x/y/z/AnotherExemptedClass.java",
    "chars": 863,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/dependency/src/main/java/x/y/z/SomeDependencyOfExemptedClass.java",
    "chars": 872,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/dependency/src/main/java/x/y/z/SomeExemptedClass.java",
    "chars": 922,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/invoker.properties",
    "chars": 848,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-316/pom.xml",
    "chars": 1218,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-316/test/pom.xml",
    "chars": 2418,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-316/test/src/main/java/Main.java",
    "chars": 1072,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-316/verify.bsh",
    "chars": 1539,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/api/pom.xml",
    "chars": 1289,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/api/src/main/java/Api.java",
    "chars": 863,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/api/src/test/java/ApiTest.java",
    "chars": 931,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/impl/pom.xml",
    "chars": 1677,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/impl/src/main/java/Impl.java",
    "chars": 887,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/impl/src/test/java/ImplTest.java",
    "chars": 960,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/pom.xml",
    "chars": 4046,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber/pom.xml",
    "chars": 2939,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber/src/main/java/Uber.java",
    "chars": 876,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber/src/test/java/UberTest.java",
    "chars": 879,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber-user/pom.xml",
    "chars": 2729,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber-user/src/main/java/UberUser.java",
    "chars": 863,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/uber-user/src/test/java/UberUserTest.java",
    "chars": 1138,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-340_shadedTestJarArtifactAttached/verify.groovy",
    "chars": 4832,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-351/pom.xml",
    "chars": 2347,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-351/verify.bsh",
    "chars": 1145,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-36-inject-dep-reduced-pom-in-final/invoker.properties",
    "chars": 816,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-36-inject-dep-reduced-pom-in-final/pom.xml",
    "chars": 3112,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  },
  {
    "path": "src/it/projects/MSHADE-36-inject-dep-reduced-pom-in-final/src/main/java/com/example/Main.java",
    "chars": 1146,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-36-inject-dep-reduced-pom-in-final/verify.bsh",
    "chars": 2145,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "src/it/projects/MSHADE-363_old-Transformer/pom.xml",
    "chars": 2964,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more contri"
  },
  {
    "path": "src/it/projects/MSHADE-363_old-Transformer/src/main/resources/Message.properties",
    "chars": 798,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-363_old-plugin/pom.xml",
    "chars": 2911,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!--\r\nLicensed to the Apache Software Foundation (ASF) under one\r\nor more contri"
  },
  {
    "path": "src/it/projects/MSHADE-363_old-plugin/src/main/resources/Message.properties",
    "chars": 798,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "src/it/projects/MSHADE-373/pom.xml",
    "chars": 4380,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contribu"
  }
]

// ... and 343 more files (download for full content)

About this extraction

This page contains the full source code of the apache/maven-shade-plugin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 543 files (1.2 MB), approximately 310.8k tokens, and a symbol index with 702 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!