monocles_chat/build.gradle

218 lines
7.7 KiB
Groovy
Raw Normal View History

2014-10-22 18:38:44 +02:00
// Top-level build file where you can add configuration options common to all
// sub-projects/modules.
buildscript {
2016-08-25 22:53:27 +02:00
repositories {
2020-04-29 12:40:31 +02:00
google()
mavenCentral()
2016-08-25 22:53:27 +02:00
}
dependencies {
2022-08-09 09:39:15 +02:00
classpath 'com.android.tools.build:gradle:7.2.2'
2022-07-19 10:17:03 +02:00
// classpath 'com.google.gms:google-services:4.3.13'
}
2014-10-22 18:38:44 +02:00
}
apply plugin: 'com.android.application'
2020-04-29 12:40:31 +02:00
allprojects {
repositories {
google()
mavenCentral()
2020-06-07 10:26:58 +02:00
maven { url "https://jitpack.io" }
2020-04-29 12:40:31 +02:00
}
}
repositories {
google()
2016-08-25 22:53:27 +02:00
mavenCentral()
2020-06-07 10:26:58 +02:00
maven { url "https://jitpack.io" }
jcenter()
}
configurations {
2017-12-09 16:19:56 +01:00
playstoreImplementation
2020-04-29 12:40:31 +02:00
gitImplementation
implementation.exclude group: 'org.jetbrains' , module:'annotations'
2017-09-29 13:28:30 +02:00
}
2014-10-23 00:17:49 +02:00
dependencies {
2022-10-05 22:26:01 +02:00
playstoreImplementation('com.google.firebase:firebase-messaging:23.0.8') {
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'
}
playstoreImplementation 'com.android.installreferrer:installreferrer:2.2'
2017-12-09 16:19:56 +01:00
implementation 'org.sufficientlysecure:openpgp-api:10.0'
2020-04-29 12:40:31 +02:00
implementation('com.theartofdev.edmodo:android-image-cropper:2.8.0') {
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'exifinterface'
}
//implementation 'ch.threema:webrtc-android:100.0.0'
implementation 'com.dafruits:webrtc:105.0.1'
2022-07-08 20:26:53 +02:00
implementation 'org.jitsi:org.otr4j:0.23'
implementation 'org.bouncycastle:bcmail-jdk15on:1.64'
2020-04-29 12:40:31 +02:00
implementation 'org.gnu.inet:libidn:1.15'
2022-07-08 20:26:53 +02:00
implementation 'com.google.zxing:core:3.5.0'
2017-12-09 16:19:56 +01:00
implementation 'de.measite.minidns:minidns-hla:0.2.4'
2018-09-13 18:47:30 +02:00
implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
implementation 'org.whispersystems:signal-protocol-android:2.6.2'
2017-12-09 16:19:56 +01:00
implementation 'com.makeramen:roundedimageview:2.3.0'
2020-04-29 12:40:31 +02:00
implementation 'jetty:javax.servlet:5.1.12'
2022-08-05 14:05:39 +02:00
implementation 'com.google.code.gson:gson:2.8.9'
2020-04-29 12:40:31 +02:00
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
2022-09-27 17:47:31 +02:00
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'androidx.exifinterface:exifinterface:1.3.3'
2020-04-29 12:40:31 +02:00
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
2022-09-27 17:47:31 +02:00
implementation 'androidx.emoji2:emoji2:1.2.0'
gitImplementation "androidx.emoji2:emoji2-bundled:1.2.0"
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'com.google.android.material:material:1.6.1'
2020-04-29 12:40:31 +02:00
implementation 'androidx.cardview:cardview:1.0.0' // for compatibility
implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0'
2022-08-05 14:15:03 +02:00
implementation 'com.google.android.exoplayer:exoplayer-core:2.18.1'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.18.1'
implementation 'com.google.android.exoplayer:extension-mediasession:2.18.1'
implementation 'pub.devrel:easypermissions:3.0.0' // version >= 3.0.0 needs android X libraries
2020-04-29 12:40:31 +02:00
implementation 'com.wefika:flowlayout:0.4.1'
2022-09-27 17:47:31 +02:00
implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.3'
2022-07-09 16:14:54 +02:00
implementation 'org.jxmpp:jxmpp-jid:1.0.3'
implementation 'org.hsluv:hsluv:0.2'
2021-06-28 01:20:11 +02:00
implementation 'org.conscrypt:conscrypt-android:2.5.2'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.25'
implementation 'me.drakeet.support:toastcompat:1.1.0'
2022-09-27 17:47:31 +02:00
implementation 'org.osmdroid:osmdroid-android:6.1.14'
implementation 'com.leinardi.android:speed-dial:3.3.0'
implementation 'com.squareup.picasso:picasso:2.8'
implementation "com.squareup.okhttp3:okhttp:4.10.0"
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
2021-03-06 21:36:40 +01:00
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.google.guava:guava:31.1-android'
2022-09-27 17:47:31 +02:00
implementation 'com.github.AppIntro:AppIntro:6.2.0'
2022-04-07 22:42:15 +02:00
implementation 'androidx.browser:browser:1.4.0'
implementation 'com.otaliastudios:transcoder:0.9.1' // 0.10.4 seems to be buggy
implementation project(':libs:AXML')
2014-10-23 00:17:49 +02:00
}
2016-04-04 21:25:44 +02:00
ext {
2016-08-25 22:53:27 +02:00
travisBuild = System.getenv("TRAVIS") == "true"
preDexEnabled = System.getProperty("pre-dex", "true")
2016-04-04 21:25:44 +02:00
}
android {
2022-05-23 19:17:59 +02:00
namespace 'eu.siacs.conversations'
//noinspection GradleCompatible
2022-07-11 12:03:18 +02:00
compileSdkVersion 32
2016-08-25 22:53:27 +02:00
defaultConfig {
2022-07-08 13:33:18 +02:00
minSdkVersion 21
2022-07-11 12:03:18 +02:00
targetSdkVersion 32
2020-04-29 12:40:31 +02:00
//versionNameSuffix " beta_(2021-12-19)" // " beta_(XXXX-XX-XX)" // activate for beta versions
2022-09-03 05:50:07 +02:00
versionCode 122
versionName "1.5.11"
2020-04-29 12:40:31 +02:00
//resConfigs "en"
2016-08-25 22:53:27 +02:00
archivesBaseName += "-$versionName"
archivesBaseName += "$versionNameSuffix" // activate for beta versions
2021-04-24 22:39:56 +02:00
applicationId "de.monocles.chat"
2020-04-29 12:40:31 +02:00
multiDexEnabled true
buildConfigField("String", "LOGTAG", '"monocles chat"')
2020-04-29 12:40:31 +02:00
buildConfigField("String", "DOMAIN_LOCK", 'null')
buildConfigField("boolean", "SHOW_INTRO", 'true')
buildConfigField("String", "UPDATE_URL", '"https://monocles.eu/chat/update/"')
resValue "string", "applicationId", applicationId
resValue "string", "app_name", "monocles chat"
2022-07-14 12:36:12 +02:00
resValue "string", "short_app_name", "chat"
}
dataBinding {
enabled true
}
2020-04-29 12:40:31 +02:00
packagingOptions {
2022-05-23 19:17:59 +02:00
jniLibs {
excludes += ['lib/x86/**', 'lib/x86_64/**']
}
resources {
excludes += ['lib/x86/**', 'lib/x86_64/**', 'META-INF/BCKEY.DSA', 'META-INF/BCKEY.SF']
}
2020-04-29 12:40:31 +02:00
}
2016-08-25 22:53:27 +02:00
compileOptions {
2017-12-09 16:19:56 +01:00
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
2016-08-25 22:53:27 +02:00
}
2020-04-29 12:40:31 +02:00
flavorDimensions("distribution")
2017-12-09 16:19:56 +01:00
2016-08-25 22:53:27 +02:00
productFlavors {
2017-12-09 16:19:56 +01:00
playstore {
dimension "distribution"
2020-04-29 12:40:31 +02:00
versionNameSuffix "-playstore"
2021-04-25 18:07:04 +02:00
applicationId "de.monocles.chat"
buildConfigField("boolean", "SHOW_MIGRATION_INFO", 'false')
resValue "string", "applicationId", applicationId
2017-12-09 16:19:56 +01:00
}
2020-04-29 12:40:31 +02:00
git {
2017-12-09 16:19:56 +01:00
dimension "distribution"
buildConfigField("boolean", "SHOW_MIGRATION_INFO", 'true')
}
2016-08-25 22:53:27 +02:00
}
2020-04-29 12:40:31 +02:00
if (project.hasProperty('mStoreFile') &&
project.hasProperty('mStorePassword') &&
project.hasProperty('mKeyAlias') &&
project.hasProperty('mKeyPassword')) {
signingConfigs {
release {
storeFile file(mStoreFile)
storePassword mStorePassword
keyAlias mKeyAlias
keyPassword mKeyPassword
}
}
2020-04-29 12:40:31 +02:00
buildTypes {
release {
debuggable false
signingConfig = signingConfigs.release
minifyEnabled true
shrinkResources true
runProguard true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
2017-12-14 14:25:49 +01:00
2020-04-29 12:40:31 +02:00
debug {
debuggable true
buildTypes.release.signingConfig = null
minifyEnabled true
shrinkResources true
runProguard true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
2016-08-25 22:53:27 +02:00
}
2020-04-29 12:40:31 +02:00
2016-08-25 22:53:27 +02:00
}
}
subprojects {
afterEvaluate {
if (getPlugins().hasPlugin('android') ||
getPlugins().hasPlugin('android-library')) {
configure(android.lintOptions) {
disable 'AndroidGradlePluginVersion', 'MissingTranslation'
}
}
}
}
2022-05-23 19:17:59 +02:00
lint {
abortOnError false
checkReleaseBuilds true
disable 'ExtraTranslation', 'MissingTranslation', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource', 'RestrictedApi'
error 'StringFormatInvalid', 'StringFormatMatches'
2016-08-25 22:53:27 +02:00
}
}