(メモ) Android Libraryのパブリッシュは"publishing"を使う
仕事柄、AndroidでもiOSでもモジュールバイナリを作成して配布する機会がそこそこあります。
Androidの場合、大抵はCIからgradle taskを叩いて行いますので差分に気づく機会が少ないのですが、実はuploadArchives
とpublishing
では.pom
に記述される<scope>
が異なります。
uploadArchivesの場合
一律compile
が指定されます。これはAndroid Gradle Plugin 2.x
系では問題になりませんが、3.x
以降ではapi
とimplementation
で依存関係の種別を切り替えられるので、場合によっては利用者となるアプリモジュールで不都合があるかもしれません。
publishingの場合
scope
自体が指定されません。
もし指定したい場合は↓のようになります。
type | scope |
---|---|
implementation | runtime |
api | compile |
こんな感じで指定すれば書き出されます。
※以前にこの変更をしたときは、scope
も指定された気がしますが、もう転職して該当のbuild.gradle
にアクセスできないので分かりません(^^;;