You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Alexander Syedin (JIRA)" <ji...@codehaus.org> on 2010/07/23 17:37:34 UTC
[jira] Updated: (MDEP-145) Outputting dependency resolution/tree in
a well known _machine readable_ output format
[ http://jira.codehaus.org/browse/MDEP-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Syedin updated MDEP-145:
----------------------------------
Attachment: MDEP-145-velocity.patch
I've added basic support for velocity templates to dependency:resolve / dependency:list mojos - see MDEP-145-velocity.patch attached.
This approach provides greater level of flexibility, allowing user to define arbitrary output format by himself in runtime.
for example, to get output in pom-like format one needs to create following template:
------------------
<dependencies>
#foreach( $artifact in $resolvedDependencies )
<dependency>
<artifactId>$artifact.getGroupId()</artifactId>
<groupId>$artifact.getArtifactId()</groupId>
<version>$artifact.getVersion()</version>
</dependency>
#end
</dependencies>
------------------
and then run resolve mojo:
------------------
mvn maven:resolve -DinputTemplate=path/to/template -DoutputFile=path/to/output
------------------
where path/to/template is either relative path on filesystem or path to resource in classpath. Unfortunately, Unfortunately, Velocity doesn't play well with absolute paths :(
The same approach could be expanded to:
- dependency:analyze*
- dependency:sources
- dependency:tree
> Outputting dependency resolution/tree in a well known _machine readable_ output format
> --------------------------------------------------------------------------------------
>
> Key: MDEP-145
> URL: http://jira.codehaus.org/browse/MDEP-145
> Project: Maven 2.x Dependency Plugin
> Issue Type: Improvement
> Components: resolve, tree
> Affects Versions: 2.0
> Reporter: Samuel Le Berrigaud
> Assignee: Brian Fox
> Fix For: 2.2
>
> Attachments: MDEP-145-velocity.patch, MDEP-145.zip, treegraph.patch
>
>
> Currently (at least on trunk) one can output the dependencies in a file. However the file output doesn't follow any specific format, except from being the exact same output than on the console.
> I would be nice to have an easily parse-able, format so that tools could leverage the dependency resolution/tree. I am thinking for example of continuous integration tools that could report on added/removed/updated dependencies on modules.
> The format could be xml, json or something else. I've been playing with the current output to make it so that:
> * the first line describes the current module for which dependency resolution is done, formatted as such: {{<groupId>:<artifactId>:<packaging>:<version>}}
> * every following line is a dependency (indented by 2 or more spaces), formatted as such: {{<groupId>:<artifactId>:<packaging>:<version>:<scope>}}
> This already is easy to parse.
> What do you think?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira