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>