SchildiChat-android/vector/build.gradle

218 lines
6.9 KiB
Groovy
Raw Normal View History

2018-10-03 18:56:33 +03:00
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
2018-10-19 15:26:38 +03:00
apply plugin: 'kotlin-kapt'
kapt {
correctErrorTypes = true
}
2018-10-03 18:56:33 +03:00
2018-12-29 19:54:03 +03:00
androidExtensions {
experimental = true
}
def versionMajor = 0
def versionMinor = 1
def versionPatch = 0
2019-03-18 20:53:14 +03:00
static def getGitTimestamp() {
def cmd = 'git show -s --format=%ct'
return cmd.execute().text.trim() as Long
}
2019-03-13 19:00:30 +03:00
static def generateVersionCodeFromTimestamp() {
// It's unix timestamp divided by 10: It's incremented by one every 10 seconds.
return (getGitTimestamp() / 10).toInteger()
}
def generateVersionCodeFromVersionName() {
return versionMajor * 10000 + versionMinor * 100 + versionPatch
}
2019-03-13 19:00:30 +03:00
static def gitRevision() {
def cmd = "git rev-parse --short HEAD"
return cmd.execute().text.trim()
}
static def gitRevisionDate() {
def cmd = "git show -s --format=%ci HEAD^{commit}"
return cmd.execute().text.trim()
}
static def gitBranchName() {
def cmd = "git name-rev --name-only HEAD"
return cmd.execute().text.trim()
}
project.android.buildTypes.all { buildType ->
buildType.javaCompileOptions.annotationProcessorOptions.arguments =
[
validateEpoxyModelUsage: String.valueOf(buildType.name == 'debug')
]
}
2019-03-13 19:00:30 +03:00
def buildNumber = System.getenv("BUILD_NUMBER") as Integer ?: 0
2018-10-03 18:56:33 +03:00
android {
compileSdkVersion 28
defaultConfig {
applicationId "im.vector.riotredesign"
minSdkVersion 16
2018-10-03 18:56:33 +03:00
targetSdkVersion 28
multiDexEnabled true
versionCode generateVersionCodeFromTimestamp()
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
2019-03-13 19:00:30 +03:00
resValue "string", "git_revision", "\"${gitRevision()}\""
resValue "string", "git_revision_date", "\"${gitRevisionDate()}\""
resValue "string", "git_branch_name", "\"${gitBranchName()}\""
resValue "string", "build_number", "\"${buildNumber}\""
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2018-10-03 18:56:33 +03:00
}
2019-03-13 19:00:30 +03:00
2018-10-03 18:56:33 +03:00
buildTypes {
2019-03-13 17:11:02 +03:00
debug {
resValue "bool", "debug_mode", "true"
buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false"
2019-03-13 17:11:02 +03:00
}
2018-10-03 18:56:33 +03:00
release {
2019-03-13 17:11:02 +03:00
resValue "bool", "debug_mode", "false"
buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false"
2019-03-13 17:11:02 +03:00
2018-10-03 18:56:33 +03:00
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
2018-12-13 13:00:50 +03:00
2019-03-13 19:00:30 +03:00
flavorDimensions "store"
productFlavors {
2019-03-19 16:38:15 +03:00
gplay {
2019-03-13 19:00:30 +03:00
dimension "store"
buildConfigField "boolean", "ALLOW_FCM_USE", "true"
buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"G\""
buildConfigField "String", "FLAVOR_DESCRIPTION", "\"GooglePlay\""
}
2019-03-19 16:38:15 +03:00
fdroid {
2019-03-13 19:00:30 +03:00
dimension "store"
buildConfigField "boolean", "ALLOW_FCM_USE", "false"
buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\""
buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\""
}
}
lintOptions {
2019-04-03 13:04:24 +03:00
lintConfig file("lint.xml")
2019-03-13 19:00:30 +03:00
}
2018-12-13 13:00:50 +03:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
2018-10-03 18:56:33 +03:00
}
dependencies {
2018-10-19 15:26:38 +03:00
def epoxy_version = "3.3.0"
def arrow_version = "0.8.2"
2019-02-27 19:17:47 +03:00
def coroutines_version = "1.0.1"
def markwon_version = '3.0.0-SNAPSHOT'
def big_image_viewer_version = '1.5.6'
def glide_version = '4.9.0'
def moshi_version = '1.8.0'
2018-10-19 15:26:38 +03:00
implementation project(":matrix-sdk-android")
implementation project(":matrix-sdk-android-rx")
implementation 'com.android.support:multidex:1.0.3'
2018-10-03 18:56:33 +03:00
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
2019-02-27 19:17:47 +03:00
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
2019-03-20 20:24:17 +03:00
implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta1'
implementation 'androidx.core:core-ktx:1.0.1'
implementation 'com.jakewharton.threetenabp:threetenabp:1.1.1'
implementation "com.squareup.moshi:moshi-adapters:$moshi_version"
kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version"
// Log
implementation 'com.jakewharton.timber:timber:4.7.1'
// Debug
implementation 'com.facebook.stetho:stetho:1.5.0'
// rx
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
2019-01-12 12:20:46 +03:00
implementation 'com.jakewharton.rxrelay2:rxrelay:2.1.0'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
2018-10-19 15:26:38 +03:00
implementation("com.airbnb.android:epoxy:$epoxy_version")
kapt "com.airbnb.android:epoxy-processor:$epoxy_version"
implementation 'com.airbnb.android:mvrx:1.0.1'
2018-10-19 16:30:40 +03:00
// Work
implementation "android.arch.work:work-runtime-ktx:1.0.0"
// FP
implementation "io.arrow-kt:arrow-core:$arrow_version"
// Pref
implementation 'androidx.preference:preference:1.0.0'
// UI
2018-10-29 19:20:08 +03:00
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
2019-03-20 20:24:17 +03:00
implementation 'com.google.android.material:material:1.1.0-alpha04'
implementation 'me.gujun.android:span:1.7'
implementation "ru.noties.markwon:core:$markwon_version"
implementation "ru.noties.markwon:html:$markwon_version"
implementation 'com.otaliastudios:autocomplete:1.1.0'
// Butterknife
implementation 'com.jakewharton:butterknife:10.1.0'
kapt 'com.jakewharton:butterknife-compiler:10.1.0'
// Shake detection
implementation 'com.squareup:seismic:1.0.2'
// Image Loading
implementation "com.github.piasy:BigImageViewer:$big_image_viewer_version"
implementation "com.github.piasy:GlideImageLoader:$big_image_viewer_version"
implementation "com.github.piasy:ProgressPieIndicator:$big_image_viewer_version"
implementation "com.github.piasy:GlideImageViewFactory:$big_image_viewer_version"
implementation "com.github.bumptech.glide:glide:$glide_version"
kapt "com.github.bumptech.glide:compiler:$glide_version"
implementation 'com.danikula:videocache:2.7.1'
2018-10-29 19:20:08 +03:00
// Badge for compatibility
implementation 'me.leolin:ShortcutBadger:1.1.2@aar'
// File picker
implementation 'com.github.jaiselrahman:FilePicker:1.2.2'
// DI
implementation "org.koin:koin-android:$koin_version"
implementation "org.koin:koin-android-scope:$koin_version"
2018-10-03 18:56:33 +03:00
// gplay flavor only
gplayImplementation 'com.google.firebase:firebase-core:16.0.8'
gplayImplementation 'com.google.firebase:firebase-messaging:17.5.0'
// TESTS
2018-10-03 18:56:33 +03:00
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
2018-10-03 18:56:33 +03:00
}
2018-10-19 15:26:38 +03:00
2019-04-04 12:09:58 +03:00
if (!getGradle().getStartParameter().getTaskRequests().toString().contains("Fdroid")) {
apply plugin: 'com.google.gms.google-services'
}