Files
arcanechat-android/build.gradle
T
B. Petersen fb4744bb88 bump version
2019-04-20 00:33:53 +02:00

210 lines
8.0 KiB
Groovy

buildscript {
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
maven {
url "https://repo1.maven.org/maven2"
jcenter()
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
apply plugin: 'com.android.application'
repositories {
google()
mavenCentral()
maven {
// Used only for PhotoView
url "https://jitpack.io"
name 'JitPack Github wrapper'
}
jcenter()
}
dependencies {
implementation 'com.android.support:appcompat-v7:27.1.1' // one use in SearchToolbar.
implementation 'com.android.support:design:27.1.1' // used in various locations for a lot of components
implementation 'com.android.support:support-v13:27.1.1' // used to prevent a 25... version to be loaded (from where ever)
implementation 'com.android.support:preference-v7:27.1.1' // actually a dependency of -v14
implementation 'com.android.support:preference-v14:27.1.1' // used to manage the users preferences
implementation 'com.android.support:exifinterface:27.1.1' // Used to edit the Exif in BitmapUtil
implementation 'com.android.support.constraint:constraint-layout:1.1.2' // Used in several places
implementation 'android.arch.lifecycle:extensions:1.1.1' // Used in situations where data changes should be displayed directly (e.G. Search)
implementation 'android.arch.lifecycle:common-java8:1.1.1' // Used in situations where data changes should be displayed directly (e.G. Search)
implementation 'com.google.android.exoplayer:exoplayer:r2.3.1' // plays video.
implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.5' // used as JSON library TODO: check if java builtin would work as well
implementation 'com.journeyapps:zxing-android-embedded:3.4.0' // QR Code scanner
implementation "me.leolin:ShortcutBadger:1.1.16" // display messagecount on the home screen icon.
implementation 'com.jpardogo.materialtabstrip:library:1.0.9' // used in the emoji selector for the tab selection.
implementation 'com.github.chrisbanes:PhotoView:2.1.3' // does the zooming on photos / media
implementation 'com.github.bumptech.glide:glide:4.5.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
implementation 'com.makeramen:roundedimageview:2.1.0' // crops the avatars to circles
implementation 'com.pnikosis:materialish-progress:1.5' // used only in the "Progress Wheel" in Share Activity.
implementation 'com.soundcloud.android:android-crop:0.9.10@aar' // used in Group Select Avatar, should be unified with profie
implementation 'com.nineoldandroids:library:2.4.0' // DEPRECATED! Used to slide in the half-camera.
implementation 'mobi.upod:time-duration-picker:1.1.3' // Used to pick the time for inactivity.
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' // number of unread messages,
// the one-letter circle for the contacts (when there is not avatar) and a white background.
implementation 'com.google.zxing:core:3.2.1' // QR Code scanner
implementation ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { // for the zooming on photos / media
exclude group: 'com.android.support', module: 'support-annotations'
}
implementation 'com.annimon:stream:1.1.8' // brings future java streams api to SDK Version < 24
implementation 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4' // glues the current time segment text in the gallery to the top.
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.2.0'
//debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
//releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3'
//debugImplementation 'com.squareup.leakcanary:leakcanary-support-fragment:1.6.3'
testImplementation 'junit:junit:4.12'
testImplementation 'junit:junit:4.12'
testImplementation 'org.assertj:assertj-core:1.7.1'
testImplementation 'org.mockito:mockito-core:1.9.5'
testImplementation 'org.powermock:powermock-api-mockito:1.6.1'
testImplementation 'org.powermock:powermock-module-junit4:1.6.1'
testImplementation 'org.powermock:powermock-module-junit4-rule:1.6.1'
testImplementation 'org.powermock:powermock-classloading-xstream:1.6.1'
androidTestImplementation ('org.assertj:assertj-core:1.7.1') {
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
}
android {
flavorDimensions "none"
compileSdkVersion 27
buildToolsVersion '27.0.3'
useLibrary 'org.apache.http.legacy'
defaultConfig {
versionCode 542
versionName "0.301.0"
applicationId "com.b44t.messenger"
minSdkVersion 14
targetSdkVersion 26
vectorDrawables.useSupportLibrary = true
// base name of the generated apk
project.ext.set("archivesBaseName", "deltachat");
buildConfigField "boolean", "DEV_BUILD", "false"
buildConfigField "String", "MAP_ACCESS_TOKEN", '"pk.eyJ1IjoiZGVsdGFjaGF0IiwiYSI6ImNqc3c1aWczMzBjejY0M28wZmU0a3cwMzMifQ.ZPTH9dFJaav06RAu4rTYHw"'
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'LICENSE.txt'
exclude 'LICENSE'
exclude 'NOTICE'
exclude 'asm-license.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
doNotStrip '*/mips/*.so'
doNotStrip '*/mips64/*.so'
}
signingConfigs {
signingConfigs {
debug {
// add `DC_DEBUG_STORE_FILE=/path/to/debug.keystore` to `~/.gradle/gradle.properties`
if(project.hasProperty("DC_DEBUG_STORE_FILE" )) {
storeFile file(DC_DEBUG_STORE_FILE )
}
}
release {
// can be defined at `~/.gradle/gradle.properties` or at "Build/Generate signed APK"
if(project.hasProperty("DC_RELEASE_STORE_FILE")) {
storeFile file(DC_RELEASE_STORE_FILE)
storePassword DC_RELEASE_STORE_PASSWORD
keyAlias DC_RELEASE_KEY_ALIAS
keyPassword DC_RELEASE_KEY_PASSWORD
}
}
}
release
}
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-jackson.pro',
'proguard-appcompat-v7.pro',
'proguard-rounded-image-view.pro',
'proguard-glide.pro',
'proguard-shortcutbadger.pro',
'proguard-retrofit.pro',
'proguard-retrolambda.pro',
'proguard.cfg'
testProguardFiles 'proguard-automation.pro',
'proguard.cfg'
applicationIdSuffix ".beta"
}
release {
minifyEnabled true
proguardFiles = buildTypes.debug.proguardFiles
signingConfig signingConfigs.release
}
}
productFlavors {
fat {
dimension "none"
}
gplay {
dimension "none"
applicationId "chat.delta"
}
}
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = outputFileName.replace(".apk", "-${variant.versionName}.apk")
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
test {
java.srcDirs = ['test']
}
}
lintOptions {
abortOnError false
}
}