340ad1143d
We are trying to bring Google Auto back. With this release being relatively stable long review times hopefully don’t matter.
245 lines
7.3 KiB
Groovy
245 lines
7.3 KiB
Groovy
// Top-level build file where you can add configuration options common to all
|
|
// sub-projects/modules.
|
|
buildscript {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:7.4.0'
|
|
}
|
|
}
|
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
jcenter()
|
|
}
|
|
|
|
configurations {
|
|
playstoreImplementation
|
|
freeImplementation
|
|
conversationsFreeImplementation
|
|
conversationsPlaystorImplementation
|
|
conversationsPlaystoreImplementation
|
|
quicksyPlaystoreImplementation
|
|
quicksyPlaystoreImplementation
|
|
quicksyFreeImplementation
|
|
quicksyImplementation
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.viewpager:viewpager:1.0.0'
|
|
|
|
playstoreImplementation('com.google.firebase:firebase-messaging:23.1.1') {
|
|
exclude group: 'com.google.firebase', module: 'firebase-core'
|
|
exclude group: 'com.google.firebase', module: 'firebase-analytics'
|
|
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
|
|
}
|
|
conversationsPlaystoreImplementation("com.android.installreferrer:installreferrer:2.2")
|
|
quicksyPlaystoreImplementation 'com.google.android.gms:play-services-auth-api-phone:18.0.1'
|
|
implementation 'org.sufficientlysecure:openpgp-api:10.0'
|
|
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
|
implementation 'androidx.appcompat:appcompat:1.5.1'
|
|
implementation 'androidx.exifinterface:exifinterface:1.3.5'
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
|
implementation 'com.google.android.material:material:1.7.0'
|
|
|
|
implementation "androidx.emoji2:emoji2:1.2.0"
|
|
freeImplementation "androidx.emoji2:emoji2-bundled:1.2.0"
|
|
|
|
implementation 'org.bouncycastle:bcmail-jdk15on:1.64'
|
|
//zxing stopped supporting Java 7 so we have to stick with 3.3.3
|
|
//https://github.com/zxing/zxing/issues/1170
|
|
implementation 'com.google.zxing:core:3.3.3'
|
|
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"
|
|
//noinspection GradleDependency
|
|
implementation 'com.otaliastudios:transcoder:0.9.1'
|
|
|
|
implementation 'org.jxmpp:jxmpp-jid:1.0.3'
|
|
implementation 'org.osmdroid:osmdroid-android:6.1.11'
|
|
implementation 'org.hsluv:hsluv:0.2'
|
|
implementation 'org.conscrypt:conscrypt-android:2.5.2'
|
|
implementation 'me.drakeet.support:toastcompat:1.1.0'
|
|
implementation "com.leinardi.android:speed-dial:3.2.0"
|
|
|
|
implementation "com.squareup.retrofit2:retrofit:2.9.0"
|
|
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
|
|
implementation "com.squareup.okhttp3:okhttp:4.10.0"
|
|
|
|
implementation 'com.google.guava:guava:31.1-android'
|
|
quicksyImplementation 'io.michaelrocks:libphonenumber-android:8.12.49'
|
|
implementation 'im.conversations.webrtc:webrtc-android:104.0.0'
|
|
}
|
|
|
|
ext {
|
|
preDexEnabled = System.getProperty("pre-dex", "true")
|
|
abiCodes = ['armeabi-v7a': 1, 'x86': 2, 'x86_64': 3, 'arm64-v8a': 4]
|
|
}
|
|
|
|
android {
|
|
namespace 'eu.siacs.conversations'
|
|
compileSdkVersion 32
|
|
|
|
defaultConfig {
|
|
minSdkVersion 21
|
|
targetSdkVersion 32
|
|
versionCode 42049
|
|
versionName "2.12.1"
|
|
archivesBaseName += "-$versionName"
|
|
applicationId "eu.siacs.conversations"
|
|
resValue "string", "applicationId", applicationId
|
|
def appName = "Conversations"
|
|
resValue "string", "app_name", appName
|
|
buildConfigField "String", "APP_NAME", "\"$appName\""
|
|
}
|
|
|
|
splits {
|
|
abi {
|
|
universalApk true
|
|
enable true
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
implementation.exclude group: 'org.jetbrains' , module:'annotations'
|
|
}
|
|
|
|
dataBinding {
|
|
enabled true
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
flavorDimensions("mode", "distribution")
|
|
|
|
productFlavors {
|
|
|
|
quicksy {
|
|
dimension "mode"
|
|
applicationId = "im.quicksy.client"
|
|
resValue "string", "applicationId", applicationId
|
|
|
|
def appName = "Quicksy"
|
|
resValue "string", "app_name", appName
|
|
buildConfigField "String", "APP_NAME", "\"$appName\""
|
|
}
|
|
|
|
conversations {
|
|
dimension "mode"
|
|
}
|
|
|
|
playstore {
|
|
dimension "distribution"
|
|
versionNameSuffix "+playstore"
|
|
}
|
|
free {
|
|
dimension "distribution"
|
|
versionNameSuffix "+free"
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
quicksyFree {
|
|
java {
|
|
srcDir 'src/quicksyFree/java'
|
|
}
|
|
}
|
|
quicksyPlaystore {
|
|
java {
|
|
srcDir 'src/quicksyPlaystore/java'
|
|
}
|
|
res {
|
|
srcDir 'src/quicksyPlaystore/res'
|
|
}
|
|
}
|
|
conversationsFree {
|
|
java {
|
|
srcDir 'src/conversationsFree/java'
|
|
}
|
|
}
|
|
conversationsPlaystore {
|
|
java {
|
|
srcDir 'src/conversationsPlaystore/java'
|
|
}
|
|
res {
|
|
srcDir 'src/conversationsPlaystore/res'
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
shrinkResources true
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
debug {
|
|
shrinkResources true
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
|
|
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
|
|
}
|
|
|
|
|
|
subprojects {
|
|
|
|
afterEvaluate {
|
|
if (getPlugins().hasPlugin('android') ||
|
|
getPlugins().hasPlugin('android-library')) {
|
|
|
|
configure(android.lintOptions) {
|
|
disable 'AndroidGradlePluginVersion', 'MissingTranslation'
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
packagingOptions {
|
|
resources {
|
|
excludes += ['META-INF/BCKEY.DSA', 'META-INF/BCKEY.SF']
|
|
}
|
|
}
|
|
lint {
|
|
disable 'MissingTranslation', 'InvalidPackage', 'AppCompatResource'
|
|
}
|
|
|
|
android.applicationVariants.all { variant ->
|
|
variant.outputs.each { output ->
|
|
def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(com.android.build.OutputFile.ABI))
|
|
if (baseAbiVersionCode != null) {
|
|
output.versionCodeOverride = (100 * project.android.defaultConfig.versionCode) + baseAbiVersionCode
|
|
} else {
|
|
output.versionCodeOverride = 100 * project.android.defaultConfig.versionCode
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|