Skip to content

Instantly share code, notes, and snippets.

@hereisderek
Last active May 19, 2018 08:29
Show Gist options
  • Save hereisderek/f8ddc8274002cd659103f06a6653e367 to your computer and use it in GitHub Desktop.
Save hereisderek/f8ddc8274002cd659103f06a6653e367 to your computer and use it in GitHub Desktop.
latest android dependencies collection with (hopefully) latest version number
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Shared file between builds so that they can all use the same dependencies and
* maven repositories.
**/
ext.deps = [:]
def versions = [:]
/* gradle */
versions.android_gradle_plugin = "3.2.0-alpha15"
/* kotlin */
versions.kotlin = "1.2.41"
/* andoridx */
versions.andoridx = "1.0.0-alpha1"
versions.andoridx_constraintlayout = "1.1.0"
versions.andoridx_appcompat = "1.0.0-alpha1"
versions.andoridx_cardview = "1.0.0-alpha1"
versions.andoridx_material = "1.0.0-alpha1"
versions.andoridx_wear = "1.0.0-alpha1"
versions.andoridx_room = "2.0.0-alpha1"
versions.andoridx_lifecycle = "2.0.0-alpha1"
versions.andoridx_paging = "2.0.0-alpha1"
versions.andoridx_navigation = "1.0.0-alpha01"
/* dagger */
versions.dagger = "2.16"
/* firebase */
versions.firebase = "15.0.2"
versions.firebase_database = "15.0.0"
/* utils */
versions.timber = "4.7.0"
versions.glide = "4.7.1"
versions.stetho = "1.5.0"
versions.butterKnife = "8.8.1"
versions.conceal = "2.0.2@aar"
versions.leakcanary = "1.5.4"
versions.rxjava2 = "2.1.3"
versions.rx_android = "2.0.1"
versions.okhttp3_runtime = "3.9.1"
versions.okhttp3_logging_interceptor = "3.9.0"
versions.retrofit = "2.3.0"
versions.moshi_kotlin = "1.5.0"
versions.mockwebserver = "3.8.1"
versions.junit = "4.12"
versions.espresso = "3.0.1"
versions.apache_commons = "2.5"
versions.mockito = "2.7.19"
versions.mockito_all = "1.10.19"
versions.dexmaker = "2.2.0"
versions.constraint_layout = "1.0.2"
versions.atsl_runner = "1.0.1"
versions.atsl_rules = "1.0.1"
versions.hamcrest = "1.3"
def build_versions = [:]
build_versions.min_sdk = 14
build_versions.target_sdk = 26
build_versions.build_tools = "27.0.3"
ext.build_versions = build_versions
def deps = [:]
deps.android_gradle_plugin = "com.android.tools.build:gradle:$versions.android_gradle_plugin"
/* kotlin */
def kotlin = [:]
kotlin.stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$versions.kotlin"
kotlin.test = "org.jetbrains.kotlin:kotlin-test-junit:$versions.kotlin"
kotlin.plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"
kotlin.allopen = "org.jetbrains.kotlin:kotlin-allopen:$versions.kotlin"
kotlin.reflect = "org.jetbrains.kotlin:kotlin-reflect:$versions.kotlin"
kotlin.anko = "org.jetbrains.anko:anko-coroutines:$versions.kotlin"
deps.kotlin = kotlin
/* andoridx */
def androidx = [:]
androidx.constraintlayout = "androidx.constraintlayout:constraintlayout:${versions.constraint_layout}"
androidx.appcompat = "androidx.appcompat:appcompat:${versions.andoridx_appcompat}"
androidx.cardview = "androidx.cardview:cardview:${versions.andoridx_cardview}"
androidx.material = "com.google.android.material:material:${versions.andoridx_material}"
androidx.wear = "androidx.wear:wear:${versions.andoridx_wear}"
/* andoridx_room */
def room = [:]
room.runtime = "androidx.room:room-runtime:$versions.andoridx_room"
room.compiler = "androidx.room:room-compiler:$versions.andoridx_room" //annotationProcessor or kapt
room.rxjava2 = "androidx.room:rxjava2:$versions.andoridx_room"
room.testing = "androidx.room:testing:$versions.andoridx_room" //testImplementation
androidx.room = room
/* andoridx_lifecycle */
def lifecycle = [:]
lifecycle.runtime = "androidx.lifecycle:lifecycle-runtime:${versions.andoridx_lifecycle}"
// ViewModel and LiveData
lifecycle.extensions = "androidx.lifecycle:lifecycle-extensions:${versions.andoridx_lifecycle}"
// alternatively - just ViewModel
lifecycle.viewmodel = "androidx.lifecycle:lifecycle-viewmodel:${versions.andoridx_lifecycle}"
// alternatively - just LiveData
lifecycle.livedata = "androidx.lifecycle:lifecycle-livedata:${versions.andoridx_lifecycle}"
lifecycle.compiler = "androidx.lifecycle:lifecycle-compiler:${versions.andoridx_lifecycle}" //annotationProcessor or kapt
// alternately - if using Java8, use the following instead of lifecycle-compiler
lifecycle.java8 = "androidx.lifecycle:lifecycle-common-java8:${versions.andoridx_lifecycle}"
lifecycle.testing = "androidx.arch.core:core-testing:${versions.andoridx_lifecycle}"
androidx.lifecycle = lifecycle
/* andoridx_paging */
def paging = [:]
paging.runtime = "androidx.paging:paging-runtime:${versions.andoridx_paging}" //implementation
paging.testing = "androidx.paging:paging-common:${versions.andoridx_paging}" //testImplementation
paging.rxjava2 = "androidx.paging:paging-rxjava2:${versions.andoridx_paging}" //implementation
androidx.paging = paging
/* androidx_navigation to be released in the future */
/* https://developer.android.com/topic/libraries/architecture/adding-components#navigation */
def navigation = [:]
navigation.fragment = "androidx.navigation:navigation-fragment:${versions.androidx_navigation}"
navigation.ui = "androidx.navigation:navigation-ui:${versions.androidx_navigation}"
navigation.fragment_ktx = "androidx.navigation:navigation-fragment-ktx:${versions.androidx_navigation}"
navigation.ui_ktx = "androidx.navigation:navigation-ui-ktx:${versions.androidx_navigation}"
navigation.testing = "androidx.navigation:navigation-testing:${versions.androidx_navigation}"
andoridx.navigation = navigation
deps.androidx = android
/* androidx_workmanager to be released in the future */
/* https://developer.android.com/topic/libraries/architecture/adding-components#workmanager */
/* dagger */
def dagger = [:]
dagger.runtime = "com.google.dagger:dagger:$versions.dagger"
dagger.android = "com.google.dagger:dagger-android:$versions.dagger"
dagger.android_support = "com.google.dagger:dagger-android-support:$versions.dagger"
dagger.compiler = "com.google.dagger:dagger-compiler:$versions.dagger" //annotationProcessor or kapt
dagger.android_support_compiler = "com.google.dagger:dagger-android-processor:$versions.dagger" //annotationProcessor or kapt
deps.dagger = dagger
/* firebase */
def firebase = [:]
firebase.core = "com.google.firebase:firebase-core:${versions.firebase}"
firebase.database = "com.google.firebase:firebase-database:${versions.firebase_database}"
deps.firebase = firebase
/* utils */
deps.timber = "com.jakewharton.timber:timber:${versions.timber}"
deps.conceal = "com.facebook.conceal:conceal:${versions.conceal}"
deps.rxjava2 = "io.reactivex.rxjava2:rxjava:$versions.rxjava2"
deps.rx_android = "io.reactivex.rxjava2:rxandroid:$versions.rx_android"
def glide = [:]
glide.runtime = "com.github.bumptech.glide:glide:$versions.glide"
glide.compiler = "com.github.bumptech.glide:compiler:$versions.glide"
deps.glide = glide
def retrofit = [:]
retrofit.runtime = "com.squareup.retrofit2:retrofit:$versions.retrofit"
retrofit.gson = "com.squareup.retrofit2:converter-gson:$versions.retrofit"
retrofit.moshi = "com.squareup.retrofit2:converter-moshi:$versions.retrofit"
retrofit.moshi_kotlin = "com.squareup.moshi:moshi-kotlin:${versions.moshi_kotlin}"
retrofit.rxjava2 = "com.squareup.retrofit2:adapter-rxjava2:$versions.retrofit"
retrofit.mock = "com.squareup.retrofit2:retrofit-mock:$versions.retrofit"
deps.retrofit = retrofit
def okhttp3 = [:]
okhttp3.runtime = "com.squareup.okhttp3:okhttp:${versions.okhttp3}"
okhttp3.okhttp_logging_interceptor = "com.squareup.okhttp3:logging-interceptor:${versions.okhttp3_logging_interceptor}"
deps.okhttp3 = okhttp3
def stetho = [:]
stetho.core = "com.facebook.stetho:stetho:${versions.stetho}"
stetho.okhttp3 = "com.facebook.stetho:stetho-okhttp3:${versions.stetho}"
deps.stetho = stetho
/* testing */
deps.leakcanary = "com.squareup.leakcanary:leakcanary-android:${versions.leakcanary}" //debugImplementation
deps.leakcanary_no_op = "com.squareup.leakcanary:leakcanary-android-no-op:${versions.leakcanary}" //releaseImplementation
def espresso = [:]
espresso.core = "com.android.support.test.espresso:espresso-core:$versions.espresso"
espresso.contrib = "com.android.support.test.espresso:espresso-contrib:$versions.espresso"
espresso.intents = "com.android.support.test.espresso:espresso-intents:$versions.espresso"
deps.espresso = espresso
def atsl = [:]
atsl.runner = "com.android.support.test:runner:$versions.atsl_runner"
atsl.rules = "com.android.support.test:rules:$versions.atsl_runner"
deps.atsl = atsl
def mockito = [:]
mockito.core = "org.mockito:mockito-core:$versions.mockito"
mockito.all = "org.mockito:mockito-all:$versions.mockito_all"
deps.mockito = mockito
deps.dexmaker = "com.linkedin.dexmaker:dexmaker-mockito:$versions.dexmaker"
deps.junit = "junit:junit:$versions.junit"
deps.mock_web_server = "com.squareup.okhttp3:mockwebserver:$versions.mockwebserver"
deps.hamcrest = "org.hamcrest:hamcrest-all:$versions.hamcrest"
ext.deps = deps
def addRepos(RepositoryHandler handler) {
handler.google()
handler.jcenter()
handler.maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
}
ext.addRepos = this.&addRepos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment