JDepend parser を呼び出します。
この parser は「Java ソースファイルのディレクトリのセットを走査し、各 Java パッケージのデザイン品質指標を生成」します。「拡張性、再利用性、およびメンテナンス性の観点から、パッケージの依存関係を管理および制御するために、デザインの品質を自動的に評価」することができます。
ソースファイルのディレクトリは、ネストされた <sourcespath> で定義されます。クラスファイルのディレクトリは、ネストされた <classespath> で定義されます。ネストされた要素 を参照してください。
オプションで、outputfile 名を、出力を格納する場所として設定することもできます。タスクはデフォルトで、標準出力にレポートを書き込みます。
このタスクには少なくとも JDepend 1.2 バージョンが必要とされます。
| 属性 | 説明 | 必須 |
|---|---|---|
| outputfile | 出力ファイル名。設定されていない場合、出力は標準出力に出力されます。 | いいえ |
| format | 出力の書き込み形式、text(デフォルト)または xmlのいずれか |
いいえ、デフォルトは textです |
| fork | テストを個別の JVM で実行します。 | いいえ、デフォルトは offです |
| haltonerror | jdepend 分析中にエラーが発生した場合に、ビルドプロセスを停止します。 |
いいえ、デフォルトは offです |
| timeout | 操作が指定時間(ミリ秒単位)内に完了しない場合は、操作をキャンセルします。 | いいえ、fork が falseの場合は無視されます |
| jvm | JVM を呼び出すために使用されるコマンド。このコマンドは java.lang.Runtime.exec() で解決されます。 |
いいえ、デフォルトの java、fork が falseの場合は無視されます |
| dir | JVM を呼び出すディレクトリ。 | いいえ、fork が falseの場合は無視されます |
| includeruntime | フォークされたモードで jdepend を実行するために必要なクラスを暗黙的に追加します。Apache Ant 1.6 以降。 |
いいえ、デフォルトは no、fork が falseの場合は無視されます |
| classpathref | 使用される classpath、他の場所で定義されたパスの参照として与えられます。 | いいえ |
jdepend は、4 つのネストされた要素をサポートしています: パスライクな構造 を表す <classpath>、<classespath> 、および <sourcespath>、および <exclude>。
<sourcespath>は分析されるソースコードのパスを定義するために使用されますが、非推奨になっています。JDependのバージョン2.5では、クラスファイルのみが分析されます。ネストされた要素<classespath>は<sourcespath>に置き換わり、分析されるコンパイルクラスコードのパスを定義するために使用されます。以前のバージョンのJDependを使用している場合は<sourcespath>変数が引き続き利用できます。<exclude>要素は無視するパッケージを設定するために使用できます(JDepend 2.5以上が必要です)。
標準出力に出力を書き込んでbuildディレクトリでJDependを呼び出します。クラスパスは参照を使用して定義されます。
<jdepend classpathref="base.path">
<classespath>
<pathelement location="build"/>
</classespath>
</jdepend>
これにより、srcディレクトリとtestsrcディレクトリで別のJVMでJDependが呼び出され、出力がXML形式でdocs/jdepend.xmlファイルに出力されます。クラスパスはネストされた要素を使用して定義されます。
<jdepend outputfile="docs/jdepend.xml" fork="yes" format="xml">
<sourcespath>
<pathelement location="src"/>
</sourcespath>
<classpath>
<pathelement location="classes"/>
<pathelement location="lib/jdepend.jar"/>
</classpath>
</jdepend>
クラスファイルの分析用にビルドディレクトリをベースとしてJDependを呼び出し、java.*およびjavax.*パッケージ内のすべてのクラスを無視します。
<jdepend classpathref="base.path">
<exclude name="java.*>
<exclude name="javax.*>
<classespath>
<pathelement location="build"/>
</classespath>
</jdepend>