Uploaded image for project: 'Maven Dependency Plugin'
  1. Maven Dependency Plugin
  2. MDEP-150

Indeterministic artifact ordering can cause bogus warnings

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • 2.0
    • 2.1
    • analyze
    • None
    • Patch

    Description

      Once MNG-1412 gets released, it will be nice to have the dependency analyzer respect ordering, too.

      As some motivation, consider a project P with the following dependency tree:

      Project P
      +- Dep A
         +- Dep B
      

      Further assume that both dependencies a and B contain the same class X (for whatever reason, say backward-compat). Project P directly uses this class X (hence Dep A being a dependency of P).

      Currenlty, the ordering of artifacts is ignored by the analyzer such that the artifactClassMap might list Dep B before Dep A. This in turn will make findArtifactForClassName() return Dep B as the source artifact for class X which results in the bogus warning "Used undeclared dependency Dep B" because Dep A should have been considered instead as it is first on the class path.

      Attachments

        1. deterministic-artifact-ordering.patch
          3 kB
          Benjamin Bentmann

        Issue Links

          Activity

            People

              brianf Brian E Fox
              bentmann Benjamin Bentmann
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: