LoginSignup
4
2

More than 3 years have passed since last update.

Gradle BOM importでAndroidのライブラリバージョン管理

Last updated at Posted at 2019-03-29

はじめに

Gradle5.0から正式にBOM(bill of materials)ファイルの読み込みに対応しました。
まだ提供されているライブラリは多くないですが、このBOMファイルによってライブラリ毎のバージョン定義を省くことができるようになります。
参考: https://docs.gradle.org/5.0/userguide/managing_transitive_dependencies.html#sec:bom_import

Before


dependencies {

    // Kotlin
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$version_kotlin"
    implementation "org.jetbrains.kotlin:kotlin-test-junit5:$version_kotlin"

    // Firebase
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-storage:16.1.0'
    implementation 'com.google.firebase:firebase-config:16.4.1'
    implementation 'com.google.firebase:firebase-invites:16.1.1'
    implementation 'com.google.firebase:firebase-messaging:17.5.0'
    implementation 'com.google.firebase:firebase-firestore:18.2.0'
    implementation 'com.google.firebase:firebase-dynamic-links:16.1.8'
    implementation 'com.google.firebase:firebase-perf:16.2.4'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'

    // OkHttp
    def version_okhttp = '3.12.2'
    implementation "com.squareup.okhttp3:okhttp:$version_okhttp"
    implementation "com.squareup.okhttp3:logging-interceptor:$version_okhttp"
    testImplementation "com.squareup.okhttp3:mockwebserver:$version_okhttp"
}

After

dependencies {

    // kotlin
    implementation platform('org.jetbrains.kotlin:kotlin-bom:1.3.61')
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
    implementation 'org.jetbrains.kotlin:kotlin-test-junit5'

    // Firebase
    implementation platform('com.google.firebase:firebase-bom:16.0.0')
    implementation 'com.google.firebase:firebase-core'
    implementation 'com.google.firebase:firebase-storage'
    implementation 'com.google.firebase:firebase-config'
    implementation 'com.google.firebase:firebase-invites'
    implementation 'com.google.firebase:firebase-messaging'
    implementation 'com.google.firebase:firebase-firestore'
    implementation 'com.google.firebase:firebase-dynamic-links'
    implementation 'com.google.firebase:firebase-perf'
    implementation 'com.crashlytics.sdk.android:crashlytics'

    // OkHttp
    implementation platform('com.squareup.okhttp3:okhttp-bom:3.12.2')
    implementation 'com.squareup.okhttp3:okhttp'
    implementation 'com.squareup.okhttp3:logging-interceptor'
    testImplementation 'com.squareup.okhttp3:mockwebserver'
}

Kotlin Libraries Bill of Materials: https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-bom
Firebase BOM: https://mvnrepository.com/artifact/com.google.firebase/firebase-bom
OkHttp (Bill of Materials): https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp-bom

4
2
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
4
2