LoginSignup
5
4

More than 3 years have passed since last update.

Coursierで特定のmaven artifactの依存関係を確認する

Posted at

Androidでの開発やJavaなどのJVM言語での開発で、あれ、このライブラリって何に依存しているんだっけ?って思うことよくありますよね?
皆さんはどのように確認しているでしょうか?
https://mvnrepository.com/ などのサイトを見たり、 ./gradlew dependenciesで確認するなどさまざまだと思います。

今日はScalaで書かれたCoursierというCLIツールが便利だったので紹介します。
https://get-coursier.io/

使い方

ターミナル上で coursier resolve maven_artifactという感じで確認できます

$ coursier resolve io.circe:circe-core_2.12:0.10.0
io.circe:circe-core_2.12:0.10.0:default
io.circe:circe-numbers_2.12:0.10.0:default
org.scala-lang:scala-library:2.12.6:default
org.scala-lang:scala-reflect:2.12.6:default
org.typelevel:cats-core_2.12:1.4.0:default
org.typelevel:cats-kernel_2.12:1.4.0:default
org.typelevel:cats-macros_2.12:1.4.0:default
org.typelevel:machinist_2.12:0.6.5:default

-tでツリー状にも依存関係を確認できます。

$ cs resolve -t io.circe::circe-generic:0.12.3
  Result:
└─ io.circe:circe-generic_2.13:0.12.3
   ├─ com.chuusai:shapeless_2.13:2.3.3
   │  └─ org.scala-lang:scala-library:2.13.0
   ├─ io.circe:circe-core_2.13:0.12.3
   │  ├─ io.circe:circe-numbers_2.13:0.12.3
   │  │  └─ org.scala-lang:scala-library:2.13.0
   │  ├─ org.scala-lang:scala-library:2.13.0

インストール方法

Macだと以下のようにしてインストールできるようです。
https://get-coursier.io/docs/cli-installation

brew install coursier/formulas/coursier

Google Maven Reposiotryにあるリポジトリを見る

Androidの開発で欠かせないGoogle Maven Reposiotryを見るには以下のようにして行います。

cs resolve -t  -r https://maven.google.com -r https://jcenter.bintray.com androidx.ui:ui-livedata:0.1.0-dev12|view -
└─ androidx.ui:ui-livedata:0.1.0-dev12
   ├─ androidx.compose:compose-runtime:0.1.0-dev12
   │  ├─ androidx.annotation:annotation:1.1.0
   │  ├─ org.jetbrains.kotlin:kotlin-stdlib:^[[33m1.3.70 -> 1.3.71^[[0m
   │  │  ├─ org.jetbrains:annotations:13.0
   │  │  └─ org.jetbrains.kotlin:kotlin-stdlib-common:1.3.71
   │  ├─ org.jetbrains.kotlin:kotlin-stdlib-common:^[[33m1.3.70 -> 1.3.71^[[0m
   │  ├─ org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3
   │  │  ├─ org.jetbrains.kotlin:kotlin-stdlib:^[[33m1.3.50 -> 1.3.71^[[0m
   │  │  │  ├─ org.jetbrains:annotations:13.0
   │  │  │  └─ org.jetbrains.kotlin:kotlin-stdlib-common:1.3.71
   │  │  └─ org.jetbrains.kotlin:kotlin-stdlib-common:^[[33m1.3.50 -> 1.3.71^[[0m
   │  ├─ org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6
   │  │  ├─ org.jetbrains.kotlin:kotlin-stdlib:1.3.71
   │  │  │  ├─ org.jetbrains:annotations:13.0

終わりに

依存関係を調べるときに手軽に調べられるので便利そうでした。
依存性の確認以外にも、まとめてjarにしてくれる機能や起動してくれる機能などがあって便利だったので、公式サイトを確認してみてください。
https://get-coursier.io/docs/overview

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4