Slide 1

Slide 1 text

Checking Dependency Updates @shoheikawano

Slide 2

Slide 2 text

Dependencies for Android •Language - Kotlin •Gradle plugins •Libraries

Slide 3

Slide 3 text

https://blog.jetbrains.com/kotlin/2019/06/kotlin-1-3-40-released/

Slide 4

Slide 4 text

https://developer.android.com/jetpack/androidx/releases

Slide 5

Slide 5 text

Typical Dependencies for Android •Kotlin •UI - RecyclerViews, ViewPager, etc. •Jetpack - Lifecycle, ViewModels, LiveData, etc. •OkHttp •Retrofit •Firebase

Slide 6

Slide 6 text

- androidx.activity:activity-ktx:1.0.0-beta01 - androidx.appcompat:appcompat:1.1.0-beta01 - androidx.browser:browser:1.0.0 - androidx.cardview:cardview:1.0.0 - androidx.collection:collection-ktx:1.1.0 - androidx.emoji:emoji:1.0.0 - androidx.fragment:fragment-ktx:1.1.0-beta01 - androidx.gridlayout:gridlayout:1.0.0 - androidx.recyclerview:recyclerview:1.0.0 - com.crashlytics.sdk.android:crashlytics:2.10.1 - com.facebook.android:facebook-login:5.1.0 - com.firebase:firebase-jobdispatcher:0.8.6 - com.github.chrisbanes:PhotoView:2.3.0 - com.google.android:flexbox:1.1.0 - com.google.android.gms:play-services-analytics:17.0.0 - com.google.android.gms:play-services-base:17.0.0 - com.google.android.gms:play-services-tagmanager:17.0.0 - com.google.android.material:material:1.0.0 - com.google.code.gson:gson:2.8.5 - com.google.firebase:firebase-config:18.0.0 - com.google.firebase:firebase-core:17.0.0 - com.google.firebase:firebase-dynamic-links:18.0.0 - com.google.firebase:firebase-messaging:19.0.1 - com.google.firebase:firebase-perf:18.0.1 - com.jakewharton.rxbinding2:rxbinding-kotlin:2.2.0 - com.jakewharton.threetenabp:threetenabp:1.2.1 - com.jakewharton.timber:timber:4.7.1 - com.readystatesoftware.chuck:library:1.1.0 - com.squareup.okhttp3:okhttp:3.14.2 - com.squareup.retrofit2:converter-gson - com.squareup.retrofit2:retrofit - com.xwray:groupie - io.reactivex.rxjava2:rxjava - io.reactivex.rxjava2:rxkotlin - org.robolectric:robolectric - com.squareup.okio:okio:2.2.2 - io.reactivex.rxjava2:rxandroid:2.1.1 - jp.co.cyberagent.android:gpuimage:2.0.3 - org.greenrobot:eventbus:3.1.1 - org.greenrobot:eventbus-annotation-processor:3.1.1 - org.jetbrains.kotlin:kotlin-android-extensions:1.3.40 - org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.40 - org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.3.40 - org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.40 - org.permissionsdispatcher:permissionsdispatcher:4.3.1 - org.permissionsdispatcher:permissionsdispatcher-processor:4.3.1 - androidx.constraintlayout:constraintlayout - androidx.core:core-ktx - androidx.databinding:databinding-adapters - androidx.databinding:databinding-common - androidx.databinding:databinding-compiler - androidx.databinding:databinding-runtime - androidx.lifecycle:lifecycle-compiler - androidx.lifecycle:lifecycle-extensions - androidx.lifecycle:lifecycle-viewmodel-ktx - androidx.transition:transition - com.airbnb.android:lottie - com.android.tools.lint:lint-gradle - com.f2prateek.rx.preferences2:rx-preferences - com.github.franmontiel:PersistentCookieJar - com.google.dagger:dagger - com.google.dagger:dagger-android - com.google.dagger:dagger-android-processor - com.google.dagger:dagger-android-support - com.google.dagger:dagger-compiler - com.otaliastudios:cameraview - com.squareup.okhttp3:okhttp-urlconnection - com.squareup.retrofit2:adapter-rxjava2

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Why checking updates? •Gain new features, bug fixes, etc •Sooner, the easier to update

Slide 9

Slide 9 text

gradle-versions-plugin

Slide 10

Slide 10 text

https://github.com/ben-manes/gradle-versions-plugin

Slide 11

Slide 11 text

