Skip to content

Instantly share code, notes, and snippets.

@DavidIbrahim
Created January 30, 2021 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DavidIbrahim/effedeebd11efdf554271bb261c31465 to your computer and use it in GitHub Desktop.
Save DavidIbrahim/effedeebd11efdf554271bb261c31465 to your computer and use it in GitHub Desktop.
import dependencies.AndroidTestDependencies
import dependencies.AnnotationProcessing
import dependencies.ComposeDependencies
import dependencies.Dependencies
import dependencies.Application
import dependencies.RoomDependencies
import dependencies.Versions
import dependencies.Accompanist
import dependencies.Java
import dependencies.dependencies.SupportDependencies
import dependencies.dependencies.TestDependencies
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'com.apollographql.apollo'
id "androidx.navigation.safeargs.kotlin"
id 'dagger.hilt.android.plugin'
}
apollo {
generateKotlinModels.set(true)
}
android {
compileSdkVersion Versions.compilesdk
buildToolsVersion Versions.buildTools
buildFeatures {
dataBinding = true
viewBinding = true
compose true
}
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
compileOptions {
sourceCompatibility Java.java_version
targetCompatibility Java.java_version
}
defaultConfig {
applicationId Application.id
minSdkVersion Versions.minsdk
targetSdkVersion Versions.targetsdk
versionCode Application.version_code
versionName Application.version_name
testInstrumentationRunner AndroidTestDependencies.instrumentation_runner
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
composeOptions {
kotlinCompilerExtensionVersion Versions.compose
kotlinCompilerVersion Versions.kotlin
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Kotlin
implementation Dependencies.kotlin_standard_library
implementation Dependencies.ktx
//implementation Dependencies.kotlin_extensions
//support
implementation SupportDependencies.appcompat
implementation SupportDependencies.constraintlayout
implementation SupportDependencies.material_design
implementation SupportDependencies.legacy_support
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'
implementation 'androidx.ui:ui-tooling:1.0.0-alpha07'
//test
testImplementation TestDependencies.junit4
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
//navigation
implementation Dependencies.navigation_fragment
implementation Dependencies.navigation_ui
//ktx
implementation Dependencies.fragment_ktx
//apollo
implementation Dependencies.apollo
implementation Dependencies.apollo_coroutines_support
implementation Dependencies.apollo_cache
compileOnly "org.jetbrains:annotations:16.0.1"
//Build interactive settings screens without needing to interact with device storage or manage the UI.
implementation Dependencies.android_preferences
testCompileOnly "org.jetbrains:annotations:16.0.1"
//debugging
implementation Dependencies.timber
//view_pager2
implementation Dependencies.view_pager2
// retrofit
implementation Dependencies.retrofit
implementation Dependencies.converter_moshi
implementation "com.squareup.moshi:moshi:1.9.2"
implementation "com.squareup.moshi:moshi-kotlin:1.9.2"
implementation "com.squareup.retrofit2:converter-scalars:2.3.0"
implementation 'com.squareup.okhttp3:logging-interceptor:4.7.2'
implementation 'com.facebook.android:facebook-android-sdk:5.15.3'
implementation Dependencies.kotlin_coroutines_android
implementation 'com.facebook.android:facebook-login:5.15.3'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation ComposeDependencies.compose_compiler
implementation ComposeDependencies.compose_animation
implementation ComposeDependencies.compose_run_time
implementation ComposeDependencies.compose_foundation
implementation ComposeDependencies.compose_ui
implementation ComposeDependencies.compose_material
implementation ComposeDependencies.compose_material_icons
implementation ComposeDependencies.compose_material_icons_ext
implementation ComposeDependencies.compose_livedata
implementation ComposeDependencies.compose_tooling
//room
implementation RoomDependencies.room_ktx
implementation RoomDependencies.room_runtime
kapt RoomDependencies.room_compiler
implementation RoomDependencies.ROOM_TEST
// UI Tests
androidTestImplementation TestDependencies.arch_core_testing
implementation Dependencies.dagger_hilt
kapt AnnotationProcessing.dagger_compiler
implementation Dependencies.androidx_hilt
kapt AnnotationProcessing.androidx_hilt_compiler
implementation 'androidx.hilt:hilt-work:1.0.0-alpha02'
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
implementation Dependencies.work_manager
implementation "com.airbnb.android:lottie-compose:1.0.0-alpha05"
implementation "dev.chrisbanes.accompanist:accompanist-glide:0.5.0"
}
kapt {
correctErrorTypes true
generateStubs = true
}
object Versions {
const val lottie: String ="1.0.0-alpha02"
const val work_manager: String ="2.5.0-beta02"
const val gradle = "7.0.0-alpha05"
const val compilesdk = 30
const val buildTools = "30.0.2"
const val minsdk = 26
const val targetsdk = 30
const val kotlin = "1.4.21"
const val ktx = "1.3.2"
const val dagger_hilt = "2.28-alpha"
const val androidx_hilt = "1.0.0-alpha02"
const val nav_components = "2.3.1"
const val fragment_ktx = "1.2.5"
const val material_dialogs = "3.2.1"
const val room = "2.2.6"
const val appcompat = "1.2.0"
const val constraintlayout = "2.0.4"
const val material_design = "1.3.0-alpha03"
const val play_core = "1.7.1"
const val play_services = "4.3.3"
const val leak_canary = "2.0-alpha-3"
const val swipe_refresh_layout = "1.1.0-alpha03"
const val firebase_firestore = "21.4.2"
const val firebase_analytics = "17.4.0"
const val firebase_crashlytics = "2.10.1"
const val firebase_auth = "19.3.0"
const val espresso_core = "3.1.1"
const val espresso_idling_resource = "3.2.0"
const val mockk_version = "1.9.2"
const val test_runner = "1.2.0"
const val test_core = "1.2.0"
const val coroutines_version = "1.3.6"
const val coroutines_play_services = "1.3.2"
const val lifecycle_version = "2.2.0-alpha03"
const val retrofit2_version = "2.8.1"
const val markdown_processor = "0.1.3"
const val junit_jupiter_version = "5.6.0"
const val junit_4_version = "4.12"
const val fragment_version = "1.2.0"
const val androidx_test_ext = "1.1.1"
const val apollo = "2.4.0"
const val androidx_preferences = "1.1.1"
const val timber = "4.7.1"
const val view_pager2 = "1.0.0"
const val legacy_support = "1.0.0"
const val converter_moshi = "2.6.2"
const val compose = "1.0.0-alpha10"
const val arch_core_testing: String ="2.1.0"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment