├── .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 |
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 |
--------------------------------------------------------------------------------