apply plugin: 'com.android.application' apply plugin: 'checkstyle' repositories { jcenter() google() } android { lintOptions { lintConfig file("lint.xml") textOutput 'stdout' textReport true } compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { testApplicationId "org.tasks.test" applicationId "org.tasks" versionCode 506 versionName "5.3.4" targetSdkVersion 27 minSdkVersion 15 testInstrumentationRunner "android.support.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' } 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.buildDir/reports/checkstyle/checkstyle.html" } } checkstyle { configFile project.file('google_checks.xml') toolVersion = '8.8' } configurations { all*.exclude group: 'com.google.guava', module: 'guava-jdk5' all*.exclude group: 'org.apache.httpcomponents', module: 'httpclient' } final DAGGER_VERSION = '2.9' final BUTTERKNIFE_VERSION = '8.8.1' final GPS_VERSION = '12.0.1' final SUPPORT_VERSION = '27.1.1' final ROOM_VERSION = '1.1.0-beta2' final STETHO_VERSION = '1.5.0' final TESTING_SUPPORT_VERSION = '1.0.0' dependencies { implementation project(':ical4android') implementation project(':dav4android') annotationProcessor "com.google.dagger:dagger-compiler:${DAGGER_VERSION}" implementation "com.google.dagger:dagger:${DAGGER_VERSION}" implementation "android.arch.persistence.room:rxjava2:${ROOM_VERSION}" annotationProcessor "android.arch.persistence.room:compiler:${ROOM_VERSION}" implementation "android.arch.lifecycle:extensions:1.1.1" implementation "io.reactivex.rxjava2:rxandroid:2.0.1" implementation "android.arch.paging:runtime:1.0.0-beta1" 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:1.5.4' debugImplementation 'com.android.support:multidex:1.0.3' implementation 'com.evernote:android-job:1.2.5' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.google.code.gson:gson:2.8.2' implementation 'com.github.rey5137:material:1.2.4' implementation 'com.nononsenseapps:filepicker:4.1.0' implementation "com.android.support:design:${SUPPORT_VERSION}" implementation "com.android.support:support-annotations:${SUPPORT_VERSION}" implementation "com.android.support:support-v13:${SUPPORT_VERSION}" implementation "com.android.support:cardview-v7:${SUPPORT_VERSION}" implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.jakewharton.timber:timber:4.7.0' implementation 'com.jakewharton.threetenabp:threetenabp:1.0.5' //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.5.2') { exclude group: 'com.android.support', module: 'support-v4' } implementation "me.leolin:ShortcutBadger:1.1.18@aar" implementation 'com.google.apis:google-api-services-tasks:v1-rev47-1.22.0' implementation 'com.google.api-client:google-api-client-android:1.22.0' googleplayImplementation 'com.android.billingclient:billing:1.0' googleplayImplementation "com.google.android.gms:play-services-location:${GPS_VERSION}" googleplayImplementation "com.google.android.gms:play-services-analytics:${GPS_VERSION}" googleplayImplementation "com.google.android.gms:play-services-auth:${GPS_VERSION}" googleplayImplementation "com.google.android.gms:play-services-places:${GPS_VERSION}" amazonImplementation "com.google.android.gms:play-services-analytics:${GPS_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 "com.android.support.test:runner:${TESTING_SUPPORT_VERSION}" androidTestImplementation "com.android.support.test:rules:${TESTING_SUPPORT_VERSION}" androidTestImplementation "com.android.support:support-annotations:${SUPPORT_VERSION}" }