You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tasks/app/build.gradle

194 lines
6.9 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'checkstyle'
apply plugin: 'io.fabric'
repositories {
jcenter()
google()
}
android {
lintOptions {
lintConfig file("lint.xml")
textOutput 'stdout'
textReport true
}
compileSdkVersion 28
defaultConfig {
testApplicationId "org.tasks.test"
applicationId "org.tasks"
versionCode 565
versionName "6.5.3"
targetSdkVersion 28
minSdkVersion 16
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
}
signingConfigs {
release
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
debug {
multiDexEnabled true
testCoverageEnabled true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.pro'
signingConfig signingConfigs.release
}
}
flavorDimensions 'store'
productFlavors {
generic {
dimension 'store'
proguardFile 'generic.pro'
}
googleplay {
dimension 'store'
}
amazon {
dimension 'store'
}
}
if (project.hasProperty('keyAlias') &&
project.hasProperty('storeFile') &&
project.hasProperty('storePassword') &&
project.hasProperty('keyPassword')) {
android.signingConfigs.release.keyAlias = keyAlias
android.signingConfigs.release.storeFile = file(storeFile)
android.signingConfigs.release.storePassword = storePassword
android.signingConfigs.release.keyPassword = keyPassword
} else {
buildTypes.release.signingConfig = null
}
}
task checkstyle(type: Checkstyle) {
source fileTree('src')
include '**/*.java'
exclude '**/gen/**'
classpath = files()
showViolations true
reports {
xml.enabled = true
html.enabled = true
html.destination = project.file("$buildDir/reports/checkstyle/checkstyle.html")
}
}
checkstyle {
configFile project.file('google_checks.xml')
toolVersion = '8.16'
}
configurations {
all*.exclude group: 'com.google.guava', module: 'guava-jdk5'
all*.exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
final DAGGER_VERSION = '2.16'
final BUTTERKNIFE_VERSION = '10.0.0'
final STETHO_VERSION = '1.5.0'
final WORK_VERSION = '1.0.0-beta05'
final LEAKCANARY_VERSION = '1.6.3'
final ROOM_VERSION = '2.1.0-alpha04'
dependencies {
implementation project(":dav4android")
implementation project(":ical4android")
annotationProcessor "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"
implementation "com.google.dagger:dagger:${DAGGER_VERSION}"
implementation "androidx.room:room-rxjava2:${ROOM_VERSION}"
annotationProcessor "androidx.room:room-compiler:${ROOM_VERSION}"
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
implementation "io.reactivex.rxjava2:rxandroid:2.1.0"
implementation "androidx.paging:paging-runtime:2.1.0"
annotationProcessor "com.jakewharton:butterknife-compiler:${BUTTERKNIFE_VERSION}"
implementation "com.jakewharton:butterknife:${BUTTERKNIFE_VERSION}"
debugImplementation("com.facebook.stetho:stetho:${STETHO_VERSION}") {
exclude group: 'com.google.code.findbugs', module: 'jsr305'
}
debugImplementation "com.facebook.stetho:stetho-timber:${STETHO_VERSION}@aar"
//noinspection GradleDependency
debugImplementation "com.squareup.leakcanary:leakcanary-android:${LEAKCANARY_VERSION}"
debugImplementation "com.squareup.leakcanary:leakcanary-support-fragment:${LEAKCANARY_VERSION}"
debugImplementation 'androidx.multidex:multidex:2.0.1'
implementation 'me.saket:better-link-movement-method:2.2.0'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.github.rey5137:material:1.2.5'
implementation 'com.nononsenseapps:filepicker:4.2.1'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.annotation:annotation:1.0.1'
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation 'com.jakewharton.threetenabp:threetenabp:1.1.0'
//noinspection GradleDependency
implementation 'com.google.guava:guava:20.0'
implementation 'com.jakewharton:process-phoenix:2.0.0'
implementation 'com.google.android.apps.dashclock:dashclock-api:2.0.0'
implementation 'com.twofortyfouram:android-plugin-api-for-locale:1.0.2'
implementation('com.rubiconproject.oss:jchronic:0.2.6') {
transitive = false
}
implementation('org.scala-saddle:google-rfc-2445:20110304') {
transitive = false
}
implementation('com.wdullaer:materialdatetimepicker:4.0.1')
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
implementation 'com.google.apis:google-api-services-tasks:v1-rev55-1.25.0'
implementation 'com.google.apis:google-api-services-drive:v3-rev136-1.25.0'
implementation 'com.google.api-client:google-api-client-android:1.27.0'
implementation 'com.android.billingclient:billing:1.2'
implementation("android.arch.work:work-runtime:${WORK_VERSION}") {
// https://groups.google.com/forum/#!topic/guava-announce/Km82fZG68Sw
exclude group: 'com.google.guava', module: 'listenablefuture'
}
googleplayImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
googleplayImplementation "com.google.firebase:firebase-core:16.0.7"
googleplayImplementation "com.google.android.gms:play-services-location:16.0.0"
googleplayImplementation "com.google.android.gms:play-services-auth:16.0.1"
googleplayImplementation "com.google.android.gms:play-services-places:16.0.0"
amazonImplementation "com.google.android.gms:play-services-analytics:16.0.7"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"
androidTestAnnotationProcessor "com.jakewharton:butterknife-compiler:${BUTTERKNIFE_VERSION}"
androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
androidTestImplementation 'com.natpryce:make-it-easy:4.0.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.annotation:annotation:1.0.1'
}
apply plugin: 'com.google.gms.google-services'