You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jan (Jira)" <ji...@apache.org> on 2021/09/09 14:43:00 UTC
[jira] [Commented] (MDEP-761) Tree plugin does not terminate with
3.2.0
[ https://issues.apache.org/jira/browse/MDEP-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17412616#comment-17412616 ]
Jan commented on MDEP-761:
--------------------------
[~michael-o]
I did a bisect and this is the result:
{code}
10398ddae456ad921e361f822e80a7d05bf1279a is the first bad commit
commit 10398ddae456ad921e361f822e80a7d05bf1279a
Author: ian-lavallee <34...@users.noreply.github.com>
Date: Fri Aug 14 08:19:55 2020 -0400
[MDEP-644] Reintroduce the verbose option for dependency:tree (#92)
Reintroduce the verbose option for dependency:tree
Co-authored-by: Elliotte Rusty Harold <el...@ibiblio.org>
dependency-reduced-pom.xml | 426 +++++++++++++++++++++
pom.xml | 20 +-
src/it/projects/analyze-report/invoker.properties | 2 -
.../invoker.properties | 2 -
.../src/test/java/hello/HelloTest.java | 3 -
src/it/projects/tree-verbose-small/expected.txt | 8 +
.../projects/tree-verbose-small/invoker.properties | 18 +
src/it/projects/tree-verbose-small/pom.xml | 68 ++++
src/it/projects/tree-verbose-small/verify.bsh | 35 ++
.../tree-verbose/expected-maven2version.txt | 87 +++++
src/it/projects/tree-verbose/expected.txt | 34 +-
src/it/projects/tree-verbose/pom.xml | 2 +-
src/it/projects/tree-verbose/verify.bsh | 5 +-
src/it/projects/unpack-custom-ear/pom.xml | 6 +-
src/it/projects/unpack-custom-ear/verify.groovy | 1 +
.../tree/CycleBreakerGraphTransformer.java | 73 ++++
.../maven/plugins/dependency/tree/TreeMojo.java | 143 +++++--
.../tree/VerboseDependencyGraphBuilder.java | 223 +++++++++++
.../dependency/tree/VerboseGraphSerializer.java | 324 ++++++++++++++++
src/main/resources/META-INF/plexus/components.xml | 4 +
.../plugins/dependency/TestListClassesMojo.java | 2 +-
.../tree/VerboseGraphSerializerTest.java | 253 ++++++++++++
.../unit/verbose-serializer-test/BasicCycle.txt | 3 +
.../unit/verbose-serializer-test/BasicTree.txt | 3 +
.../LargeGraphWithCycles.txt | 10 +
.../unit/verbose-serializer-test/LargeTree.txt | 11 +
.../verbose-serializer-test/OptionalDependency.txt | 3 +
.../unit/verbose-serializer-test/ScopeConflict.txt | 4 +
.../verbose-serializer-test/VersionConflict.txt | 4 +
29 files changed, 1712 insertions(+), 65 deletions(-)
create mode 100644 dependency-reduced-pom.xml
create mode 100644 src/it/projects/tree-verbose-small/expected.txt
create mode 100644 src/it/projects/tree-verbose-small/invoker.properties
create mode 100644 src/it/projects/tree-verbose-small/pom.xml
create mode 100644 src/it/projects/tree-verbose-small/verify.bsh
create mode 100644 src/it/projects/tree-verbose/expected-maven2version.txt
create mode 100644 src/main/java/org/apache/maven/plugins/dependency/tree/CycleBreakerGraphTransformer.java
create mode 100644 src/main/java/org/apache/maven/plugins/dependency/tree/VerboseDependencyGraphBuilder.java
create mode 100644 src/main/java/org/apache/maven/plugins/dependency/tree/VerboseGraphSerializer.java
create mode 100644 src/test/java/org/apache/maven/plugins/dependency/tree/VerboseGraphSerializerTest.java
create mode 100644 src/test/resources/unit/verbose-serializer-test/BasicCycle.txt
create mode 100644 src/test/resources/unit/verbose-serializer-test/BasicTree.txt
create mode 100644 src/test/resources/unit/verbose-serializer-test/LargeGraphWithCycles.txt
create mode 100644 src/test/resources/unit/verbose-serializer-test/LargeTree.txt
create mode 100644 src/test/resources/unit/verbose-serializer-test/OptionalDependency.txt
create mode 100644 src/test/resources/unit/verbose-serializer-test/ScopeConflict.txt
create mode 100644 src/test/resources/unit/verbose-serializer-test/VersionConflict.txt
{code}
It's interesting as it says "reintroduce verbose option" and this problem occurs only with verbose set. The previous versions had a warning saying that verbose was removed since 3.0. So it seems that the culprit here is the new verbose feature which seems not to terminate.
> Tree plugin does not terminate with 3.2.0
> -----------------------------------------
>
> Key: MDEP-761
> URL: https://issues.apache.org/jira/browse/MDEP-761
> Project: Maven Dependency Plugin
> Issue Type: Bug
> Components: tree
> Affects Versions: 3.2.0
> Environment: Windows 10
> Reporter: Jan
> Priority: Major
>
> We use a tool called WhiteSource that analyzes our dependencies for security issues. It uses the the following call to maven deps plugin to get the dependencies:
> {code}mvn dependency:tree -DoutputFile=whitesource_mvn_dependency_tree.txt -Dverbose -DoutputType=text -T1 -B {code}
> This works and takes ~15seconds with version 3.1.2, after upgrading to 3.2.0, this call does not terminate after 15 minutes and runs into a timeout.
> When starting maven with "-X" I can see thousands of those debug messages flowing through, it looks like it is scanning the whole local maven repository:
> {code}
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\jboss\spec\jboss-specs-parent\1.0.0.Beta2\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\jboss\spec\javax\interceptor\jboss-interceptors-api_1.1_spec\1.0.0.Beta1\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\jboss\spec\jboss-specs-parent\1.0.0.Beta1\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\testng\testng\5.10\_remote.repositories
> [DEBUG] Verifying availability of C:\Users\myuser\.m2\repository\org\apache\derby\derby\10.12.1.1\derby-10.12.1.1.pom from [devcloud-bci-mvn (https://my-repo, default, releases+snapshots), artifactory-central-mirror (https://my-repo, default, releases), central (https://repo.maven.apache.org/maven2, default, releases)]
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://my-repo with username=myuser, password=*** via localhost:8888
> [DEBUG] Writing tracking file C:\Users\myuser\.m2\repository\org\apache\derby\derby\10.12.1.1\_remote.repositories
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)