|
|
|
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 539
|
|
|
|
versionName "6.1.3"
|
|
|
|
targetSdkVersion 28
|
|
|
|
minSdkVersion 15
|
|
|
|
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.10.1'
|
|
|
|
}
|
|
|
|
|
|
|
|
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 = '9.0.0-rc1'
|
|
|
|
final STETHO_VERSION = '1.5.0'
|
|
|
|
final WORK_VERSION = '1.0.0-alpha10'
|
|
|
|
final LEAKCANARY_VERSION = '1.6.1'
|
|
|
|
|
|
|
|
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:2.1.0-alpha01'
|
|
|
|
annotationProcessor 'androidx.room:room-compiler:2.1.0-alpha01'
|
|
|
|
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
|
|
|
|
implementation "io.reactivex.rxjava2:rxandroid:2.0.2"
|
|
|
|
implementation "androidx.paging:paging-runtime:2.1.0-alpha01"
|
|
|
|
|
|
|
|
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.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.0'
|
|
|
|
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
|
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
|
|
|
|
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:3.6.1') {
|
|
|
|
exclude group: 'com.android.support', module: 'support-v4'
|
|
|
|
}
|
|
|
|
implementation "me.leolin:ShortcutBadger:1.1.22@aar"
|
|
|
|
implementation 'com.google.apis:google-api-services-tasks:v1-rev52-1.23.0'
|
|
|
|
implementation 'com.google.api-client:google-api-client-android:1.23.0'
|
|
|
|
implementation 'com.android.billingclient:billing:1.1'
|
|
|
|
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("android.arch.work:work-firebase:${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.5'
|
|
|
|
googleplayImplementation "com.google.firebase:firebase-core:16.0.4"
|
|
|
|
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.4"
|
|
|
|
|
|
|
|
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.0-beta02'
|
|
|
|
androidTestImplementation 'androidx.test:rules:1.1.0-beta02'
|
|
|
|
androidTestImplementation 'androidx.annotation:annotation:1.0.0'
|
|
|
|
}
|
|
|
|
|
|
|
|
apply plugin: 'com.google.gms.google-services'
|