apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'io.fabric' def fabricProps = new Properties() file("../fabric.properties").withInputStream { stream -> fabricProps.load(stream) } def FABRIC_API_KEY = System.env.FABRIC_API_KEY ?: fabricProps.getProperty('FABRIC_API_KEY', 'empty') println 'Fabric ' + FABRIC_API_KEY android { compileSdkVersion Integer.parseInt(project.TARGET_SDK) buildToolsVersion project.BUILD_TOOLS defaultConfig { applicationId "${project.APP_GROUP}." + project.APP_ID.toLowerCase() minSdkVersion Integer.parseInt(project.MIN_SDK) targetSdkVersion Integer.parseInt(project.TARGET_SDK) versionCode Integer.parseInt(project.VERSION_CODE) versionName project.VERSION_NAME multiDexEnabled true testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" manifestPlaceholders = [fabricApiKey: FABRIC_API_KEY] } applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, "${project.APP_ID}-${variant.buildType.name}.apk") } } signingConfigs { test { storeFile file("../files/test.keystore") storePassword "testkey" keyAlias "testKey" keyPassword "testkey" } } buildTypes { debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" resValue "string", "app_name", "Frost Debug" } releaseTest { applicationIdSuffix ".test" signingConfig signingConfigs.test versionNameSuffix "-test" resValue "string", "app_name", "Frost Test" } release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' resValue "string", "app_name", "Frost" } } sourceSets { main.java.srcDirs += 'src/main/kotlin' test.java.srcDirs += 'src/test/kotlin' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" compile "com.android.support:appcompat-v7:${ANDROID_SUPPORT_LIBS}" compile "com.android.support:support-v4:${ANDROID_SUPPORT_LIBS}" compile "com.android.support:support-v13:${ANDROID_SUPPORT_LIBS}" compile "com.android.support:design:${ANDROID_SUPPORT_LIBS}" compile "com.android.support:recyclerview-v7:${ANDROID_SUPPORT_LIBS}" compile "com.android.support:cardview-v7:${ANDROID_SUPPORT_LIBS}" compile "com.android.support:preference-v14:${ANDROID_SUPPORT_LIBS}" //Logging compile "com.jakewharton.timber:timber:${TIMBER}" //Dialog compile "com.afollestad.material-dialogs:core:${MATERIAL_DIALOG}" compile "com.github.Raizlabs.DBFlow:dbflow:${DBFLOW}" compile "com.github.Raizlabs.DBFlow:dbflow-core:${DBFLOW}" annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}" kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}" compile "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${DBFLOW}" compile "com.github.Raizlabs.DBFlow:dbflow-rx2:${DBFLOW}" compile "com.github.Raizlabs.DBFlow:dbflow-rx2-kotlinextensions:${DBFLOW}" // compile "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${DBFLOW}" // compile "net.zetetic:android-database-sqlcipher:${SQL_CIPHER}@aar" testCompile "org.robolectric:robolectric:${ROBOELECTRIC}" //Icons compile "com.mikepenz:iconics-core:${ICONICS}@aar" compile "com.mikepenz:google-material-typeface:${IICON_GOOGLE}.original@aar" compile "com.mikepenz:material-design-iconic-typeface:${IICON_MATERIAL}@aar" compile "com.mikepenz:community-material-typeface:${IICON_COMMUNITY}@aar" //Butterknife compile "com.jakewharton:butterknife:${BUTTERKNIFE}" annotationProcessor "com.jakewharton:butterknife-compiler:${BUTTERKNIFE}" compile "io.reactivex.rxjava2:rxjava:${RX_JAVA}" compile "io.reactivex.rxjava2:rxandroid:${RX_ANDROID}" compile "com.jakewharton.rxbinding2:rxbinding:${RX_BINDING}" compile "com.jakewharton.rxbinding2:rxbinding-appcompat-v7:${RX_BINDING}" compile "org.greenrobot:eventbus:${EVENT_BUS}" compile "com.facebook.stetho:stetho-okhttp3:${STETHO}" compile "com.lapism:searchview:${SEARCH_VIEW}" compile "org.jsoup:jsoup:${JSOUP}" // compile "org.jetbrains.anko:anko:${ANKO}" // compile "com.squareup.retrofit2:retrofit:${RETROFIT}" // compile "com.squareup.retrofit2:adapter-rxjava2:${RETROFIT}" // compile "com.squareup.retrofit2:converter-gson:${RETROFIT}" // compile "com.squareup.okhttp3:logging-interceptor:${OKHTTP_INTERCEPTOR}" compile "com.github.bumptech.glide:glide:${GLIDE}" annotationProcessor "com.github.bumptech.glide:compiler:${GLIDE}" // compile "com.google.auto.value:auto-value:${AUTO}" // annotationProcessor "com.google.auto.value:auto-value:${AUTO}" // annotationProcessor "com.ryanharter.auto.value:auto-value-parcel:${AUTO_VALUE_PARCEL}" compile "com.f2prateek.rx.preferences2:rx-preferences:${RX_PREFS}" // compile("com.mikepenz:materialdrawer:${MATERIAL_DRAWER}@aar") { // transitive = true // } compile "co.zsmb:materialdrawer-kt:${MATERIAL_DRAWER_KT}" compile "nz.bradcampbell:paperparcel:${PAPER_PARCEL}" compile "nz.bradcampbell:paperparcel-kotlin:${PAPER_PARCEL}" kapt "nz.bradcampbell:paperparcel-compiler:${PAPER_PARCEL}" compile "com.jude:swipebackhelper:${SWIPE_BACK}" compile("com.crashlytics.sdk.android:crashlytics:${CRASHLYTICS}@aar") { transitive = true; } } kapt { generateStubs = true }