[
https://issues.apache.org/jira/browse/MDEP-799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17847107#comment-17847107
]
ASF GitHub Bot commented on MDEP-799:
-------------------------------------
LogFlames opened a new pull request, #391:
URL: https://github.com/apache/maven-dependency-plugin/pull/391
Following this checklist to help us incorporate your
contribution quickly and easily:
- [x] Make sure there is a [JIRA
issue](https://issues.apache.org/jira/browse/MDEP) filed
for the change (usually before you start working on it). Trivial
changes like typos do not
require a JIRA issue. Your pull request should address just this
issue, without
pulling in other changes.
- [x] Each commit in the pull request should have a meaningful subject line
and body.
Same as #325, will squash and update commit in the end, once everything is
fixed.
- [x] Format the pull request title like `[MDEP-XXX] - Fixes bug in
ApproximateQuantiles`,
where you replace `MDEP-XXX` with the appropriate JIRA issue. Best
practice
is to use the JIRA issue title in the pull request title and in the
first line of the
commit message.
- [x] Write a pull request description that is detailed enough to
understand what the pull request does, how, and why.
- [x] Run `mvn clean verify` to make sure basic checks pass. A more
thorough check will
be performed on your pull request automatically.
- [x] You have run the integration tests successfully (`mvn -Prun-its clean
verify`).
- [x] I hereby declare this contribution to be licensed under the [Apache
License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
- [x] In any other case, please file an [Apache Individual Contributor
License Agreement](https://www.apache.org/licenses/icla.pdf).
This is a continuation of #325, which adds JSON output type to the
maven-depdenceny-plugin with the goal tree.
The tests were disabled in the previous fork, to enable the tests (in a
working state) this is rebased to the current master (2024-05-16), if the
history looks weird (have some 'double' commits, unsure how to solve it). Two
tests exists.
[Discussion:
IOException](https://github.com/apache/maven-dependency-plugin/pull/325#discussion_r1590864832)
The JsonDependencyNodeVisitor now uses the PrintWriter which swallows
IOExceptions, as the other Node Visitors do. Could not get it to throw an
IOException due to the function being defined in the interface without throwing
an Exception, unsure if this can be solved without a larger rework?
[Discussion: Circular
Dependency](https://github.com/apache/maven-dependency-plugin/pull/325#discussion_r1590867632)
I have added a test for circular dependency, as well as a visited set to stop
infinite recursion. This currently exists silently, but I feel there should be
some sort of Exception or warning. Due to the same reason as above (interface
not throwing exception) I could not find a way to do this nicely. Guessing
RuntimeException("Detected Circular Dependency") is not an option? Happy to
receive help with ideas/suggestions/opinions!
I think all other requested changes from #325 are addressed.
> improve mvn dependency:tree - add optional JSON output of the results
> ---------------------------------------------------------------------
>
> Key: MDEP-799
> URL: https://issues.apache.org/jira/browse/MDEP-799
> Project: Maven Dependency Plugin
> Issue Type: New Feature
> Components: tree
> Reporter: Zhenxu Ke
> Priority: Major
>
> I'd like to add an output type JSON, will open a pull request soon
--
This message was sent by Atlassian Jira
(v8.20.10#820010)