2015-03-08 22:30:03 +00:00
|
|
|
/*
|
2016-10-21 17:52:55 +00:00
|
|
|
* Copyright (c) Ricki Hirner (bitfire web engineering).
|
2015-03-08 22:30:03 +00:00
|
|
|
* All rights reserved. This program and the accompanying materials
|
|
|
|
* are made available under the terms of the GNU Public License v3.0
|
|
|
|
* which accompanies this distribution, and is available at
|
|
|
|
* http://www.gnu.org/licenses/gpl.html
|
|
|
|
*/
|
|
|
|
|
2014-12-20 19:21:46 +00:00
|
|
|
apply plugin: 'com.android.application'
|
2018-01-19 20:37:04 +00:00
|
|
|
apply plugin: 'kotlin-android'
|
|
|
|
apply plugin: 'kotlin-kapt'
|
2020-08-25 11:06:46 +00:00
|
|
|
apply plugin: 'kotlin-android-extensions'
|
2018-01-19 20:37:04 +00:00
|
|
|
|
2014-12-20 19:21:46 +00:00
|
|
|
android {
|
2019-01-06 14:58:49 +00:00
|
|
|
compileSdkVersion rootProject.ext.compileSdkVersion
|
|
|
|
buildToolsVersion rootProject.ext.buildToolsVersion
|
2014-12-20 19:21:46 +00:00
|
|
|
|
|
|
|
defaultConfig {
|
2017-02-13 16:42:57 +00:00
|
|
|
applicationId "com.etesync.syncadapter"
|
2016-12-23 14:49:53 +00:00
|
|
|
|
2020-10-01 07:03:04 +00:00
|
|
|
minSdkVersion 21
|
2020-09-06 11:38:32 +00:00
|
|
|
targetSdkVersion 29
|
2015-10-11 23:56:28 +00:00
|
|
|
|
2020-11-01 14:50:07 +00:00
|
|
|
versionCode 20103
|
|
|
|
versionName "2.1.3"
|
2015-10-11 23:56:28 +00:00
|
|
|
|
2016-09-01 20:03:38 +00:00
|
|
|
buildConfigField "boolean", "customCerts", "true"
|
2014-12-20 19:21:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
buildTypes {
|
2014-12-20 22:33:31 +00:00
|
|
|
debug {
|
2017-01-02 19:39:10 +00:00
|
|
|
minifyEnabled true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
|
|
|
|
|
|
|
/*
|
|
|
|
* To override the server's url (for example when developing),
|
|
|
|
* create file gradle.properties in ~/.gradle/ with this content:
|
|
|
|
*
|
|
|
|
* appDebugRemoteUrl="http://localserver:8080/"
|
|
|
|
*/
|
|
|
|
if (project.hasProperty('appDebugRemoteUrl')) {
|
2019-11-04 12:01:29 +00:00
|
|
|
buildConfigField 'String', 'DEBUG_REMOTE_URL', appDebugRemoteUrl
|
2017-01-02 19:39:10 +00:00
|
|
|
} else {
|
2019-11-04 12:01:29 +00:00
|
|
|
buildConfigField 'String', 'DEBUG_REMOTE_URL', 'null'
|
2017-01-02 19:39:10 +00:00
|
|
|
}
|
2014-12-20 22:33:31 +00:00
|
|
|
}
|
2014-12-20 19:21:46 +00:00
|
|
|
release {
|
2014-12-20 22:33:31 +00:00
|
|
|
minifyEnabled true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
2017-01-02 19:39:10 +00:00
|
|
|
buildConfigField 'String', 'DEBUG_REMOTE_URL', 'null'
|
2019-01-05 12:52:21 +00:00
|
|
|
|
|
|
|
// Configure Kotlin compiler optimisations for releases
|
|
|
|
kotlinOptions {
|
|
|
|
freeCompilerArgs = [
|
|
|
|
'-Xno-param-assertions',
|
|
|
|
'-Xno-call-assertions',
|
|
|
|
'-Xno-receiver-assertions'
|
|
|
|
]
|
|
|
|
}
|
2014-12-20 19:21:46 +00:00
|
|
|
}
|
|
|
|
}
|
2016-01-15 23:53:05 +00:00
|
|
|
|
2015-03-08 22:30:03 +00:00
|
|
|
lintOptions {
|
2016-03-24 16:43:35 +00:00
|
|
|
disable 'GoogleAppIndexingWarning' // we don't need Google indexing, thanks
|
|
|
|
disable 'GradleDependency'
|
|
|
|
disable 'GradleDynamicVersion'
|
2015-10-18 22:04:58 +00:00
|
|
|
disable 'IconColors'
|
|
|
|
disable 'IconLauncherShape'
|
|
|
|
disable 'IconMissingDensityFolder'
|
2016-10-12 15:03:17 +00:00
|
|
|
disable 'ImpliedQuantity', 'MissingQuantity'
|
|
|
|
disable 'MissingTranslation', 'ExtraTranslation' // translations from Transifex are not always up to date
|
2016-03-24 16:43:35 +00:00
|
|
|
disable 'Recycle' // doesn't understand Lombok's @Cleanup
|
2015-10-18 22:04:58 +00:00
|
|
|
disable 'RtlEnabled'
|
2016-03-24 16:43:35 +00:00
|
|
|
disable 'RtlHardcoded'
|
2015-10-18 22:04:58 +00:00
|
|
|
disable 'Typos'
|
2016-12-30 01:23:45 +00:00
|
|
|
disable "RestrictedApi" // https://code.google.com/p/android/issues/detail?id=230387
|
2014-12-20 19:21:46 +00:00
|
|
|
}
|
2017-01-02 19:39:10 +00:00
|
|
|
|
|
|
|
dexOptions {
|
|
|
|
preDexLibraries = true
|
|
|
|
// dexInProcess requires much RAM, which is not available on all dev systems
|
|
|
|
dexInProcess = false
|
|
|
|
javaMaxHeapSize "2g"
|
|
|
|
}
|
|
|
|
|
2014-12-20 19:21:46 +00:00
|
|
|
packagingOptions {
|
2015-06-14 17:24:40 +00:00
|
|
|
exclude 'LICENSE'
|
2014-12-20 19:21:46 +00:00
|
|
|
exclude 'META-INF/LICENSE.txt'
|
|
|
|
exclude 'META-INF/NOTICE.txt'
|
|
|
|
}
|
2016-10-10 18:42:29 +00:00
|
|
|
|
2019-11-28 16:11:56 +00:00
|
|
|
testOptions {
|
|
|
|
unitTests.returnDefaultValues = true
|
|
|
|
}
|
|
|
|
|
2016-10-10 18:42:29 +00:00
|
|
|
defaultConfig {
|
2019-03-06 16:17:14 +00:00
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
2016-10-10 18:42:29 +00:00
|
|
|
}
|
2017-02-16 15:14:40 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* To sign release build, create file gradle.properties in ~/.gradle/ with this content:
|
|
|
|
*
|
|
|
|
* signingStoreLocation=/home/key.store
|
|
|
|
* signingKeyAlias=alias
|
|
|
|
*
|
|
|
|
* and set the KSTOREPWD env var to the store and key passwords (should be the same)
|
|
|
|
*/
|
|
|
|
if (project.hasProperty('signingStoreLocation') &&
|
|
|
|
project.hasProperty('signingKeyAlias')) {
|
2019-11-04 12:01:29 +00:00
|
|
|
println "Found sign properties in gradle.properties! Signing build…"
|
|
|
|
|
|
|
|
signingConfigs {
|
|
|
|
release {
|
|
|
|
storeFile file(signingStoreLocation)
|
|
|
|
storePassword System.getenv("KSTOREPWD")
|
|
|
|
keyAlias signingKeyAlias
|
|
|
|
keyPassword System.getenv("KSTOREPWD")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
buildTypes.release.signingConfig = signingConfigs.release
|
2017-02-16 15:14:40 +00:00
|
|
|
} else {
|
2019-11-04 12:01:29 +00:00
|
|
|
buildTypes.release.signingConfig = null
|
2017-02-16 15:14:40 +00:00
|
|
|
}
|
2019-01-05 15:48:07 +00:00
|
|
|
compileOptions {
|
2020-10-18 07:31:34 +00:00
|
|
|
// enable because ical4android requires desugaring
|
|
|
|
coreLibraryDesugaringEnabled true
|
|
|
|
|
2019-01-05 15:48:07 +00:00
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
|
|
}
|
2019-09-11 08:28:50 +00:00
|
|
|
|
2020-10-01 07:03:04 +00:00
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
}
|
|
|
|
|
2020-10-19 15:07:59 +00:00
|
|
|
buildFeatures {
|
|
|
|
dataBinding = true
|
|
|
|
}
|
2014-12-20 19:21:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2019-01-06 15:40:05 +00:00
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
2020-10-18 08:42:18 +00:00
|
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
|
2020-10-18 07:31:34 +00:00
|
|
|
|
2019-01-08 00:47:25 +00:00
|
|
|
implementation "org.jetbrains.anko:anko-commons:0.10.4"
|
|
|
|
|
2020-07-14 08:47:10 +00:00
|
|
|
implementation "com.etesync:journalmanager:1.1.1"
|
2020-11-01 14:22:54 +00:00
|
|
|
def etebaseVersion = '2.3.2'
|
2020-08-19 09:42:11 +00:00
|
|
|
implementation "com.etebase:client:$etebaseVersion"
|
2019-01-06 15:40:05 +00:00
|
|
|
|
2020-10-25 13:24:50 +00:00
|
|
|
def acraVersion = '5.7.0'
|
|
|
|
implementation "ch.acra:acra-http:$acraVersion"
|
|
|
|
implementation "ch.acra:acra-dialog:$acraVersion"
|
2019-03-06 16:17:14 +00:00
|
|
|
def supportVersion = '1.0.0'
|
|
|
|
implementation "androidx.legacy:legacy-support-core-ui:$supportVersion"
|
|
|
|
implementation "androidx.core:core:$supportVersion"
|
2020-09-06 11:26:14 +00:00
|
|
|
implementation "androidx.appcompat:appcompat:1.1.0"
|
|
|
|
implementation "androidx.cardview:cardview:1.0.0"
|
2020-08-25 11:13:48 +00:00
|
|
|
// KTX extensions
|
|
|
|
implementation "androidx.core:core-ktx:1.3.1"
|
|
|
|
implementation "androidx.fragment:fragment-ktx:1.2.5"
|
2020-08-25 11:17:41 +00:00
|
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
|
|
|
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"
|
|
|
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0"
|
2020-08-25 11:13:48 +00:00
|
|
|
|
|
|
|
|
2020-09-06 11:26:14 +00:00
|
|
|
implementation 'com.google.android.material:material:1.2.0-beta01'
|
2019-03-06 16:17:14 +00:00
|
|
|
implementation "androidx.legacy:legacy-preference-v14:$supportVersion"
|
2019-01-09 12:04:20 +00:00
|
|
|
implementation 'com.github.yukuku:ambilwarna:2.0.1'
|
|
|
|
implementation ('com.github.worker8:tourguide:1.0.17-SNAPSHOT@aar') {
|
2019-01-05 15:48:07 +00:00
|
|
|
transitive = true
|
2017-04-06 10:57:03 +00:00
|
|
|
}
|
2019-01-06 13:21:13 +00:00
|
|
|
|
2020-10-01 06:40:29 +00:00
|
|
|
def requeryVersion = '1.6.1'
|
2019-01-06 13:21:13 +00:00
|
|
|
implementation "io.requery:requery:$requeryVersion"
|
|
|
|
implementation "io.requery:requery-android:$requeryVersion"
|
|
|
|
implementation "io.requery:requery-kotlin:$requeryVersion"
|
|
|
|
kapt "io.requery:requery-processor:$requeryVersion"
|
2019-10-16 08:15:11 +00:00
|
|
|
implementation 'com.google.code.findbugs:jsr305:3.0.2'
|
2019-01-06 13:21:13 +00:00
|
|
|
|
2020-09-06 12:38:23 +00:00
|
|
|
def okhttp3Version = "4.8.1"
|
|
|
|
implementation "com.squareup.okhttp3:okhttp:$okhttp3Version"
|
2019-01-12 12:31:01 +00:00
|
|
|
implementation "com.squareup.okhttp3:logging-interceptor:$okhttp3Version"
|
|
|
|
|
2019-01-09 12:04:20 +00:00
|
|
|
implementation 'com.google.code.gson:gson:1.7.2'
|
|
|
|
implementation 'org.apache.commons:commons-collections4:4.1'
|
|
|
|
implementation 'org.apache.commons:commons-lang3:3.8.1'
|
|
|
|
|
|
|
|
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
|
|
|
|
implementation project(':cert4android')
|
|
|
|
implementation project(':ical4android')
|
|
|
|
implementation project(':vcard4android')
|
2016-04-05 21:25:18 +00:00
|
|
|
// for tests
|
2019-03-06 16:17:14 +00:00
|
|
|
androidTestImplementation('androidx.test:runner:1.1.0-alpha4') {
|
2016-10-10 18:42:29 +00:00
|
|
|
exclude group: 'com.android.support', module: 'support-annotations'
|
|
|
|
}
|
2019-03-06 16:17:14 +00:00
|
|
|
androidTestImplementation('androidx.test:rules:1.1.0-alpha4') {
|
2016-10-10 18:42:29 +00:00
|
|
|
exclude group: 'com.android.support', module: 'support-annotations'
|
|
|
|
}
|
2019-01-09 12:04:20 +00:00
|
|
|
androidTestImplementation 'junit:junit:4.12'
|
2019-01-12 12:31:01 +00:00
|
|
|
androidTestImplementation "com.squareup.okhttp3:mockwebserver:$okhttp3Version"
|
2019-01-09 12:04:20 +00:00
|
|
|
testImplementation 'junit:junit:4.12'
|
2019-01-12 12:31:01 +00:00
|
|
|
testImplementation "com.squareup.okhttp3:mockwebserver:$okhttp3Version"
|
2014-12-20 19:21:46 +00:00
|
|
|
}
|