1
0
mirror of https://github.com/etesync/android synced 2024-11-15 20:38:58 +00:00
etesync-android/app/build.gradle

178 lines
6.5 KiB
Groovy
Raw Normal View History

/*
2016-10-21 17:52:55 +00:00
* Copyright (c) Ricki Hirner (bitfire web engineering).
* 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
*/
apply plugin: 'com.android.application'
2018-01-19 20:37:04 +00:00
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
2017-02-13 16:42:57 +00:00
applicationId "com.etesync.syncadapter"
2016-12-23 14:49:53 +00:00
minSdkVersion 19
targetSdkVersion 26
2019-01-11 16:21:13 +00:00
versionCode 49
versionName "0.25.0"
buildConfigField "long", "buildTime", System.currentTimeMillis() + "L"
buildConfigField "boolean", "customCerts", "true"
}
buildTypes {
debug {
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')) {
buildConfigField 'String', 'DEBUG_REMOTE_URL', appDebugRemoteUrl
} else {
buildConfigField 'String', 'DEBUG_REMOTE_URL', 'null'
}
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
buildConfigField 'String', 'DEBUG_REMOTE_URL', 'null'
// Configure Kotlin compiler optimisations for releases
kotlinOptions {
freeCompilerArgs = [
'-Xno-param-assertions',
'-Xno-call-assertions',
'-Xno-receiver-assertions'
]
}
}
}
lintOptions {
2016-03-24 16:43:35 +00:00
disable 'GoogleAppIndexingWarning' // we don't need Google indexing, thanks
disable 'GradleDependency'
disable 'GradleDynamicVersion'
disable 'IconColors'
disable 'IconLauncherShape'
disable 'IconMissingDensityFolder'
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
disable 'RtlEnabled'
2016-03-24 16:43:35 +00:00
disable 'RtlHardcoded'
disable 'Typos'
2016-12-30 01:23:45 +00:00
disable "RestrictedApi" // https://code.google.com/p/android/issues/detail?id=230387
}
dexOptions {
preDexLibraries = true
// dexInProcess requires much RAM, which is not available on all dev systems
dexInProcess = false
javaMaxHeapSize "2g"
}
packagingOptions {
exclude 'LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
2016-10-10 18:42:29 +00:00
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
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')) {
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
} else {
buildTypes.release.signingConfig = null
}
2019-01-05 15:48:07 +00:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.anko:anko-commons:0.10.4"
2019-01-05 15:50:34 +00:00
def acraVersion = '5.2.1'
implementation "ch.acra:acra-mail:$acraVersion"
implementation "ch.acra:acra-toast:$acraVersion"
def supportVersion = '27.1.1'
implementation "com.android.support:support-core-ui:$supportVersion"
implementation "com.android.support:support-compat:$supportVersion"
implementation "com.android.support:support-fragment:$supportVersion"
implementation "com.android.support:appcompat-v7:$supportVersion"
implementation "com.android.support:cardview-v7:$supportVersion"
implementation "com.android.support:design:$supportVersion"
implementation "com.android.support: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
}
2019-01-06 13:21:13 +00:00
def requeryVersion = '1.5.1'
implementation "io.requery:requery:$requeryVersion"
implementation "io.requery:requery-android:$requeryVersion"
implementation "io.requery:requery-kotlin:$requeryVersion"
kapt "io.requery:requery-processor:$requeryVersion"
2019-01-09 12:04:20 +00:00
implementation 'com.madgag.spongycastle:core:1.54.0.0'
implementation 'com.madgag.spongycastle:prov:1.54.0.0'
implementation 'com.google.code.gson:gson:1.7.2'
implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0'
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-01-09 12:04:20 +00:00
androidTestImplementation('com.android.support.test:runner:0.5') {
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('com.android.support.test:rules:0.5') {
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'
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.8.0'
testImplementation 'junit:junit:4.12'
testImplementation 'com.squareup.okhttp3:mockwebserver:3.8.0'
}