apply plugin: 'com.android.application' apply plugin: 'checkstyle' apply plugin: 'io.fabric' apply plugin: 'com.cookpad.android.licensetools' repositories { jcenter() google() } android { lintOptions { lintConfig file("lint.xml") textOutput 'stdout' textReport true ignoreTestSources true } compileSdkVersion 28 defaultConfig { testApplicationId "org.tasks.test" applicationId "org.tasks" versionCode 575 versionName "6.6.1" targetSdkVersion 28 minSdkVersion 16 multiDexEnabled true 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 { applicationIdSuffix ".debug" resValue 'string', 'mapbox_key', project.hasProperty('tasks_mapbox_key_debug') ? tasks_mapbox_key_debug : '' resValue 'string', 'google_key', project.hasProperty('tasks_google_key_debug') ? tasks_google_key_debug : '' testCoverageEnabled true } release { resValue 'string', 'mapbox_key', project.hasProperty('tasks_mapbox_key') ? tasks_mapbox_key : '' resValue 'string', 'google_key', project.hasProperty('tasks_google_key') ? tasks_google_key : '' minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.pro' signingConfig signingConfigs.release } applicationVariants.all { variant -> variant.resValue "string", "app_package", variant.applicationId } } 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' all*.exclude group: 'com.google.http-client', module: 'google-http-client-apache' } final DAGGER_VERSION = '2.22.1' final BUTTERKNIFE_VERSION = '10.1.0' final STETHO_VERSION = '1.5.1' final WORK_VERSION = '2.0.1' final LEAKCANARY_VERSION = '1.6.3' final ROOM_VERSION = '2.1.0-alpha04' final CRASHLYTICS_VERSION = '2.9.9' final FIREBASE_VERSION = '16.0.8' 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.1" 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" debugImplementation "com.squareup.leakcanary:leakcanary-android:${LEAKCANARY_VERSION}" debugImplementation "com.squareup.leakcanary:leakcanary-support-fragment:${LEAKCANARY_VERSION}" implementation 'io.github.luizgrp.sectionedrecyclerviewadapter:sectionedrecyclerviewadapter:2.0.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'me.saket:better-link-movement-method:2.2.0' //noinspection GradleDependency implementation 'com.squareup.okhttp3:okhttp:3.12.2' // 3.13 minSdk is 21 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.2' 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.2.0' //noinspection GradleDependency implementation 'com.google.guava:guava:27.1-android' 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-rev58-1.25.0' implementation 'com.google.apis:google-api-services-drive:v3-rev159-1.25.0' implementation 'com.google.api-client:google-api-client-android:1.28.0' implementation "androidx.work:work-runtime:${WORK_VERSION}" implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0' implementation'com.mapbox.mapboxsdk:mapbox-sdk-services:4.6.0' implementation 'com.google.auth:google-auth-library-oauth2-http:0.15.0' googleplayImplementation "com.crashlytics.sdk.android:crashlytics:${CRASHLYTICS_VERSION}" googleplayImplementation "com.google.firebase:firebase-core:${FIREBASE_VERSION}" googleplayImplementation "com.google.android.gms:play-services-location:16.0.0" googleplayImplementation 'com.google.android.gms:play-services-maps:16.1.0' googleplayImplementation 'com.google.android.libraries.places:places:1.1.0' googleplayImplementation 'com.android.billingclient:billing:1.2.2' amazonImplementation fileTree(dir: 'libs', include: ['*.jar']) amazonImplementation "com.crashlytics.sdk.android:crashlytics:${CRASHLYTICS_VERSION}" amazonImplementation "com.google.firebase:firebase-core:${FIREBASE_VERSION}" 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.2' } apply plugin: 'com.google.gms.google-services'