Skip to content

Instantly share code, notes, and snippets.

@whiteshadoww
Last active May 26, 2020 05:48
Show Gist options
  • Select an option

  • Save whiteshadoww/426298de361d94b6ea2fb095e789c71f to your computer and use it in GitHub Desktop.

Select an option

Save whiteshadoww/426298de361d94b6ea2fb095e789c71f to your computer and use it in GitHub Desktop.
gradle configs
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
signingConfigs {
release {
storeFile file("$projectDir/keyname.jks")
storePassword ''
keyAlias ''
keyPassword ''
}
}
compileSdkVersion conf_build.compile_sdk
defaultConfig {
applicationId conf_build.app_id
minSdkVersion conf_build.min_sdk
targetSdkVersion conf_build.target_sdk
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary true
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "String", "DB_PATH", "\"$dbPath\""
kapt {
arguments {
arg("room.schemaLocation", "$projectDir/schemas".toString())
arg("room.incremental", true)
arg("room.expandProjection", true)
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "String", "SERVER_URL", "\"$releaseURL\""
}
debug {
buildConfigField "String", "SERVER_URL", "\"$debugURL\""
}
}
flavorDimensions 'color'
productFlavors {
playstore {
dimension 'color'
applicationId 'com.example.app'
versionCode 18
versionName '0.2.3'
}
}
lintOptions {
checkReleaseBuilds false
}
packagingOptions {
exclude 'META-INF/library_release.kotlin_module'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':library')
deps.keySet().each {
if (it != 'plugin') {
deps[it].each { dep ->
if (it != 'kompiler') {
implementation dep.value
return
}
kapt dep.value
}
}
}
}
apply plugin: 'com.google.gms.google-services'
androidExtensions {
experimental = true
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
apply from: 'versions.gradle'
apply from: 'deps.gradle'
apply from: 'config.gradle'
addRepos(repositories)
dependencies {
classpath deps.plugin.gradle
classpath deps.plugin.kotlin
classpath 'com.google.gms:google-services:4.3.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
}
allprojects {
addRepos(repositories)
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext {
releaseURL = "https://"
debugURL = "https://"
dbPath = "name.db"
}
ext.deps = [:]
def deps = [:]
def plugin = [:]
plugin.kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.plugin.kotlin"
plugin.gradle = "com.android.tools.build:gradle:$versions.plugin.gradle"
def androidx = [:]
androidx.appcompat = "androidx.appcompat:appcompat:$versions.androidx"
androidx.constraintlayout = "androidx.constraintlayout:constraintlayout:$versions.constraintlayout"
androidx.legacy_support_v4 = "androidx.legacy:legacy-support-v4:$versions.androidx"
androidx.activity = "androidx.activity:activity-ktx:1.1.0-alpha01"
androidx.material = "com.google.android.material:material:$versions.material"
def firestore = [:]
firestore.firestore = 'com.google.firebase:firebase-firestore-ktx:21.0.0'
firestore.firebase_core = 'com.google.firebase:firebase-core:17.2.0'
firestore.firebase_messaging = 'com.google.firebase:firebase-messaging:20.0.0'
def room = [:]
room.room = "androidx.room:room-runtime:$versions.room"
room.room_ktx = "androidx.room:room-ktx:$versions.room"
room.room_rxjava2 = "androidx.room:room-rxjava2:$versions.room"
def lifecycle = [:]
lifecycle.viewmodel = "androidx.lifecycle:lifecycle-extensions:$versions.lifecycle"
//lifecycle.common = "androidx.lifecycle:lifecycle-common-java8:$versions.lifecycle"
//lifecycle.lifecycle = "androidx.lifecycle:lifecycle-runtime:$versions.lifecycle"
def retrofit = [:]
retrofit.retrofit = "com.squareup.retrofit2:retrofit:$versions.retrofit"
retrofit.gson = "com.squareup.retrofit2:converter-gson:$versions.retrofit"
retrofit.rxjava2_adapter = "com.squareup.retrofit2:adapter-rxjava2:$versions.retrofit"
def dagger = [:]
dagger.dagger = "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"
def navigation = [:]
navigation.fragment = "androidx.navigation:navigation-fragment-ktx:$versions.navigation"
navigation.ui = "androidx.navigation:navigation-ui-ktx:$versions.navigation"
def kotlin = [:]
kotlin.stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jre7:$versions.jre"
kotlin.test = "org.jetbrains.kotlin:kotlin-test-junit:$versions.plugin.kotlin"
kotlin.allopen = "org.jetbrains.kotlin:kotlin-allopen:$versions.plugin.kotlin"
def rxkotlin = [:]
rxkotlin.rxkotlin = "io.reactivex.rxjava2:rxkotlin:$versions.rxkotlin"
rxkotlin.rxandroid = "io.reactivex.rxjava2:rxandroid:$versions.rxandroid"
def kompiler = [:]
kompiler.room = "androidx.room:room-compiler:$versions.room"
kompiler.lifecycle = "androidx.lifecycle:lifecycle-compiler:$versions.lifecycle"
kompiler.dagger = "com.google.dagger:dagger-compiler:$versions.dagger"
kompiler.dagger_support = "com.google.dagger:dagger-android-processor:$versions.dagger"
def others = [:]
others.picasso = "com.squareup.picasso:picasso:$versions.picasso"
others.circularimageview = "com.mikhaellopez:circularimageview:$versions.circularimageview"
others.dialog = 'com.github.d-max:spots-dialog:1.1@aar'
others.reciept = 'com.github.beigirad:ZigzagView:1.0.7'
others.compressor = 'id.zelory:compressor:2.1.0'
others.rximagepicker = 'com.mlsdev.rximagepicker:library:2.2.1'
others.rxpermission = 'com.github.tbruyelle:rxpermissions:0.10.2'
others.chart = 'com.github.PhilJay:MPAndroidChart:v3.1.0'
others.search = 'xyz.sahildave:searchviewlayout:0.6'
others.datepicker = 'com.borax12.materialdaterangepicker:library:2.0'
others.statusbar = 'com.jaeger.statusbarutil:library:1.5.1'
others.notificationbadge = 'com.mikepenz:actionitembadge:3.3.2@aar'
others.notification = "io.karn:notify:1.3.0"
deps.plugin = plugin
deps.kotlin = kotlin
deps.androidx = androidx
deps.firestore = firestore
deps.room = room
deps.lifecycle = lifecycle
deps.retrofit = retrofit
deps.dagger = dagger
deps.navigation = navigation
deps.rxkotlin = rxkotlin
deps.others = others
deps.kompiler = kompiler
ext.deps = deps
static def addRepos(RepositoryHandler handler) {
handler.google()
handler.jcenter()
handler.maven { url 'https://jitpack.io' }
}
ext.addRepos = this.&addRepos
ext {
def build = [:]
build.compile_sdk = 28
build.min_sdk = 19
build.target_sdk = build.compile_sdk
build.app_id = "me.snowshadow.sokonipay"
def plugin = [:]
plugin.kotlin = '1.3.21'
plugin.gradle = "3.5.0"
def versions = [:]
versions.jre = "1.2.71"
versions.room = "2.2.0-rc01"
versions.lifecycle = "2.0.0"
versions.navigation = "2.1.0-alpha06"
versions.androidx = "1.0.0-beta01"
versions.material = "1.1.0-alpha09"
versions.constraintlayout = "1.1.3"
versions.card_stack = "2.3.4"
versions.retrofit = "2.6.0"
versions.dagger = "2.23.2"
versions.icon_switch = "1.0.0"
versions.rxkotlin = "2.3.0"
versions.rxandroid = "2.1.1"
versions.picasso = "2.71828"
versions.circularimageview = "4.0.1"
versions.plugin = plugin
ext.conf_build = build
ext.versions = versions
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment