Uploaded image for project: 'NetBeans'
  1. NetBeans
  2. NETBEANS-6519

Maven dependency query produces incorrect results

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 15
    • 17
    • projects - Maven
    • None

    Description

      Maven dependency tree factory produces a dependency tree where duplicates and conflicts are omitted - or present, marked, but with no children. These duplicates (conflicts) are reported through the results of the query - but there's no indication that the artifact is actually incomplete (no subtree) or where the complete subtree should be found.

      An exhaustive dependency traversal is affected by that behaviour. The desired state would be to:

      • for a duplicated artifact, report also a copy of the subtree: exhaustive dependency traversal will process it
      • if a back reference appears, to an artifact reported higher in the branch, make a separate node instead of back reference, and leave the children empty. This prevent infinite loops during (simple) traversals.

      For graph algorithms an additional API (project.dependency) should be introduced, that

      • reports that a tree node is a duplicate, providing a reference to the 'master' copy of the subtree. The client may opt to skip it, process the master instead or just use the master's identification.
      • report that a tree node had a conflict (which has been resolved), and what the original (conflicting) artifact is. This will usually indicate a version clash between library dependencies, but it will be useful to see it in the data.

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              sdedic Svatopluk Dedic
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m