gradle-dependency-graph-generator-plugin を使ってみた

gradle-dependency-graph-generator-plugin を使ってみた

Clock Icon2018.05.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「スタバで注文するのはいつも Venti」でおなじみの fujimura です。

gradle dependencies で見るグラフがわかりにくいなと思ったので、graphviz で表示してくれるやつがないかなとぐぐってみたら、あったので軽く紹介します。

準備

最初に Set up の指示通りに graphviz のインストールをしておきます。

$ brew install graphviz

次に適当にベースとなるプロジェクトを SPRING INITIALIZR でつくってみます。

ダウンロードしたら解凍します。

$ unzip demo.zip
Archive:  demo.zip
   creating: demo/
  inflating: demo/gradlew            
   creating: demo/gradle/
   creating: demo/gradle/wrapper/
   creating: demo/src/
   creating: demo/src/main/
   creating: demo/src/main/java/
   creating: demo/src/main/java/com/
   creating: demo/src/main/java/com/example/
   creating: demo/src/main/java/com/example/demo/
   creating: demo/src/main/resources/
   creating: demo/src/test/
   creating: demo/src/test/java/
   creating: demo/src/test/java/com/
   creating: demo/src/test/java/com/example/
   creating: demo/src/test/java/com/example/demo/
  inflating: demo/.gitignore         
  inflating: demo/build.gradle       
  inflating: demo/gradle/wrapper/gradle-wrapper.jar  
  inflating: demo/gradle/wrapper/gradle-wrapper.properties  
  inflating: demo/gradlew.bat        
  inflating: demo/settings.gradle    
  inflating: demo/src/main/java/com/example/demo/DemoApplication.java  
  inflating: demo/src/main/resources/application.properties  
  inflating: demo/src/test/java/com/example/demo/DemoApplicationTests.java  

引き続き Set up に従って plugin を build.gradle に追加します。

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "com.vanniktech:gradle-dependency-graph-generator-plugin:0.4.0"
  }
}

apply plugin: "com.vanniktech.dependency.graph.generator"

あとは generateDependencyGraph を実行すると、build 配下に画像ファイルが生成されます。

$ ./gradlew generateDependencyGraph
$ open build/reports/dependency-graph/dependency-graph.png

まとめ

gradle でパッケージ依存情報をグラフ画像化できる gradle-dependency-graph-generator-plugin を使ってみました。

ちなみに空っぽの spring アプリケーションだとこれくらいの依存ですが、実際に開発しているリポジトリで試してみたところ、とても大きな画像になってしまい、読むのが大変でした。(小並感)

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.