Compose の BOM。
公開されているので使ってみます。
少し公式ドキュメントで調べておきます。
BOM の使用は義務ですか?
いいえ。個々の依存関係バージョンを手動で追加することもできます。しかし、すべての最新の安定版を同時に使用することが容易になるので、BOM を使用することをおすすめします。
Compose Compiler ライブラリが BOM に含まれていないのはなぜですか?
Compose Kotlin コンパイラ拡張機能(androidx.compose.compiler)は、Compose ライブラリのバージョンでなく、Kotlin コンパイラ プラグインのバージョンにリンクされており、Compose の他の部分とは異なる頻度でリリースされます。したがって、お使いの Kotlin バージョンと互換性のあるバージョンを使用してください。
👉 Using the Bill of Materials | Jetpack Compose | Android Developers
公式サンプルコードを少し変更したものを準備しておきます。
# libs.versions.toml
[libraries]
compose-ui-bom = { module = "androidx.compose:compose-bom", version = "2023.01.00" }
// build.gradle
dependencies {
implementation platform(libs.compose.ui.bom)
}
👉 BOM to library version mapping | Jetpack Compose | Android Developers
■ 実装
実装としては、以下でいけました。
# libs.versions.toml
[libraries]
compose-ui-bom = { module = "androidx.compose:compose-bom", version = "2023.01.00"}
compose-material = { module = "androidx.compose.material:material" }
compose-material-icons = { module = "androidx.compose.material:material-icons-extended" }
compose-ui = { module = "androidx.compose.ui:ui" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
// build.gradle
dependencies {
// compose-ui
implementation platform(libs.compose.ui.bom)
implementation libs.compose.material
implementation libs.compose.material.icons
implementation libs.compose.ui
implementation libs.compose.ui.tooling.preview
}
■ まとめ
BOM を使っていなかったのですが、エラーが出始めたので、使うことにしました。
「整合性の適正化」と「グループ化」の機能を持っている「BOM」は、Kotlin, Firebase などでも公開されています。
便利に利用するべきでしょう。
しかし、AndroidStudio のコレ。
「null」 の表示。
どうにかなりませんかね。
👉 今はまだ必要な Android ライブラリ の Bill of Materials(BOM) のURLs
キャンペーン · Drop "androidx" from Jetpack Compose package name, for multiplatform, before 1.0 release. · https://t.co/iq27Omo4ON https://t.co/iXeAVxTUmi
— chanzmao (@maochanz) July 7, 2022