[maven],antのdependsを取る

色々書きましたが結論はこれみたい・・・。まぁ素敵。
http://www-128.ibm.com/developerworks/java/library/j-maven/sidefile1.html
...
違った。jarの依存一覧だった・・・。

...

antには Vizant(http://vizant.sourceforge.net/)というdependsを視覚化するツールがある。
mavenの場合goalが後ろに隠れているのでgoal依存関係を出力するツールがant以上に欲しい。
手っ取り早いのは$maven ant でbuild.xmlを作成して vizantにかけることか。

CUIでdependsを確認するにはこれ?

$ant -v | grep dep
Build sequence for target `jar' is [init, get-deps, compile, junit-present, comp
ile-tests, internal-test, test, jar]
Complete build sequence is [init, get-deps, compile, junit-present, compile-test
s, internal-test, test, jar, install-maven, javadoc, clean, dist, ]

grep dep じゃなくて sequence がよさそうですね。

antdocってのがあるな・・・これ試そう。
http://antdoc.free.fr/

mavenのgoalシーケンスをCUIで確認するには

$maven -X |grep -i goal

Using default goal: ejb
preparing goal: build:start
execution chain: [[Goal: name="build:start"]; precursor=]]
preparing goal: ejb
execution chain: [[Goal: name="ejb:init"]; precursor=
], [Goal: name="ejb:ejb"]; precursor=[[Goal: name="ejb:init"]; precursor=]]], [Goal: name="ejb"]; precursor=[[Goal: name="ejb:ejb"]; precursor=[[Goal: name="ejb:init"]; precursor=]]]]]]
preparing goal: build:end
execution chain: [[Goal: name="build:end"]; precursor=]]
attaining goal build:start
attaining goal ejb
preparing goal: test:test
execution chain: [[Goal: name="java:prepare-filesystem"]; precursor=
], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]
goal java:compile has preGoal decorators [
preparing goal: xdoclet:ejbdoclet
execution chain: [[Goal: name="xdoclet:ejbdoclet"]; precursor=[]]]
attaining goal build:end

こんなもんか。
goal has precursors(前のゴールか?)

strutsプロジェクトだとこう

Using default goal: war
preparing goal: build:start
execution chain: [[Goal: name="build:start"]; precursor=]]
preparing goal: war
execution chain: [[Goal: name="java:prepare-filesystem"]; precursor=
], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]], [Goal: name="war:init"]; precursor=], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]], [Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="war:webapp"]; precursor=[[Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]], [Goal: name="war:war"]; precursor=[[Goal: name="war:webapp"]; precursor=[[Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]]]], [Goal: name="war"]; precursor=[[Goal: name="war:war"]; precursor=[[Goal: name="war:webapp"]; precursor=[[Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]]]]]]]
goal java:compile has preGoal decorators [
preparing goal: build:end
execution chain: [[Goal: name="build:end"]; precursor=
]]
attaining goal build:start
attaining goal war
preparing goal: xdoclet:webdoclet
execution chain: [[Goal: name="xdoclet:webdoclet"]; precursor=[]]]
attaining goal build:end

結局、preGoalの前の

[Goal: name="war"]; precursor=Goal: name=”war:war”]; precursor=Goal: name=”war:webapp”]; precursor=Goal: name=”war:war-resources”]; precursor=Goal: name=”war:init”]; precursor=[?, [Goal: name="test:test"]; precursor=Goal: name=”test:compile”]; precursor=Goal: name=”java:compile”]; precursor=Goal: name=”java:prepare-filesystem”]; precursor=[?, [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=Goal: name=”test:prepare-filesystem”]; precursor=[?]

が求めるものかな。出力見づらいですね。
改行なしだと

Using default goal: war
preparing goal: build:start
execution chain: [[Goal: name="build:start"]; precursor=]]
preparing goal: war
execution chain: [[Goal: name="java:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]], [Goal: name="war:init"]; precursor=], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]], [Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="war:webapp"]; precursor=[[Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]], [Goal: name="war:war"]; precursor=[[Goal: name="war:webapp"]; precursor=[[Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]]]], [Goal: name="war"]; precursor=[[Goal: name="war:war"]; precursor=[[Goal: name="war:webapp"]; precursor=[[Goal: name="war:war-resources"]; precursor=[[Goal: name="war:init"]; precursor=]]], [Goal: name="test:test"]; precursor=[[Goal: name="test:compile"]; precursor=[[Goal: name="java:compile"]; precursor=[[Goal: name="java:prepare-filesystem"]; precursor=]]], [Goal: name="java:jar-resources"]; precursor=], [Goal: name="test:prepare-filesystem"]; precursor=], [Goal: name="test:test-resources"]; precursor=[[Goal: name="test:prepare-filesystem"]; precursor=]]]]]]]]]]]]]]
goal java:compile has preGoal decorators [
preparing goal: build:end
execution chain: [[Goal: name="build:end"]; precursor=]]
attaining goal build:start
attaining goal war
preparing goal: xdoclet:webdoclet
execution chain: [[Goal: name="xdoclet:webdoclet"]; precursor=[]]]
attaining goal build:end

どうだろコレ。
ううーん。maven -X の出力を見ると・・・コレだ!
$maven -X | grep -e '^.*:.*:$'

build:start:
war:init:
war:war-resources:
java:prepare-filesystem:
java:compile:
xdoclet:webdoclet:
java:jar-resources:
test:prepare-filesystem:
test:test-resources:
test:compile:
test:test:
war:webapp:
war:war:

勝ったぜ。