w (SBEMFQMVHJOGPSDIFDLJOHEFQFOEFODZWFSTJPOT w $IFDLTZPVSBQQEFQFOEFODZBOEOPUJpFTUIF BWBJMBCMFVQEBUFT w 4VQQPSUTNVMUJQMFPVUQVUGPSNBU HSBEMFWFSTJPOTQMVHJO

Slide 12

Slide 12 text

root/build.gradle buildscript { repositories { jcenter() } dependencies { classpath "com.github.ben-manes:gradle-versions-plugin:$version" } } … app/build.gradle apply plugin: "com.github.ben-manes.versions" 4FUVQ

Slide 13

Slide 13 text

./gradlew dependencyUpdates 3VOUIFDPNNBOE

Slide 14

Slide 14 text

------------------------------------------------------------ :app Project Dependency Updates (report to plain text file) ------------------------------------------------------------ The following dependencies are using the latest milestone version: - androidx.activity:activity-ktx:1.0.0-beta01 - androidx.appcompat:appcompat:1.1.0-beta01 - androidx.browser:browser:1.0.0 - androidx.cardview:cardview:1.0.0 - androidx.collection:collection-ktx:1.1.0 - androidx.emoji:emoji:1.0.0 - androidx.fragment:fragment-ktx:1.1.0-beta01 - androidx.gridlayout:gridlayout:1.0.0 - androidx.recyclerview:recyclerview:1.0.0 - com.crashlytics.sdk.android:crashlytics:2.10.1 - com.facebook.android:facebook-login:5.1.0 - com.firebase:firebase-jobdispatcher:0.8.6 - com.github.chrisbanes:PhotoView:2.3.0 - com.google.android:flexbox:1.1.0 - com.google.android.gms:play-services-analytics:17.0.0 - com.google.android.gms:play-services-base:17.0.0 - com.google.android.gms:play-services-tagmanager:17.0.0 - com.google.android.material:material:1.0.0 - com.google.code.gson:gson:2.8.5 - com.google.firebase:firebase-config:18.0.0 - com.google.firebase:firebase-core:17.0.0 - com.google.firebase:firebase-dynamic-links:18.0.0 - com.google.firebase:firebase-messaging:19.0.1 - com.google.firebase:firebase-perf:18.0.1 - com.jakewharton.rxbinding2:rxbinding-kotlin:2.2.0 - com.jakewharton.threetenabp:threetenabp:1.2.1 - com.jakewharton.timber:timber:4.7.1 - com.readystatesoftware.chuck:library:1.1.0 - com.squareup.okhttp3:okhttp:3.14.2 - com.squareup.okio:okio:2.2.2 - io.reactivex.rxjava2:rxandroid:2.1.1 - jp.co.cyberagent.android:gpuimage:2.0.3 - org.greenrobot:eventbus:3.1.1 - org.greenrobot:eventbus-annotation-processor:3.1.1 - org.jetbrains.kotlin:kotlin-android-extensions:1.3.40 - org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.40 - org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.3.40

Slide 15

Slide 15 text

The following dependencies have later milestone versions: - androidx.constraintlayout:constraintlayout [2.0.0-beta1 -> 2.0.0-beta2] http://tools.android.com - androidx.core:core-ktx [1.1.0-rc01 -> 1.2.0-alpha02] https://developer.android.com/jetpack/androidx - androidx.databinding:databinding-adapters [3.4.1 -> 3.6.0-alpha04] - androidx.databinding:databinding-common [3.4.1 -> 3.6.0-alpha04] https://developer.android.com/studio - androidx.databinding:databinding-compiler [3.4.1 -> 3.6.0-alpha04] https://developer.android.com/studio - androidx.databinding:databinding-runtime [3.4.1 -> 3.6.0-alpha04] - androidx.lifecycle:lifecycle-compiler [2.0.0 -> 2.2.0-alpha01] https://developer.android.com/topic/libraries/architecture/index.html - androidx.lifecycle:lifecycle-extensions [2.0.0 -> 2.2.0-alpha01] https://developer.android.com/topic/libraries/architecture/index.html - androidx.lifecycle:lifecycle-viewmodel-ktx [2.0.0 -> 2.2.0-alpha01] http://developer.android.com/tools/extras/support-library.html - androidx.transition:transition [1.1.0-rc02 -> 1.2.0-alpha01] http://developer.android.com/tools/extras/support-library.html - com.airbnb.android:lottie [3.0.0 -> 3.0.7] https://github.com/airbnb/lottie-android - com.android.tools.build:aapt2 [3.4.1-5326820 -> 3.6.0-alpha04-5638319] https://developer.android.com/studio - com.android.tools.lint:lint-gradle [26.4.1 -> 26.6.0-alpha04] https://developer.android.com/studio - com.f2prateek.rx.preferences2:rx-preferences [2.0.0-RC1 -> 2.0.0] https://github.com/f2prateek/rx-preferences - com.github.franmontiel:PersistentCookieJar [v1.0.1 -> 1.0.1] https://github.com/franmontiel/PersistentCookieJar - com.google.dagger:dagger [2.23.1 -> 2.23.2] https://github.com/google/dagger - com.google.dagger:dagger-android [2.23.1 -> 2.23.2] https://github.com/google/dagger - com.google.dagger:dagger-android-processor [2.23.1 -> 2.23.2] https://github.com/google/dagger - com.google.dagger:dagger-android-support [2.23.1 -> 2.23.2] https://github.com/google/dagger - com.google.dagger:dagger-compiler [2.23.1 -> 2.23.2] https://github.com/google/dagger - com.otaliastudios:cameraview [1.6.0 -> 2.0.0-beta05] https://github.com/natario1/CameraView - com.squareup.okhttp3:okhttp-urlconnection [3.14.2 -> 4.0.0] https://github.com/square/okhttp - com.squareup.retrofit2:adapter-rxjava2 [2.5.0 -> 2.6.0] https://github.com/square/retrofit/ - com.squareup.retrofit2:converter-gson [2.5.0 -> 2.6.0] https://github.com/square/retrofit/

Slide 16

Slide 16 text

Options • gradle dependencyUpdates -Drevision=release • gradle dependencyUpdates
 -DoutputFormatter=plain,json,xml • gradle dependencyUpdates 
 -DreportfileName=myCustomReport

Slide 17

Slide 17 text

Let us try to stick to use the latest versions !

Slide 18

Slide 18 text

Checking Dependency Updates @shoheikawano