Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: maven-dependency-tree-1.2
    • Fix Version/s: maven-dependency-tree-2.0
    • Component/s: maven-dependency-tree
    • Labels:
      None
    • Environment:
      Maven 3.0, Ubuntu, JDK 6.
    • Testcase included:
      yes
    • Number of attachments :
      1

      Description

      (Not sure what the right place to file this is. maven-dependency-tree 1.2 gives MNG as the JIRA component by inheritance.)

      mvn dependency:tree on the attached project lists batik-script by way of batik-bridge as expected, but then fails to show batik-js as a dependency of that. If you list batik-script as a direct dependency, batik-js is correctly shown.

      Possibly related is that Maven 2.2.1 also fails to find batik-js in MavenProject.getRuntimeArtifacts, so clean package fails, whereas this works fine under Maven 3.0. Yet just running the dependency plugin under M3 does not suffice to pick up this fix, wherever it was - MNG-4690?

      Although the Batik JARs are built from an odd source tree, the artifacts as present in the local repository look normal enough; all of the dependencies involved are simple compile scope without exclusions etc.

      Marking "major" since this seems to cause MNBMODULE-102 (producing build errors for certain projects); also I have noticed that the dependency graph feature in the NB IDE omits batik-js, and there may be other user-visible effects of this bug.

        Issue Links

          Activity

          Hide
          Benjamin Bentmann added a comment -

          The tree calculated by Maven 3.0 core is correct:

          [DEBUG] test:test-dependency-tree:jar:1.0-SNAPSHOT
          [DEBUG]    org.apache.xmlgraphics:batik-swing:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-awt-util:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-bridge:jar:1.7:compile
          [DEBUG]          org.apache.xmlgraphics:batik-anim:jar:1.7:compile
          [DEBUG]          org.apache.xmlgraphics:batik-parser:jar:1.7:compile
          [DEBUG]          org.apache.xmlgraphics:batik-script:jar:1.7:compile
          [DEBUG]             org.apache.xmlgraphics:batik-js:jar:1.7:compile
          [DEBUG]          org.apache.xmlgraphics:batik-xml:jar:1.7:compile
          [DEBUG]          xalan:xalan:jar:2.6.0:compile
          [DEBUG]       org.apache.xmlgraphics:batik-css:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-dom:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-ext:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-gui-util:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-gvt:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-svg-dom:jar:1.7:compile
          [DEBUG]       org.apache.xmlgraphics:batik-util:jar:1.7:compile
          [DEBUG]       xml-apis:xml-apis:jar:1.3.04:compile
          [DEBUG]       xml-apis:xml-apis-ext:jar:1.3.04:compile
          

          .
          As mentioned in the compat notes, maven-dependency-tree couldn't be briged onto Aether and this is one of those corner cases where the discrepancy gets visible.

          Show
          Benjamin Bentmann added a comment - The tree calculated by Maven 3.0 core is correct: [DEBUG] test:test-dependency-tree:jar:1.0-SNAPSHOT [DEBUG] org.apache.xmlgraphics:batik-swing:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-awt-util:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-bridge:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-anim:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-parser:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-script:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-js:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-xml:jar:1.7:compile [DEBUG] xalan:xalan:jar:2.6.0:compile [DEBUG] org.apache.xmlgraphics:batik-css:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-dom:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-ext:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-gui-util:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-gvt:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-svg-dom:jar:1.7:compile [DEBUG] org.apache.xmlgraphics:batik-util:jar:1.7:compile [DEBUG] xml-apis:xml-apis:jar:1.3.04:compile [DEBUG] xml-apis:xml-apis-ext:jar:1.3.04:compile . As mentioned in the compat notes, maven-dependency-tree couldn't be briged onto Aether and this is one of those corner cases where the discrepancy gets visible.
          Hide
          Jesse Glick added a comment -

          I see. Should maven-dependency-tree then be considered fully deprecated? If so, is there some plan to release a fixed maven-dependency-plugin; and is there some documentation on which API in Maven core (or Aether) should be used in place of the deprecated component?

          Show
          Jesse Glick added a comment - I see. Should maven-dependency-tree then be considered fully deprecated? If so, is there some plan to release a fixed maven-dependency-plugin; and is there some documentation on which API in Maven core (or Aether) should be used in place of the deprecated component?
          Hide
          Jesse Glick added a comment -

          The above tree seems to be printed by:

          	at org.apache.maven.project.DefaultProjectDependenciesResolver$GraphLogger.visitEnter(DefaultProjectDependenciesResolver.java:223)
          	at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:173)
          	at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177)
          	at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177)
          	at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177)
          	at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177)
          	at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:145)
          
          Show
          Jesse Glick added a comment - The above tree seems to be printed by: at org.apache.maven.project.DefaultProjectDependenciesResolver$GraphLogger.visitEnter(DefaultProjectDependenciesResolver.java:223) at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:173) at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177) at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177) at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177) at org.sonatype.aether.impl.internal.GraphEdge.accept(GraphEdge.java:177) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:145)
          Hide
          Jesse Glick added a comment -

          Possibly related to MNG-4982?

          Show
          Jesse Glick added a comment - Possibly related to MNG-4982 ?
          Hide
          David Tombs added a comment -

          This issue just caused me some grief. Could this discrepancy between dependency:tree and the actual tree used possibly be documented in the dependency:tree docs?

          Show
          David Tombs added a comment - This issue just caused me some grief. Could this discrepancy between dependency:tree and the actual tree used possibly be documented in the dependency:tree docs?
          Hide
          Jesse Glick added a comment -

          I do not have commit privileges, so:

          Index: src/main/java/org/apache/maven/plugin/dependency/TreeMojo.java
          ===================================================================
          --- src/main/java/org/apache/maven/plugin/dependency/TreeMojo.java	(revision 1183422)
          +++ src/main/java/org/apache/maven/plugin/dependency/TreeMojo.java	(working copy)
          @@ -65,7 +65,7 @@
           
           /**
            * Displays the dependency tree for this project.
          - *
          + * Beware that due to <a href="https://jira.codehaus.org/browse/MSHARED-167">MSHARED-167</a> the result may be incorrect in obscure cases.
            * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
            * @version $Id$
            * @since 2.0-alpha-5
          
          Show
          Jesse Glick added a comment - I do not have commit privileges, so: Index: src/main/java/org/apache/maven/plugin/dependency/TreeMojo.java =================================================================== --- src/main/java/org/apache/maven/plugin/dependency/TreeMojo.java (revision 1183422) +++ src/main/java/org/apache/maven/plugin/dependency/TreeMojo.java (working copy) @@ -65,7 +65,7 @@ /** * Displays the dependency tree for this project. - * + * Beware that due to <a href= "https: //jira.codehaus.org/browse/MSHARED-167" >MSHARED-167</a> the result may be incorrect in obscure cases. * @author <a href= "mailto:markhobson@gmail.com" >Mark Hobson</a> * @version $Id$ * @since 2.0-alpha-5
          Hide
          Herve Boutemy added a comment -

          new DependencyGraphBuilder component created in r1348663

          this component has a Maven 2 implementation using "usual" DependencyTreeBuilder and a Maven 3 implementation using Maven 3 with Aether
          Default implementation detects current Maven version and automatically switches between the 2

          Show
          Herve Boutemy added a comment - new DependencyGraphBuilder component created in r1348663 this component has a Maven 2 implementation using "usual" DependencyTreeBuilder and a Maven 3 implementation using Maven 3 with Aether Default implementation detects current Maven version and automatically switches between the 2
          Hide
          Herve Boutemy added a comment -

          IT added in r1469697: clearly shows how M2 has wrong resolution where M3 has a fixed one

          Show
          Herve Boutemy added a comment - IT added in r1469697 : clearly shows how M2 has wrong resolution where M3 has a fixed one

            People

            • Assignee:
              Herve Boutemy
              Reporter:
              Jesse Glick
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: