buildscript { repositories { jcenter() maven { url 'https://jitpack.io' } } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-beta6' classpath 'de.felixschulze.gradle:gradle-spoon-plugin:2.7.3' classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'de.mobilej.unmock:UnMockPlugin:0.3.6' // http://stackoverflow.com/a/33889117/322642 classpath 'com.github.JakeWharton:sdk-manager-plugin:220bf7a88a7072df3ed16dc8466fb144f2817070' } } apply plugin: 'android-sdk-manager' apply plugin: 'com.android.application' apply plugin: 'de.felixschulze.gradle.spoon' apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'de.mobilej.unmock' apply plugin: 'com.github.ben-manes.versions' repositories { jcenter() mavenLocal() } android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { versionCode 275 versionName "2.7.5" minSdkVersion 9 targetSdkVersion 22 applicationId "org.ligi.passandroid" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" archivesBaseName = "PassAndroid-$versionName" vectorDrawables.useSupportLibrary = true } flavorDimensions "maps", "analytics", "distribution" productFlavors { withMaps { dimension "maps" } noMaps { dimension "maps" } withAnalytics { dimension "analytics" } noAnalytics { dimension "analytics" } forFDroid { dimension "distribution" } forPlay { dimension "distribution" } } // needed for assertJ packagingOptions { // needed for assertJ exclude 'asm-license.txt' exclude 'LICENSE' exclude 'NOTICE' // hack for instrumentation testing :-( exclude 'LICENSE.txt' exclude 'META-INF/maven/com.google.guava/guava/pom.properties' exclude 'META-INF/maven/com.google.guava/guava/pom.xml' } lintOptions { warning 'MissingTranslation' warning 'InvalidPackage' } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' } } } final DAGGER_VERSION = '2.1' final SUPPORT_VERSION = '23.2.1' dependencies { apt 'org.projectlombok:lombok:1.16.6' apt "com.google.dagger:dagger-compiler:${DAGGER_VERSION}" provided "org.projectlombok:lombok:1.16.6" provided 'org.glassfish:javax.annotation:10.0-b28' androidTestApt "com.google.dagger:dagger-compiler:${DAGGER_VERSION}" androidTestCompile "com.android.support:support-v4:${SUPPORT_VERSION}" androidTestCompile "com.android.support:support-annotations:${SUPPORT_VERSION}" androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2') { // http://stackoverflow.com/questions/30578243/why-would-adding-espresso-contrib-cause-an-inflateexception exclude group: 'com.android.support', module: 'appcompat' exclude group: 'com.android.support', module: 'support-v4' exclude module: 'recyclerview-v7' } androidTestCompile('com.android.support.test.espresso:espresso-web:2.2.2') androidTestCompile 'com.squareup.spoon:spoon-client:1.3.2' androidTestCompile 'com.squareup.assertj:assertj-android:1.1.1' androidTestCompile 'org.mockito:mockito-core:1.9.5' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' compile 'net.lingala.zip4j:zip4j:1.3.2' compile 'com.jakewharton:butterknife:7.0.1' compile 'net.danlew:android.joda:2.9.2' compile 'com.squareup:otto:1.3.8' compile "com.android.support:support-annotations:${SUPPORT_VERSION}" compile "com.android.support:support-v4:${SUPPORT_VERSION}" compile "com.android.support:recyclerview-v7:${SUPPORT_VERSION}" compile "com.android.support:appcompat-v7:${SUPPORT_VERSION}" compile "com.android.support:cardview-v7:${SUPPORT_VERSION}" compile "com.android.support:design:${SUPPORT_VERSION}" compile "com.android.support:preference-v7:${SUPPORT_VERSION}" androidTestCompile "com.android.support:appcompat-v7:${SUPPORT_VERSION}" androidTestCompile "com.android.support:design:${SUPPORT_VERSION}" compile 'net.i2p.android.ext:floatingactionbutton:1.10.1' compile 'org.ligi:AXT:0.35' compile 'org.ligi:tracedroid:1.4' compile 'org.ligi:snackengage:0.4' compile 'com.squareup.okhttp:okhttp:2.7.5' compile 'com.larswerkman:HoloColorPicker:1.5' compile 'com.google.code.findbugs:jsr305:3.0.1' compile 'com.squareup.moshi:moshi:1.1.0' compile 'net.steamcrafted:load-toast:1.0.10' compile "com.google.dagger:dagger:${DAGGER_VERSION}" androidTestCompile 'com.google.code.findbugs:jsr305:3.0.1' testCompile 'com.squareup.assertj:assertj-android:1.1.1' testCompile "com.android.support:support-annotations:${SUPPORT_VERSION}" testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:1.9.5' // cannot use this new version: https://github.com/zxing/zxing/issues/165 // WARNING: might work on some devices or the emulator - but fails on others // compile 'com.google.zxing:core:3.1.0' compile fileTree(dir: 'libs', include: 'zxing-core-2.3.0-SNAPSHOT.jar') debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1' withAnalyticsCompile 'com.google.android.gms:play-services-analytics:8.4.0' withMapsCompile 'com.google.android.gms:play-services-maps:8.4.0' } spoon { debug = true }