GradleプロジェクトでJIGドキュメントを出力するプラグインです。
plugins {
id "org.dddjava.jig-gradle-plugin" version {バージョン}
}バージョンや記述方法は プラグインリポジトリ を参照してください。
gradle tasks で出力される "JIG tasks" を参照してください。
- プラグインの追加(導入方法参照)
- プロジェクトのビルドおよびJIGの実行
$ gradle jigReports
build/jig ディレクトリにJIGドキュメントが出力されます。
jigReports はコンパイル(classes)に依存しているため、コンパイルは自動的に先行して実行されます。
build.gradle で指定できます。以下は例です。
jig {
// パッケージにかかわらず全ての要素を出力する
modelPattern = '.+'
// パッケージ概要と一覧出力のみ出力する
documentTypes = ['PackageRelation', 'ListOutput']
}設定できる項目は JigConfig.java を参照してください。
JIGは *.class および Java ソースを入力とします。
これらはタスクの入力として宣言されており、コンパイルタスクへの依存も張られています。
そのため jigReports を単体で実行すればコンパイルが先行し、入力に変更がなければ UP-TO-DATE としてスキップされます。
なお、削除したクラスの *.class がビルドディレクトリに残っていると、それが解析対象に含まれてしまう可能性があります。
確実にクリーンな状態から出力したい場合は clean を併用してください。
$ gradle clean jigReports
ただし順序制約のないタスクの実行順はGradleが保証しません。
clean がコンパイルの後に実行されると、jigReports は *.class が消えた状態で解析することになります。
jigReports 自身に mustRunAfter(clean) を記述してもコンパイルタスクは拘束されないため、次のように classes に対して記述してください。
classes.mustRunAfter(clean)期待した出力がされない場合など、ログを確認する際は --info などを指定してください。
JIGの基本的なログは INFO で出力しています。
Gradleのデフォルトログレベルは LIFECYCLE以上 のため、 INFO は表示されません。
mavenLocal() へのインストールを行う
./gradlew build
build.gradle に以下を記述
buildscript {
repositories {
mavenLocal()
}
dependencies {
classpath 'org.dddjava.jig:jig-gradle-plugin:+'
}
}
apply plugin: 'java'
apply plugin: 'org.dddjava.jig-gradle-plugin'