├── .github └── workflows │ ├── ci.yml │ ├── master-cd.yml │ └── style.yml ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── CHANGES.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── Makefile ├── NOTICE.txt ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── build └── findbugsExcludeFilter.xml ├── it ├── README.md ├── invoker.properties ├── settings.xml ├── setup-it │ ├── basepom │ │ └── pom.xml │ ├── class-jars │ │ ├── first-class-jar │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── diff │ │ │ │ ├── Demo.java │ │ │ │ └── package-info.java │ │ ├── first-diff-jar │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── diff │ │ │ │ ├── Demo.java │ │ │ │ └── package-info.java │ │ ├── pom.xml │ │ └── second-class-jar │ │ │ ├── pom.xml │ │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── demo │ │ │ ├── Demo.java │ │ │ └── package-info.java │ ├── invoker.properties │ ├── pom.xml │ └── resource-jars │ │ ├── first-jar │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ ├── conflict-different-content │ │ │ └── conflict-same-content │ │ ├── pom.xml │ │ └── second-jar │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── resources │ │ ├── conflict-different-content │ │ └── conflict-same-content ├── test-class-conflict-class-exclude-non-match │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-class-exclude-three-ways │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-class-exclude-with-regex │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-class-exclude │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-default-print-equal │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-default │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-diff-fail-diff-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-diff-fail-equal-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-diff-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-diff-ignore-dependency │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-equal-fail-diff-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-equal-fail-equal-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-equal-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-ignore-local-all │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── diff │ │ │ └── Demo.java │ └── verify.groovy ├── test-class-conflict-ignore-local-class │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── diff │ │ │ └── Demo.java │ └── verify.groovy ├── test-class-conflict-ignore-local-package │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── diff │ │ │ └── Demo.java │ └── verify.groovy ├── test-class-conflict-ignore-multibuild-class │ ├── invoker.properties │ ├── p1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── diff │ │ │ └── Demo.java │ ├── p2 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── diff │ │ │ └── Demo.java │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-package-exclude-with-dot │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-package-exclude │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-wildcard-exclude-with-resource │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-class-conflict-wildcard-exclude │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-classpath-mincount-default │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-classpath-mincount │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-currentproject-exists │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-currentproject-implicit │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-exclude-currentproject │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── diff │ │ │ │ └── Demo.java │ │ │ └── resources │ │ │ ├── conflict-different-content │ │ │ └── conflict-same-content │ └── verify.groovy ├── test-exclude-versionranges-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-exclude-versionranges │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-issue-10-local │ ├── invoker.properties │ ├── p1 │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── diff │ │ │ │ └── Demo.java │ │ │ └── test │ │ │ └── java │ │ │ └── diff │ │ │ └── TestDemo.java │ ├── p2 │ │ └── pom.xml │ ├── pom.xml │ └── verify.groovy ├── test-issue-10 │ ├── invoker.properties │ ├── p1 │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── diff │ │ │ │ └── Demo.java │ │ │ └── test │ │ │ └── java │ │ │ └── diff │ │ │ └── TestDemo.java │ ├── p2 │ │ └── pom.xml │ ├── pom.xml │ └── verify.groovy ├── test-issue-31 │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-issue-33 │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-issue-35 │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-issue-9-jars │ ├── invoker.properties │ ├── p1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── local │ │ │ └── Demo.java │ ├── p2 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── local │ │ │ └── Demo.java │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── local │ │ │ └── Dummy.java │ └── verify.groovy ├── test-issue-9-local-project │ ├── invoker.properties │ ├── p1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── local │ │ │ └── Demo.java │ ├── p2 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── local │ │ │ └── Demo.java │ ├── pom.xml │ └── verify.groovy ├── test-pom-project │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-pull-24 │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-compile-compilepath │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── resources │ │ │ └── conflict-different-content │ └── verify.groovy ├── test-resource-conflict-compile-testpath │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── test │ │ │ └── resources │ │ │ └── conflict-different-content │ └── verify.groovy ├── test-resource-conflict-default-print-equal │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-default │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-diff-fail-diff-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-diff-fail-equal-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-diff-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-diff-ignore-dependency │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-equal-fail-diff-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-equal-fail-equal-content │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-equal-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-fail │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-local │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ ├── main │ │ │ └── resources │ │ │ │ ├── conflict-different-content │ │ │ │ └── conflict-same-content │ │ └── test │ │ │ └── resources │ │ │ ├── conflict-different-content │ │ │ └── conflict-same-content │ └── verify.groovy ├── test-resource-conflict-test-compilepath │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── main │ │ │ └── resources │ │ │ └── conflict-different-content │ └── verify.groovy ├── test-resource-conflict-test-testpath │ ├── invoker.properties │ ├── pom.xml │ ├── src │ │ └── test │ │ │ └── resources │ │ │ └── conflict-different-content │ └── verify.groovy ├── test-resource-conflict-wildcard-exclude-with-class │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── test-resource-conflict-wildcard-exclude │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy └── test-skip-property │ ├── invoker.properties │ ├── pom.xml │ └── verify.groovy ├── main └── java │ └── org │ └── basepom │ └── mojo │ └── duplicatefinder │ ├── ClasspathElement.java │ ├── ConflictState.java │ ├── ConflictType.java │ ├── ConflictingDependency.java │ ├── DuplicateFinderMojo.java │ ├── ResultCollector.java │ ├── XMLWriterUtils.java │ ├── artifact │ ├── ArtifactFileResolver.java │ ├── ArtifactHelper.java │ └── MavenCoordinates.java │ └── classpath │ ├── ClasspathCacheElement.java │ ├── ClasspathDescriptor.java │ ├── MatchArtifactPredicate.java │ ├── MatchPatternPredicate.java │ └── PackageNameHolder.java ├── site ├── markdown │ ├── classpath_exceptions.md │ ├── default_ignored_elements.md │ ├── describing_dependencies.md │ ├── development_guidelines.md │ ├── ignoring_dependencies_and_resources.md │ ├── index.md │ ├── result_file_format.md │ ├── result_file_options.md │ ├── simple_options.md │ └── writing_integration_test.md └── site.xml └── test ├── groovy └── org │ └── basepom │ └── mojo │ └── duplicatefinder │ └── ITools.groovy └── java └── org └── basepom └── mojo └── duplicatefinder ├── artifact ├── TestArtifactFileResolver.java └── TestMavenCoordinates.java └── classpath ├── TestClasspathDescriptor.java └── TestPackageNameHolder.java /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: CI Build with tests 3 | 4 | on: 5 | push: 6 | branches: 7 | - main 8 | pull_request: 9 | branches: 10 | - main 11 | 12 | jobs: 13 | ci: 14 | runs-on: ubuntu-latest 15 | strategy: 16 | matrix: 17 | java-version: [ 11, 17, 21, 22 ] 18 | 19 | steps: 20 | - uses: actions/checkout@v4 21 | with: 22 | fetch-tags: true 23 | fetch-depth: 0 24 | 25 | - uses: actions/setup-java@v4 26 | id: build_jdk 27 | with: 28 | java-version: 21 29 | distribution: temurin 30 | cache: maven 31 | 32 | - name: build distribution 33 | env: 34 | MAVEN_ARGS: "-Dbasepom.check.skip-enforcer=false -B -fae" 35 | run: | 36 | make install-fast 37 | 38 | - uses: actions/setup-java@v4 39 | id: test_jdk 40 | with: 41 | java-version: ${{ matrix.java-version }} 42 | distribution: temurin 43 | cache: maven 44 | 45 | - name: run tests 46 | env: 47 | MAVEN_ARGS: "-B -fae" 48 | run: | 49 | make run-tests 50 | -------------------------------------------------------------------------------- /.github/workflows/master-cd.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: CD (Snapshot deployment) 3 | 4 | on: 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | cd: 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v4 15 | with: 16 | fetch-tags: true 17 | fetch-depth: 0 18 | 19 | - uses: actions/setup-java@v4 20 | with: 21 | java-version: 21 22 | distribution: temurin 23 | cache: maven 24 | server-id: sonatype-nexus-snapshots 25 | server-username: NEXUS_REPO_USER 26 | server-password: NEXUS_REPO_PASSWORD 27 | 28 | - name: deploy code 29 | env: 30 | NEXUS_REPO_USER: ${{ secrets.NEXUS_REPO_USER }} 31 | NEXUS_REPO_PASSWORD: ${{ secrets.NEXUS_REPO_PASSWORD }} 32 | MAVEN_ARGS: "-B -fae" 33 | run: | 34 | make deploy 35 | 36 | site: 37 | runs-on: ubuntu-latest 38 | 39 | steps: 40 | - uses: actions/checkout@v4 41 | with: 42 | fetch-tags: true 43 | fetch-depth: 0 44 | 45 | - name: configure git user 46 | run: | 47 | git config --global user.name github-cd-action 48 | git config --global user.email github-cd-action@basepom.org 49 | 50 | - uses: actions/setup-java@v4 51 | with: 52 | java-version: 21 53 | distribution: temurin 54 | cache: maven 55 | server-id: github 56 | server-password: SITE_DEPLOY 57 | 58 | - name: publish docs 59 | env: 60 | SITE_DEPLOY: ${{ secrets.SITE_DEPLOY_TOKEN }} 61 | MAVEN_ARGS: "-B -fae" 62 | run: | 63 | make deploy-site 64 | -------------------------------------------------------------------------------- /.github/workflows/style.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Code style analysis 3 | 4 | on: 5 | push: 6 | branches: 7 | - main 8 | pull_request: 9 | branches: 10 | - main 11 | 12 | jobs: 13 | style: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v4 18 | with: 19 | fetch-tags: true 20 | fetch-depth: 0 21 | 22 | - uses: actions/setup-java@v4 23 | with: 24 | java-version: 21 25 | distribution: temurin 26 | cache: maven 27 | 28 | - name: run code checkers 29 | env: 30 | MAVEN_ARGS: "-B -fae" 31 | run: | 32 | make install-notests 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | *.ipr 4 | *.iws 5 | .classpath 6 | .project 7 | .settings 8 | target 9 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.2 18 | distributionType=only-script 19 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip 20 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | **We welcome any contribution, bug report or feature request! Thank you for taking time to contribute back.** 2 | 3 | Please review the [Development Guidelines](https://basepom.github.io/duplicate-finder-maven-plugin/development/development_guidelines.html) for a basic outline on how to write code. 4 | 5 | 6 | If you want to contribute a feature or a larger bug fix: **Thank you**! 7 | 8 | However, you can ensure that your feature will be merged and released quickly by 9 | 10 | * Have integration tests for your feature. Please review [Writing Integration Tests](https://basepom.github.io/duplicate-finder-maven-plugin/development/writing_integration_test.html) 11 | * Please document your feature! Not many people like to write documentation and even fewer like to write documentation for other people's code. If your new feature changes the behavior or adds new options and settings, chances are slim that it will go in quickly if it is not accompanied by the necessary changes to the documentation in the [site](https://github.com/basepom/duplicate-finder-maven-plugin/tree/main/src/site) folder. 12 | -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | duplicate-finder maven plugin 2 | (C) 2010-2023 by the authors 3 | 4 | This product is based on the Maven Duplicate Finder Plugin 5 | (C) 2010 Ning, Inc. 6 | 7 | Licensed under the Apache License Version 2.0 8 | -------------------------------------------------------------------------------- /src/build/findbugsExcludeFilter.xml: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/it/README.md: -------------------------------------------------------------------------------- 1 | ### Integration tests 2 | 3 | test types: 4 | 5 | * equal: conflict with equal content 6 | * diff: conflict with diffing content 7 | * both: both conflicts 8 | 9 | | Test | description | type | pEF | fBICOF | fBICODCC | fBICOECC | report | success | 10 | |-----------------------------------|---------------------------|-------|-----|--------|----------|----------|--------|---------| 11 | | conflict-default | defaults | both | | | | | diff | yes | 12 | | conflict-default-print-equal | defaults, reporting | both | yes | | | | both | yes | 13 | | conflict-fail | fail flag | both | yes | yes | | | both | no | 14 | | conflict-equal-fail | fail flag | equal | yes | yes | | | equal | no | 15 | | conflict-diff-fail | fail flag | diff | yes | yes | | | diff | no | 16 | | conflict-equal-fail-equal-content | fail equal, equal content | equal | yes | | | yes | equal | no | 17 | | conflict-equal-fail-diff-content | fail equal, diff content | diff | yes | | | yes | diff | no | 18 | | conflict-diff-fail-equal-content | fail diff, equal content | equal | yes | | yes | | equal | yes | 19 | | conflict-diff-fail-diff-content | fail diff, diff content | diff | yes | | yes | | diff | no | 20 | -------------------------------------------------------------------------------- /src/it/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean install 16 | invoker.mavenOpts=${basepom.coverage.it-args} -Xmx${basepom.it.memory} -Dfile.encoding=${project.build.sourceEncoding} 17 | invoker.timeoutInSeconds = 120 18 | -------------------------------------------------------------------------------- /src/it/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 17 | 18 | 19 | it-repo 20 | 21 | true 22 | 23 | 24 | 25 | local.central 26 | @localRepositoryUrl@ 27 | 28 | true 29 | 30 | 31 | true 32 | 33 | 34 | 35 | 36 | 37 | local.central 38 | @localRepositoryUrl@ 39 | 40 | true 41 | 42 | 43 | true 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/first-class-jar/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | basepom 21 | 1.0.under-test 22 | ../../basepom/pom.xml 23 | 24 | 25 | testjar 26 | first-class-jar 27 | 1.0.under-test 28 | 29 | 30 | package 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/first-class-jar/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, first-class-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/first-class-jar/src/main/java/diff/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | @Deprecated 15 | package diff; 16 | 17 | /** 18 | * Package docs. 19 | */ 20 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/first-diff-jar/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | basepom 21 | 1.0.under-test 22 | ../../basepom/pom.xml 23 | 24 | 25 | testjar 26 | first-diff-jar 27 | 1.0.under-test 28 | 29 | 30 | package 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/first-diff-jar/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, first-diff-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/first-diff-jar/src/main/java/diff/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | @Deprecated 15 | package diff; 16 | 17 | /** 18 | * Package docs. 19 | */ 20 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/second-class-jar/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | basepom 21 | 1.0.under-test 22 | ../../basepom/pom.xml 23 | 24 | 25 | testjar 26 | second-class-jar 27 | 1.0.under-test 28 | 29 | 30 | package 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/second-class-jar/src/main/java/demo/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package demo; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, second-class-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/setup-it/class-jars/second-class-jar/src/main/java/demo/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | @Deprecated 15 | package demo; 16 | 17 | /** 18 | * Package docs. 19 | */ 20 | -------------------------------------------------------------------------------- /src/it/setup-it/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean install 16 | -------------------------------------------------------------------------------- /src/it/setup-it/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | testjar 20 | setup-it 21 | 1.0.under-test 22 | pom 23 | 24 | 25 | basepom 26 | class-jars 27 | resource-jars 28 | 29 | 30 | 31 | install 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/first-jar/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | testjar 19 | first-jar 20 | 1.0.under-test 21 | 22 | 23 | UTF-8 24 | 25 | 26 | 27 | package 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/first-jar/src/main/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | 3575f42a-3c8c-11e4-9be3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/first-jar/src/main/resources/conflict-same-content: -------------------------------------------------------------------------------- 1 | 37c72118-3c8c-11e4-bdd3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | testjar 20 | setup-resource-jars 21 | 1.0.under-test 22 | pom 23 | 24 | 25 | first-jar 26 | second-jar 27 | 28 | 29 | 30 | install 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/second-jar/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | testjar 19 | second-jar 20 | 1.0.under-test 21 | 22 | 23 | UTF-8 24 | 25 | 26 | 27 | package 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/second-jar/src/main/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | 494e8354-3c8c-11e4-ad33-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/setup-it/resource-jars/second-jar/src/main/resources/conflict-same-content: -------------------------------------------------------------------------------- 1 | 37c72118-3c8c-11e4-bdd3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude-non-match/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude-non-match/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude-three-ways/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude-three-ways/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude-with-regex/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude-with-regex/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-class-exclude/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-default-print-equal/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-default-print-equal/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 2, NOT_FAILED, result) 19 | checkConflictResult("demo.Demo", TYPE_CLASS, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, SECOND_CLASS_JAR, SECOND_EQUAL_JAR)) 20 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-default/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-default/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-class-conflict-default 26 | 27 | 28 | 29 | testjar 30 | first-class-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-class-jar 36 | 1.0.under-test 37 | 38 | 39 | testjar 40 | first-diff-jar 41 | 1.0.under-test 42 | 43 | 44 | testjar 45 | second-equal-jar 46 | 1.0.under-test 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-default/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 2, NOT_FAILED, result) 19 | checkConflictResult("demo.Demo", TYPE_CLASS, CONFLICT_EQUAL, NOT_EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, SECOND_CLASS_JAR, SECOND_EQUAL_JAR)) 20 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail-diff-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail-diff-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail-equal-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail-equal-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_EQUAL, 1, NOT_FAILED, result) 19 | checkConflictResult("demo.Demo", TYPE_CLASS, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, SECOND_CLASS_JAR, SECOND_EQUAL_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-class-conflict-diff-fail 26 | 27 | 28 | 29 | testjar 30 | first-class-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-class-jar 36 | 1.0.under-test 37 | 38 | 39 | testjar 40 | first-diff-jar 41 | 1.0.under-test 42 | 43 | 44 | 45 | 46 | 47 | 48 | @project.groupId@ 49 | @project.artifactId@ 50 | 51 | true 52 | true 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-ignore-dependency/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-diff-ignore-dependency/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail-diff-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail-diff-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail-equal-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail-equal-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_EQUAL, 1, FAILED, result) 19 | checkConflictResult("demo.Demo", TYPE_CLASS, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, SECOND_CLASS_JAR, SECOND_EQUAL_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-class-conflict-equal-fail 26 | 27 | 28 | 29 | testjar 30 | first-class-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-class-jar 36 | 1.0.under-test 37 | 38 | 39 | testjar 40 | second-equal-jar 41 | 1.0.under-test 42 | 43 | 44 | 45 | 46 | 47 | 48 | @project.groupId@ 49 | @project.artifactId@ 50 | 51 | true 52 | true 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-equal-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_EQUAL, 1, FAILED, result) 19 | checkConflictResult("demo.Demo", TYPE_CLASS, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, SECOND_CLASS_JAR, SECOND_EQUAL_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 2, FAILED, result) 19 | checkConflictResult("demo.Demo", TYPE_CLASS, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, SECOND_CLASS_JAR, SECOND_EQUAL_JAR)) 20 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-all/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-all/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, project-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-all/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, projectTargetFolder(basedir))) 20 | 21 | def conflictingDependencies = xml.configuration.conflictingDependencies 22 | assert 1 == conflictingDependencies.size() 23 | 24 | // True because it is a wildcard match 25 | assert "true" == conflictingDependencies[0].conflictingDependency.@wildcard.text() 26 | 27 | return true 28 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-class/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-class/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, project-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-class/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, projectTargetFolder(basedir))) 20 | 21 | def conflictingDependencies = xml.configuration.conflictingDependencies 22 | assert 1 == conflictingDependencies.size() 23 | 24 | // False because it is an explicit class match 25 | assert "false" == conflictingDependencies[0].conflictingDependency.@wildcard.text() 26 | 27 | return true 28 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-package/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-package/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, project-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-local-package/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, projectTargetFolder(basedir))) 20 | 21 | def conflictingDependencies = xml.configuration.conflictingDependencies 22 | assert 1 == conflictingDependencies.size() 23 | 24 | // False because it is an explicit package match 25 | assert "false" == conflictingDependencies[0].conflictingDependency.@wildcard.text() 26 | 27 | return true 28 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-multibuild-class/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-multibuild-class/p1/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-class-conflict-ignore-multibuild-class 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-class-conflict-ignore-multibuild-class-p1 26 | jar 27 | 28 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-multibuild-class/p1/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-multibuild-class/p2/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | test-class-conflict-ignore-multibuild-class 22 | 1.0.under-test 23 | 24 | 25 | testjar 26 | test-class-conflict-ignore-multibuild-class-p2 27 | jar 28 | 29 | 30 | 31 | testjar 32 | test-class-conflict-ignore-multibuild-class-p1 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-multibuild-class/p2/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p2 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-ignore-multibuild-class/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def rootdir = new File(basedir, "p2") 17 | def p1Jar = jarName("test-class-conflict-ignore-multibuild-class-p1") 18 | def result = loadTestXml(rootdir) 19 | 20 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 21 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, p1Jar, projectTargetFolder(rootdir))) 22 | 23 | return true 24 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-package-exclude-with-dot/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-package-exclude-with-dot/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-package-exclude/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-package-exclude/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-wildcard-exclude-with-resource/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-wildcard-exclude-with-resource/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-wildcard-exclude/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-class-conflict-wildcard-exclude/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-classpath-mincount-default/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | invoker.ordinal = 1 18 | -------------------------------------------------------------------------------- /src/it/test-classpath-mincount-default/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | assert "2" == xml.configuration.@resultFileMinClasspathCount.text() 18 | 19 | overallState(CONFLICT_DIFF, 2, NOT_FAILED, result) 20 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 1, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 21 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 22 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 23 | 24 | assert 2 == result.classpathElements.size() 25 | 26 | def resources = result.classpathElements.findAll({ it.@type.text().equals(TYPE_RESOURCE) }) 27 | assert null != resources 28 | assert 2 == resources.classpathElement.size() // conflict-same-content, conflict-different-content 29 | 30 | def classes = result.classpathElements.findAll({ it.@type.text().equals(TYPE_CLASS) }) 31 | assert null != classes 32 | assert 1 == classes.classpathElement.size() // diff.Demo 33 | 34 | return true 35 | -------------------------------------------------------------------------------- /src/it/test-classpath-mincount/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-classpath-mincount/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | assert "3" == xml.configuration.@resultFileMinClasspathCount.text() 18 | 19 | overallState(CONFLICT_DIFF, 2, NOT_FAILED, result) 20 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 1, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 21 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 22 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 23 | 24 | assert 2 == result.classpathElements.size() 25 | 26 | def resources = result.classpathElements.findAll({ it.@type.text().equals(TYPE_RESOURCE) }) 27 | assert null != resources 28 | assert 0 == resources.classpathElement.size() 29 | 30 | def classes = result.classpathElements.findAll({ it.@type.text().equals(TYPE_CLASS) }) 31 | assert null != classes 32 | assert 0 == classes.classpathElement.size() 33 | 34 | return true 35 | -------------------------------------------------------------------------------- /src/it/test-currentproject-exists/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-currentproject-exists/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-currentproject-exists 26 | 27 | 28 | verify 29 | 30 | 31 | 32 | @project.groupId@ 33 | @project.artifactId@ 34 | 35 | true 36 | true 37 | 38 | 39 | true 40 | 41 | 42 | @project.groupId@.@project.artifactId@ 43 | test-currentproject-exists 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/it/test-currentproject-exists/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | def conflictingDependencies = xml.configuration.conflictingDependencies 21 | assert 1 == conflictingDependencies.size() 22 | 23 | // True because we want to include the current project 24 | assert "true" == conflictingDependencies[0].conflictingDependency.@currentProject.text() 25 | // True because the project was included 26 | assert "true" == conflictingDependencies[0].conflictingDependency.@currentProjectIncluded.text() 27 | 28 | return true 29 | -------------------------------------------------------------------------------- /src/it/test-currentproject-implicit/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-currentproject-implicit/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-currentproject-implicit 26 | 27 | 28 | verify 29 | 30 | 31 | 32 | @project.groupId@ 33 | @project.artifactId@ 34 | 35 | true 36 | true 37 | 38 | 39 | 40 | 41 | @project.groupId@.@project.artifactId@ 42 | test-currentproject-implicit 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/it/test-currentproject-implicit/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | def conflictingDependencies = xml.configuration.conflictingDependencies 21 | assert 1 == conflictingDependencies.size() 22 | 23 | // False because we do not want to include the current project 24 | assert "false" == conflictingDependencies[0].conflictingDependency.@currentProject.text() 25 | // True because the project was included by a dependency 26 | assert "true" == conflictingDependencies[0].conflictingDependency.@currentProjectIncluded.text() 27 | 28 | return true 29 | -------------------------------------------------------------------------------- /src/it/test-exclude-currentproject/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-exclude-currentproject/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, project-jar World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-exclude-currentproject/src/main/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | 494e8354-3c8c-11e4-ad33-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-exclude-currentproject/src/main/resources/conflict-same-content: -------------------------------------------------------------------------------- 1 | 37c72118-3c8c-11e4-bdd3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-exclude-currentproject/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 2, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, projectTargetFolder(basedir))) 20 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, projectTargetFolder(basedir))) 21 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, projectTargetFolder(basedir))) 22 | 23 | return true 24 | -------------------------------------------------------------------------------- /src/it/test-exclude-versionranges-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-exclude-versionranges-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 2, FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 22 | 23 | return true 24 | -------------------------------------------------------------------------------- /src/it/test-exclude-versionranges/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-exclude-versionranges/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 2, NOT_FAILED, result) 19 | checkConflictResult("diff.Demo", TYPE_CLASS, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, FIRST_CLASS_JAR, FIRST_DIFF_JAR)) 20 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 22 | 23 | return true 24 | -------------------------------------------------------------------------------- /src/it/test-issue-10-local/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-issue-10-local/p1/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-10-local/p1/src/test/java/diff/TestDemo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class TestDemo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-10-local/p2/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-issue-10-local 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-issue-10-local-p2 26 | jar 27 | 28 | 29 | 30 | testjar 31 | test-issue-10-local-p1 32 | 33 | 34 | 35 | testjar 36 | test-issue-10-local-p1 37 | shaded 38 | test 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/it/test-issue-10-local/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def rootdir = new File(basedir, "p2") 17 | def p1Jar = jarName("test-issue-10-p1") 18 | def result = loadTestXml(rootdir) 19 | 20 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-issue-10/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | invoker.ordinal = 1 18 | -------------------------------------------------------------------------------- /src/it/test-issue-10/p1/src/main/java/diff/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-10/p1/src/test/java/diff/TestDemo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package diff; 15 | 16 | public class TestDemo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-10/p2/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-issue-10 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-issue-10-p2 26 | jar 27 | 28 | 29 | 30 | testjar 31 | test-issue-10-p1 32 | 33 | 34 | 35 | testjar 36 | test-issue-10-p1 37 | shaded 38 | test 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/it/test-issue-10/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def rootdir = new File(basedir, "p2") 17 | def p1Jar = jarName("test-issue-10-p1") 18 | def result = loadTestXml(rootdir) 19 | 20 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-issue-31/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | invoker.ordinal = 1 18 | -------------------------------------------------------------------------------- /src/it/test-issue-31/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-issue-31 26 | 27 | 28 | 29 | org.ow2.asm 30 | asm 31 | 6.0 32 | 33 | 34 | org.ow2.asm 35 | asm-analysis 36 | 6.0 37 | 38 | 39 | 40 | 41 | 42 | 43 | @project.groupId@ 44 | @project.artifactId@ 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/it/test-issue-31/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-issue-33/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | invoker.ordinal = 1 18 | -------------------------------------------------------------------------------- /src/it/test-issue-33/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-issue-33 26 | 27 | 28 | 29 | org.assertj 30 | assertj-core 31 | 3.14.0 32 | 33 | 34 | net.bytebuddy 35 | byte-buddy 36 | 1.10.2 37 | 38 | 39 | 40 | 41 | 42 | 43 | @project.groupId@ 44 | @project.artifactId@ 45 | 46 | true 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/it/test-issue-33/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | // the jolokia agent actually conflicts quite a bit, so there are two expected conflicts. 19 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-issue-35/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | invoker.ordinal = 1 18 | -------------------------------------------------------------------------------- /src/it/test-issue-35/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | // the jolokia agent actually conflicts quite a bit, so there are two expected conflicts. 19 | overallState(NO_CONFLICT, 2, NOT_FAILED, result) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | 18 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/p1/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-issue-9-local-project 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-issue-9-local-project-p1 26 | jar 27 | 28 | 29 | 30 | 31 | org.apache.maven.plugins 32 | maven-compiler-plugin 33 | 34 | 35 | testjar 36 | test-issue-9-local-project-p2 37 | 1.0.under-test 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/p1/src/main/java/local/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package local; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/p2/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-issue-9-local-project 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-issue-9-local-project-p2 26 | jar 27 | 28 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/p2/src/main/java/local/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package local; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p2 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/src/main/java/local/Dummy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package local; 15 | 16 | public class Dummy { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, dummy World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-9-jars/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-issue-9-local-project/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | 18 | -------------------------------------------------------------------------------- /src/it/test-issue-9-local-project/p1/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-issue-9-local-project 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-issue-9-local-project-p1 26 | jar 27 | 28 | 29 | 30 | 31 | org.apache.maven.plugins 32 | maven-compiler-plugin 33 | 34 | 35 | testjar 36 | test-issue-9-local-project-p2 37 | 1.0.under-test 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/it/test-issue-9-local-project/p1/src/main/java/local/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package local; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p1 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-9-local-project/p2/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 4.0.0 17 | 18 | 19 | @project.groupId@.@project.artifactId@ 20 | test-issue-9-local-project 21 | 1.0.under-test 22 | 23 | 24 | testjar 25 | test-issue-9-local-project-p2 26 | jar 27 | 28 | -------------------------------------------------------------------------------- /src/it/test-issue-9-local-project/p2/src/main/java/local/Demo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package local; 15 | 16 | public class Demo { 17 | 18 | public static final void main(String... args) throws Exception { 19 | System.out.println("Hello, p2 World!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/it/test-issue-9-local-project/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def p1Dir = new File(basedir, "p1") 17 | def p2Dir = new File(basedir, "p2") 18 | 19 | def p1Result = loadTestXml(p1Dir) 20 | overallState(NO_CONFLICT, 0, NOT_FAILED, p1Result) 21 | 22 | def p2Result = loadTestXml(p2Dir) 23 | overallState(NO_CONFLICT, 0, NOT_FAILED, p2Result) 24 | 25 | return true 26 | -------------------------------------------------------------------------------- /src/it/test-pom-project/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-pom-project/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-pom-project 26 | pom 27 | 28 | 29 | 30 | testjar 31 | first-jar 32 | 1.0.under-test 33 | 34 | 35 | testjar 36 | second-jar 37 | 1.0.under-test 38 | 39 | 40 | 41 | 42 | 43 | 44 | @project.groupId@ 45 | @project.artifactId@ 46 | 47 | true 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/it/test-pom-project/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, NOT_FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-pull-24/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | invoker.ordinal = 1 18 | -------------------------------------------------------------------------------- /src/it/test-pull-24/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-compilepath/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-compilepath/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-compile-compilepath 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | 35 | 36 | 37 | 38 | @project.groupId@ 39 | @project.artifactId@ 40 | @project.version@ 41 | 42 | true 43 | false 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-compilepath/src/main/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | cda7d15a-411e-11e4-bafb-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-compilepath/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadXml(basedir, "compile") 17 | 18 | overallState(CONFLICT_DIFF, 1, NOT_FAILED, result) 19 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, FIRST_JAR, projectTargetFolder(basedir))) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-testpath/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-testpath/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-compile-testpath 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | 35 | 36 | 37 | 38 | @project.groupId@ 39 | @project.artifactId@ 40 | @project.version@ 41 | 42 | true 43 | false 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-testpath/src/test/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | cda7d15a-411e-11e4-bafb-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-compile-testpath/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadXml(basedir, "compile") 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-default-print-equal/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-default-print-equal/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-default-print-equal 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-jar 36 | 1.0.under-test 37 | 38 | 39 | 40 | 41 | 42 | 43 | @project.groupId@ 44 | @project.artifactId@ 45 | 46 | true 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-default-print-equal/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, NOT_FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-default/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-default/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-default 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-jar 36 | 1.0.under-test 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-default/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, NOT_FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail-diff-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail-diff-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_JAR, SECOND_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail-equal-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail-equal-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_EQUAL, 1, NOT_FAILED, result) 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, FIRST_JAR, SECOND_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-diff-fail 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-jar 36 | 1.0.under-test 37 | 38 | 39 | 40 | 41 | 42 | 43 | @project.groupId@ 44 | @project.artifactId@ 45 | 46 | true 47 | true 48 | 49 | conflict-same-content 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_JAR, SECOND_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-ignore-dependency/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-diff-ignore-dependency/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(NO_CONFLICT, 0, NOT_FAILED, result) 19 | 20 | return true 21 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail-diff-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail-diff-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) 19 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_JAR, SECOND_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail-equal-content/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail-equal-content/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_EQUAL, 1, FAILED, result) 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_JAR, SECOND_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-equal-fail 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-jar 36 | 1.0.under-test 37 | 38 | 39 | 40 | 41 | 42 | 43 | @project.groupId@ 44 | @project.artifactId@ 45 | 46 | true 47 | true 48 | 49 | conflict-different-content 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-equal-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_EQUAL, 1, FAILED, result) 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, FIRST_JAR, SECOND_JAR)) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-fail/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-fail/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-fail 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | testjar 35 | second-jar 36 | 1.0.under-test 37 | 38 | 39 | 40 | 41 | verify 42 | 43 | 44 | 45 | @project.groupId@ 46 | @project.artifactId@ 47 | 48 | true 49 | true 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-fail/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-local 26 | Ensure that a conflict with two local files is detected correctly. 27 | 28 | 29 | verify 30 | 31 | 32 | 33 | @project.groupId@ 34 | @project.artifactId@ 35 | 36 | true 37 | true 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/src/main/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | 3575f42a-3c8c-11e4-9be3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/src/main/resources/conflict-same-content: -------------------------------------------------------------------------------- 1 | 37c72118-3c8c-11e4-bdd3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/src/test/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | 494e8354-3c8c-11e4-ad33-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/src/test/resources/conflict-same-content: -------------------------------------------------------------------------------- 1 | 37c72118-3c8c-11e4-bdd3-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-local/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, projectTargetFolder(basedir), projectTargetTestFolder(basedir))) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, projectTargetFolder(basedir), projectTargetTestFolder(basedir))) 21 | 22 | return true 23 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-compilepath/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-compilepath/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-test-compilepath 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-compilepath/src/main/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | cda7d15a-411e-11e4-bafb-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-compilepath/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, NOT_FAILED, result) 19 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, FIRST_JAR, projectTargetFolder(basedir))) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-testpath/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-testpath/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-resource-conflict-test-testpath 26 | 27 | 28 | 29 | testjar 30 | first-jar 31 | 1.0.under-test 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-testpath/src/test/resources/conflict-different-content: -------------------------------------------------------------------------------- 1 | cda7d15a-411e-11e4-bafb-bcaec5228081 2 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-test-testpath/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def result = loadTestXml(basedir) 17 | 18 | overallState(CONFLICT_DIFF, 1, NOT_FAILED, result) 19 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, NOT_FAILED, findConflictResult(result, FIRST_JAR, projectTargetTestFolder(basedir))) 20 | 21 | return true 22 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-wildcard-exclude-with-class/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = failure 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-wildcard-exclude-with-class/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(CONFLICT_DIFF, 1, FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, NOT_EXCEPTED, PRINTED, FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | 22 | def conflictingDependencies = xml.configuration.conflictingDependencies 23 | assert 1 == conflictingDependencies.size() 24 | 25 | // False because the class turned it off 26 | assert "false" == conflictingDependencies[0].conflictingDependency.@wildcard.text() 27 | 28 | 29 | return true 30 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-wildcard-exclude/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.buildResult = success 17 | -------------------------------------------------------------------------------- /src/it/test-resource-conflict-wildcard-exclude/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | import static org.basepom.mojo.duplicatefinder.groovy.ITools.* 15 | 16 | def (result, xml) = loadXmlAndResult(basedir, "test") 17 | 18 | overallState(NO_CONFLICT, 1, NOT_FAILED, result) // This is "1" because both conflictResults are in the same conflict. 19 | checkConflictResult("conflict-same-content", TYPE_RESOURCE, CONFLICT_EQUAL, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 20 | checkConflictResult("conflict-different-content", TYPE_RESOURCE, CONFLICT_DIFF, EXCEPTED, NOT_PRINTED, NOT_FAILED, findConflictResult(result, 2, FIRST_JAR, SECOND_JAR)) 21 | 22 | def conflictingDependencies = xml.configuration.conflictingDependencies 23 | assert 1 == conflictingDependencies.size() 24 | 25 | // True because it is a wildcard match 26 | assert "true" == conflictingDependencies[0].conflictingDependency.@wildcard.text() 27 | 28 | return true 29 | -------------------------------------------------------------------------------- /src/it/test-skip-property/invoker.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | # 14 | 15 | invoker.goals=clean verify 16 | invoker.mavenOpts=-Dduplicate-finder.skip=true 17 | invoker.buildResult = success 18 | -------------------------------------------------------------------------------- /src/it/test-skip-property/pom.xml: -------------------------------------------------------------------------------- 1 | 14 | 16 | 17 | 4.0.0 18 | 19 | 20 | @project.groupId@.@project.artifactId@ 21 | basepom 22 | 1.0.under-test 23 | 24 | 25 | test-skip-property 26 | Ensure that the -Dduplicate-finder.skip property skips plugin execution 27 | 28 | 29 | 30 | testjar 31 | first-class-jar 32 | 1.0.under-test 33 | 34 | 35 | testjar 36 | first-diff-jar 37 | 1.0.under-test 38 | 39 | 40 | 41 | 42 | 43 | 44 | @project.groupId@ 45 | @project.artifactId@ 46 | @project.version@ 47 | 48 | true 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/it/test-skip-property/verify.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | def resultFile = new File(basedir, "target/duplicate-finder-result.xml").getCanonicalFile() 15 | 16 | assert !resultFile.exists() 17 | 18 | return true 19 | -------------------------------------------------------------------------------- /src/main/java/org/basepom/mojo/duplicatefinder/ConflictState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.basepom.mojo.duplicatefinder; 16 | 17 | import static com.google.common.base.Preconditions.checkState; 18 | 19 | public enum ConflictState { 20 | // Conflict states in order from low to high. 21 | NO_CONFLICT("no-conflict", ""), 22 | CONFLICT_CONTENT_EQUAL("content-equal", "(but equal)"), 23 | CONFLICT_CONTENT_DIFFERENT("content-different", "and different"); 24 | 25 | private final String value; 26 | private final String hint; 27 | 28 | ConflictState(String value, String hint) { 29 | this.value = value; 30 | this.hint = hint; 31 | } 32 | 33 | public String getHint() { 34 | return hint; 35 | } 36 | 37 | public static ConflictState max(final ConflictState... states) { 38 | checkState(states.length > 0, "states is empty"); 39 | 40 | ConflictState result = states[0]; 41 | for (int i = 1; i < states.length; i++) { 42 | if (states[i].ordinal() > result.ordinal()) { 43 | result = states[i]; 44 | } 45 | } 46 | 47 | return result; 48 | } 49 | 50 | @Override 51 | public String toString() { 52 | return value; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/org/basepom/mojo/duplicatefinder/ConflictType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.basepom.mojo.duplicatefinder; 16 | 17 | public enum ConflictType { 18 | CLASS("classes"), RESOURCE("resources"); 19 | 20 | private final String type; 21 | 22 | ConflictType(String type) { 23 | this.type = type; 24 | } 25 | 26 | public String getType() { 27 | return type; 28 | } 29 | 30 | @Override 31 | public String toString() { 32 | return type; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/basepom/mojo/duplicatefinder/artifact/ArtifactHelper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.basepom.mojo.duplicatefinder.artifact; 16 | 17 | import static com.google.common.base.Strings.nullToEmpty; 18 | 19 | import java.io.File; 20 | 21 | import org.apache.maven.artifact.Artifact; 22 | import org.apache.maven.project.MavenProject; 23 | 24 | public final class ArtifactHelper { 25 | 26 | private ArtifactHelper() { 27 | throw new AssertionError("do not instantiate"); 28 | } 29 | 30 | public static File getOutputDirectory(final MavenProject project) { 31 | return new File(project.getBuild().getOutputDirectory()); 32 | } 33 | 34 | public static File getTestOutputDirectory(final MavenProject project) { 35 | return new File(project.getBuild().getTestOutputDirectory()); 36 | } 37 | 38 | public static boolean isJarArtifact(final Artifact artifact) { 39 | return nullToEmpty(artifact.getType()).isEmpty() || "jar".equals(artifact.getType()) || "test-jar".equals(artifact.getType()); 40 | } 41 | 42 | public static boolean isTestArtifact(final Artifact artifact) { 43 | return "test-jar".equals(artifact.getType()) || "tests".equals(artifact.getClassifier()); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/org/basepom/mojo/duplicatefinder/classpath/MatchPatternPredicate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.basepom.mojo.duplicatefinder.classpath; 16 | 17 | import static com.google.common.base.Preconditions.checkNotNull; 18 | import static java.lang.String.format; 19 | 20 | import java.util.Collection; 21 | import java.util.regex.Pattern; 22 | 23 | import com.google.common.base.Predicate; 24 | import com.google.common.collect.ImmutableList; 25 | import org.slf4j.Logger; 26 | import org.slf4j.LoggerFactory; 27 | 28 | class MatchPatternPredicate implements Predicate { 29 | 30 | private static final Logger LOG = LoggerFactory.getLogger(MatchPatternPredicate.class); 31 | 32 | private final ImmutableList patterns; 33 | 34 | MatchPatternPredicate(final Collection patternStrings) { 35 | checkNotNull(patternStrings, "patternStrings is null"); 36 | 37 | final ImmutableList.Builder builder = ImmutableList.builder(); 38 | for (final String patternString : patternStrings) { 39 | builder.add(Pattern.compile(patternString, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE)); 40 | } 41 | 42 | this.patterns = builder.build(); 43 | } 44 | 45 | public ImmutableList getPatterns() { 46 | return patterns; 47 | } 48 | 49 | @Override 50 | public boolean apply(final String input) { 51 | if (input != null) { 52 | for (final Pattern pattern : patterns) { 53 | if (pattern.matcher(input).matches()) { 54 | LOG.debug(format("Ignoring '%s' (matches %s)", input, pattern.pattern())); 55 | return true; 56 | } 57 | } 58 | } 59 | return false; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/site/markdown/result_file_options.md: -------------------------------------------------------------------------------- 1 | The duplicate finder plugin can write its results to a file to allow other tools to pick up and post-process them. 2 | 3 | ```xml 4 | 5 | true 6 | ${project.build.directory}/duplicate-finder-result.xml 7 | 2 8 | 9 | ``` 10 | 11 | There are a number of flags controlling the generation of the result file. 12 | 13 | The format of the result file [is documented here](Result file format). 14 | 15 | ### `useResultFile` 16 | 17 | Controls whether a result file is written nor not. By default a result file is written. 18 | 19 | Maven command line property: `duplicate-finder.useResultFile` (**Plugin version 1.1.1+**) 20 | 21 | Default: **true** 22 | 23 | ### `resultFile` 24 | 25 | The location of the result file. If the file already exists, it is overwritten. If the folder it should be created in does not exist, it is created. 26 | 27 | By default, a file inside the `${project.build.directory}` (usually `target`) is created. 28 | 29 | Maven command line property: `duplicate-finder.resultFile` (**Plugin version 1.1.1+**) 30 | 31 | Default: **`${project.build.directory}/duplicate-finder-result.xml`** 32 | 33 | ### `resultFileMinClasspathCount` 34 | 35 | As the result file contains a list of all classpath elements (see below), it will become very large for bigger projects with many classes and resources on the classpath. The `resultFileMinClasspathCount` element controls the minimum number of occurences of a class or resource on the classpath before it will be listed in the result file. Set this element to `1` to generate a complete list. 36 | 37 | Maven command line property: `duplicate-finder.resultFileMinClasspathCount` (**Plugin version 1.1.1+**) 38 | 39 | Default: **2** 40 | -------------------------------------------------------------------------------- /src/site/site.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 17 | 18 | org.apache.maven.skins 19 | maven-fluido-skin 20 | 2.0.0-M6 21 | 22 | 23 | 24 | 25 | basepom/duplicate-finder-maven-plugin 26 | right 27 | 28 | false 29 | true 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/test/java/org/basepom/mojo/duplicatefinder/classpath/TestPackageNameHolder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package org.basepom.mojo.duplicatefinder.classpath; 15 | 16 | import com.google.common.collect.ImmutableList; 17 | import org.junit.Test; 18 | 19 | import static org.junit.Assert.assertEquals; 20 | 21 | public class TestPackageNameHolder { 22 | 23 | @Test 24 | public void testEmpty() { 25 | final PackageNameHolder p1 = new PackageNameHolder(); 26 | assertEquals("foo", p1.getQualifiedName("foo")); 27 | assertEquals("foo", p1.getQualifiedPath("foo")); 28 | 29 | final PackageNameHolder p2 = p1.getChildPackage("bar"); 30 | assertEquals("bar.foo", p2.getQualifiedName("foo")); 31 | assertEquals("bar/foo", p2.getQualifiedPath("foo")); 32 | } 33 | 34 | @Test 35 | public void testPrefilled() { 36 | final PackageNameHolder p1 = new PackageNameHolder(ImmutableList.of("hello", "world")); 37 | assertEquals("hello.world.foo", p1.getQualifiedName("foo")); 38 | assertEquals("hello/world/foo", p1.getQualifiedPath("foo")); 39 | 40 | final PackageNameHolder p2 = p1.getChildPackage("bar"); 41 | assertEquals("hello.world.bar.foo", p2.getQualifiedName("foo")); 42 | assertEquals("hello/world/bar/foo", p2.getQualifiedPath("foo")); 43 | } 44 | } 45 | --------------------------------------------------------------------------------