aaf5fa816b
This further reduces the minimum API level to 16, which should encompass most users stuck on older versions of Android (mainly BlackBerry OS and Jolla users). Several issues reported by code analysis were fixed, mainly around issues with layouts.
232 lines
6.8 KiB
Groovy
232 lines
6.8 KiB
Groovy
// Top-level build file where you can add configuration options common to all
|
|
// sub-projects/modules.
|
|
buildscript {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:3.2.1'
|
|
}
|
|
}
|
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
mavenCentral()
|
|
}
|
|
|
|
configurations {
|
|
playstoreImplementation
|
|
compatImplementation
|
|
conversationsFreeCompatImplementation
|
|
quicksyFreeCompatImplementation
|
|
quicksyImplementation
|
|
}
|
|
|
|
ext {
|
|
supportLibVersion = '28.0.0'
|
|
}
|
|
|
|
dependencies {
|
|
playstoreImplementation('com.google.firebase:firebase-messaging:15.0.2') {
|
|
exclude group: 'com.google.firebase', module: 'firebase-core'
|
|
}
|
|
implementation 'org.sufficientlysecure:openpgp-api:10.0'
|
|
implementation ('com.theartofdev.edmodo:android-image-cropper:2.7.+') {
|
|
exclude group: 'com.android.support', module: 'appcompat-v7'
|
|
exclude group: 'com.android.support', module: 'exifinterface'
|
|
}
|
|
implementation "com.android.support:support-v13:$supportLibVersion"
|
|
implementation "com.android.support:appcompat-v7:$supportLibVersion"
|
|
implementation "com.android.support:exifinterface:$supportLibVersion"
|
|
implementation "com.android.support:cardview-v7:$supportLibVersion"
|
|
implementation "com.android.support:support-emoji:$supportLibVersion"
|
|
implementation "com.android.support:design:$supportLibVersion"
|
|
compatImplementation "com.android.support:support-emoji-appcompat:$supportLibVersion"
|
|
conversationsFreeCompatImplementation "com.android.support:support-emoji-bundled:$supportLibVersion"
|
|
quicksyFreeCompatImplementation "com.android.support:support-emoji-bundled:$supportLibVersion"
|
|
implementation 'org.bouncycastle:bcmail-jdk15on:1.58'
|
|
implementation 'com.google.zxing:core:3.3.0'
|
|
implementation 'de.measite.minidns:minidns-hla:0.2.4'
|
|
implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
|
|
implementation 'org.whispersystems:signal-protocol-java:2.6.2'
|
|
implementation 'com.makeramen:roundedimageview:2.3.0'
|
|
implementation "com.wefika:flowlayout:0.4.1"
|
|
implementation 'net.ypresto.androidtranscoder:android-transcoder:0.2.0'
|
|
implementation project(':libs:xmpp-addr')
|
|
implementation 'org.osmdroid:osmdroid-android:6.0.1'
|
|
implementation 'org.hsluv:hsluv:0.2'
|
|
implementation 'org.conscrypt:conscrypt-android:1.3.0'
|
|
implementation 'me.drakeet.support:toastcompat:1.1.0'
|
|
quicksyImplementation 'io.michaelrocks:libphonenumber-android:8.9.14'
|
|
}
|
|
|
|
ext {
|
|
travisBuild = System.getenv("TRAVIS") == "true"
|
|
preDexEnabled = System.getProperty("pre-dex", "true")
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 28
|
|
|
|
defaultConfig {
|
|
minSdkVersion 16
|
|
targetSdkVersion 28
|
|
versionCode 307
|
|
versionName "2.3.9"
|
|
archivesBaseName += "-$versionName"
|
|
applicationId "eu.siacs.conversations"
|
|
resValue "string", "applicationId", applicationId
|
|
resValue "string", "app_name", "Conversations"
|
|
buildConfigField "String", "LOGTAG", "\"conversations\""
|
|
}
|
|
|
|
dataBinding {
|
|
enabled true
|
|
}
|
|
|
|
dexOptions {
|
|
// Skip pre-dexing when running on Travis CI or when disabled via -Dpre-dex=false.
|
|
preDexLibraries = preDexEnabled && !travisBuild
|
|
jumboMode true
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
flavorDimensions("mode", "distribution", "emoji")
|
|
|
|
productFlavors {
|
|
|
|
quicksy {
|
|
dimension "mode"
|
|
applicationId = "im.quicksy.client"
|
|
resValue "string", "app_name", "Quicksy"
|
|
resValue "string", "applicationId", applicationId
|
|
buildConfigField "String", "LOGTAG", "\"quicksy\""
|
|
}
|
|
|
|
conversations {
|
|
dimension "mode"
|
|
}
|
|
|
|
playstore {
|
|
dimension "distribution"
|
|
versionNameSuffix "+p"
|
|
}
|
|
free {
|
|
dimension "distribution"
|
|
versionNameSuffix "+f"
|
|
}
|
|
system {
|
|
dimension "emoji"
|
|
versionNameSuffix "s"
|
|
}
|
|
compat {
|
|
dimension "emoji"
|
|
versionNameSuffix "c"
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
quicksyFreeCompat {
|
|
java {
|
|
srcDirs 'src/freeCompat/java'
|
|
}
|
|
}
|
|
quicksyPlaystoreCompat {
|
|
java {
|
|
srcDirs 'src/playstoreCompat/java'
|
|
}
|
|
res {
|
|
srcDir 'src/playstoreCompat/res'
|
|
srcDir 'src/quicksyPlaystore/res'
|
|
}
|
|
}
|
|
quicksyPlaystoreSystem {
|
|
res {
|
|
srcDir 'src/quicksyPlaystore/res'
|
|
}
|
|
}
|
|
conversationsFreeCompat {
|
|
java {
|
|
srcDirs 'src/freeCompat/java'
|
|
}
|
|
}
|
|
conversationsPlaystoreCompat {
|
|
java {
|
|
srcDirs 'src/playstoreCompat/java'
|
|
}
|
|
res {
|
|
srcDir 'src/playstoreCompat/res'
|
|
srcDir 'src/conversationsPlaystore/res'
|
|
}
|
|
}
|
|
conversationsPlaystoreSystem {
|
|
res {
|
|
srcDir 'src/conversationsPlaystore/res'
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
shrinkResources true
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
versionNameSuffix "r"
|
|
}
|
|
debug {
|
|
shrinkResources true
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
versionNameSuffix "d"
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (new File("signing.properties").exists()) {
|
|
Properties props = new Properties()
|
|
props.load(new FileInputStream(file("signing.properties")))
|
|
|
|
signingConfigs {
|
|
release {
|
|
storeFile file(props['keystore'])
|
|
storePassword props['keystore.password']
|
|
keyAlias props['keystore.alias']
|
|
keyPassword props['keystore.password']
|
|
}
|
|
}
|
|
buildTypes.release.signingConfig = signingConfigs.release
|
|
}
|
|
|
|
lintOptions {
|
|
disable 'ExtraTranslation', 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
|
|
}
|
|
|
|
subprojects {
|
|
|
|
afterEvaluate {
|
|
if (getPlugins().hasPlugin('android') ||
|
|
getPlugins().hasPlugin('android-library')) {
|
|
|
|
configure(android.lintOptions) {
|
|
disable 'AndroidGradlePluginVersion', 'MissingTranslation'
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude 'META-INF/BCKEY.DSA'
|
|
exclude 'META-INF/BCKEY.SF'
|
|
}
|
|
}
|