/app/k9mail/build.gradle
http://github.com/k9mail/k-9 · Gradle · 149 lines · 116 code · 30 blank · 3 comment · 0 complexity · 83bbc36914e99a5aa4ffe6fc66212d6b MD5 · raw file
- apply plugin: 'com.android.application'
- apply plugin: 'org.jetbrains.kotlin.android'
- if (rootProject.testCoverage) {
- apply plugin: 'jacoco'
- }
- dependencies {
- implementation project(":app:ui:legacy")
- implementation project(":app:core")
- implementation project(":app:storage")
- implementation project(":app:crypto-openpgp")
- implementation project(":backend:imap")
- implementation project(":backend:pop3")
- implementation project(":backend:webdav")
- debugImplementation project(":backend:demo")
- implementation "androidx.appcompat:appcompat:${versions.androidxAppCompat}"
- implementation "androidx.core:core-ktx:${versions.androidxCore}"
- implementation "com.takisoft.preferencex:preferencex:${versions.preferencesFix}"
- implementation "com.jakewharton.timber:timber:${versions.timber}"
- implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:${versions.kotlinCoroutines}"
- implementation "com.github.bumptech.glide:glide:${versions.glide}"
- annotationProcessor "com.github.bumptech.glide:compiler:${versions.glide}"
- if (project.hasProperty('k9mail.enableLeakCanary') && project.property('k9mail.enableLeakCanary') == "true") {
- debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.4'
- }
- // Required for DependencyInjectionTest to be able to resolve OpenPgpApiManager
- testImplementation project(':plugins:openpgp-api-lib:openpgp-api')
- testImplementation "org.robolectric:robolectric:${versions.robolectric}"
- testImplementation "junit:junit:${versions.junit}"
- testImplementation "com.google.truth:truth:${versions.truth}"
- testImplementation "org.mockito:mockito-core:${versions.mockito}"
- testImplementation "org.mockito.kotlin:mockito-kotlin:${versions.mockitoKotlin}"
- testImplementation "io.insert-koin:koin-test-junit4:${versions.koin}"
- }
- android {
- compileSdkVersion buildConfig.compileSdk
- buildToolsVersion buildConfig.buildTools
- defaultConfig {
- applicationId "com.fsck.k9"
- testApplicationId "com.fsck.k9.tests"
- versionCode 29004
- versionName '5.905-SNAPSHOT'
- // Keep in sync with the resource string array 'supported_languages'
- resConfigs "in", "br", "ca", "cs", "cy", "da", "de", "et", "en", "en_GB", "es", "eo", "eu", "fr", "gd", "gl",
- "hr", "is", "it", "lv", "lt", "hu", "nl", "nb", "pl", "pt_PT", "pt_BR", "ru", "ro", "sq", "sk", "sl",
- "fi", "sv", "tr", "el", "be", "bg", "sr", "uk", "iw", "ar", "fa", "ml", "ko", "zh_CN", "zh_TW", "ja"
- minSdkVersion buildConfig.minSdk
- targetSdkVersion buildConfig.targetSdk
- vectorDrawables.useSupportLibrary = true
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
- signingConfigs {
- release
- }
- buildTypes {
- release {
- if (project.hasProperty('storeFile')) {
- signingConfig signingConfigs.release
- }
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- buildConfigField "boolean", "DEVELOPER_MODE", "false"
- }
- debug {
- applicationIdSuffix ".debug"
- testCoverageEnabled rootProject.testCoverage
- minifyEnabled false
- buildConfigField "boolean", "DEVELOPER_MODE", "true"
- }
- }
- lintOptions {
- checkDependencies true
- // Do not abort build if lint finds errors
- abortOnError false
- lintConfig file("$rootProject.projectDir/config/lint/lint.xml")
- }
- packagingOptions {
- exclude 'META-INF/DEPENDENCIES'
- exclude 'META-INF/LICENSE'
- exclude 'META-INF/LICENSE.txt'
- exclude 'META-INF/NOTICE'
- exclude 'META-INF/NOTICE.txt'
- exclude 'META-INF/README'
- exclude 'META-INF/README.md'
- exclude 'META-INF/CHANGES'
- exclude 'LICENSE.txt'
- exclude 'META-INF/*.kotlin_module'
- exclude 'META-INF/*.version'
- exclude 'kotlin/**'
- exclude 'DebugProbesKt.bin'
- }
- dependenciesInfo {
- includeInApk = false
- includeInBundle = false
- }
- compileOptions {
- sourceCompatibility javaVersion
- targetCompatibility javaVersion
- }
- kotlinOptions {
- jvmTarget = kotlinJvmVersion
- }
- testOptions {
- unitTests {
- includeAndroidResources = true
- }
- }
- }
- if (project.hasProperty('keyAlias')) {
- android.signingConfigs.release.keyAlias = keyAlias
- }
- if (project.hasProperty('keyPassword')) {
- android.signingConfigs.release.keyPassword = keyPassword
- }
- if (project.hasProperty('storeFile')) {
- android.signingConfigs.release.storeFile = file(storeFile)
- }
- if (project.hasProperty('storePassword')) {
- android.signingConfigs.release.storePassword = storePassword
- }