1
0
mirror of https://github.com/AllanWang/Frost-for-Facebook.git synced 2024-11-08 20:12:39 +01:00
Frost-for-Facebook/app/build.gradle
Allan Wang 3076d9a97c feature/menu-parser (#582)
* Test menu parser

* Add menu fragment implementation

* Test proguard

* Clean up

* Use async

* Use invoke

* Try without proguard

* Try 2

* Add fallback logic

* Use normal notification event

* Add custom event flag

* Add rest of menu fragment data

* Ensure fallback works

* Update docs
2017-12-31 00:42:49 -05:00

220 lines
7.6 KiB
Groovy

plugins {
id 'com.gladed.androidgitversion' version '0.4.3'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'io.fabric'
apply plugin: 'com.github.triplet.play'
def withPlaySigning = file('../files/gplay-keys.json').exists()
/*
* Feel free to check the gitignore under the files/ folder to see what is required for the signing
* It is assumed that if one of those files exist, all remaining ones exist as well
*/
if (withPlaySigning)
play {
jsonFile = file('../files/gplay-keys.json')
track = 'alpha'
errorOnSizeLimit = true
uploadImages = false
untrackOld = true
}
android {
compileSdkVersion Integer.parseInt(project.TARGET_SDK)
buildToolsVersion project.BUILD_TOOLS
androidGitVersion {
codeFormat = 'MMNNPPXX'
format = '%tag%%.count%%-commit%'
prefix 'v'
}
defaultConfig {
applicationId "${project.APP_GROUP}." + project.APP_ID.toLowerCase(Locale.CANADA)
minSdkVersion Integer.parseInt(project.MIN_SDK)
targetSdkVersion Integer.parseInt(project.TARGET_SDK)
versionCode androidGitVersion.code()
versionName androidGitVersion.name()
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "${project.APP_ID}-${variant.buildType.name}.apk"
}
}
lintOptions {
warningsAsErrors true
disable 'TrustAllX509TrustManager',
'UnusedResources',
'ContentDescription',
'RtlSymmetry',
'MissingTranslation'
xmlReport false
textReport true
textOutput 'stdout'
}
signingConfigs {
if (withPlaySigning) {
def releaseProps = new Properties()
file("../files/play.properties").withInputStream { releaseProps.load(it) }
release {
storeFile file("../files/play.keystore")
storePassword releaseProps.getProperty('storePassword')
keyAlias releaseProps.getProperty('keyAlias')
keyPassword releaseProps.getProperty('keyPassword')
}
}
test {
storeFile file("../files/test.keystore")
storePassword "testkey"
keyAlias "testKey"
keyPassword "testkey"
}
}
buildTypes {
debug {
minifyEnabled false
shrinkResources false
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
resValue "string", "frost_name", "Frost Debug"
resValue "string", "frost_web", "Frost Web Debug"
ext.enableCrashlytics = false
}
releaseTest {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".test"
signingConfig signingConfigs.test
versionNameSuffix "-test"
resValue "string", "frost_name", "Frost Test"
resValue "string", "frost_web", "Frost Web Test"
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (withPlaySigning) signingConfig signingConfigs.release
resValue "string", "frost_name", "Frost"
resValue "string", "frost_web", "Frost Web"
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
androidTest.java.srcDirs += 'src/androidTest/kotlin'
}
packagingOptions {
pickFirst 'META-INF/library_release.kotlin_module'
}
}
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
androidTestImplementation("com.android.support.test:runner:${TEST_RUNNER}") {
exclude group: 'com.android.support', module: 'support-annotations'
}
implementation "com.android.support:exifinterface:${ANDROID_SUPPORT_LIBS}"
androidTestImplementation "org.jetbrains.kotlin:kotlin-test-junit:${KOTLIN}"
androidTestImplementation "com.android.support.test:rules:${TEST_RULE}"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:${KOTLIN}"
testImplementation "org.jetbrains.kotlin:kotlin-reflect:${KOTLIN}"
testImplementation "junit:junit:${JUNIT}"
implementation "org.jetbrains.kotlin:kotlin-stdlib:${KOTLIN}"
//noinspection GradleDependency
implementation "ca.allanwang.kau:adapter:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:about:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:colorpicker:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:mediapicker:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:kpref-activity:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:searchview:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:core:$KAU"
//noinspection GradleDependency
implementation "ca.allanwang.kau:core-ui:$KAU"
implementation "org.apache.commons:commons-text:${COMMONS_TEXT}"
implementation "com.devbrackets.android:exomedia:${EXOMEDIA}"
implementation"com.mikepenz:fastadapter-extensions:${FAST_ADAPTER_EXTENSIONS}@aar"
implementation "com.github.bumptech.glide:okhttp3-integration:${GLIDE}"
implementation "com.fasterxml.jackson.core:jackson-databind:2.9.3"
//noinspection GradleDependency
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
//noinspection GradleDependency
releaseTestImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
//noinspection GradleDependency
debugImplementation "com.squareup.leakcanary:leakcanary-android:${LEAK_CANARY}"
// testImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
implementation "com.github.Raizlabs.DBFlow:dbflow:${DBFLOW}"
implementation "com.github.Raizlabs.DBFlow:dbflow-core:${DBFLOW}"
kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}"
implementation "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${DBFLOW}"
//Icons
implementation "com.mikepenz:material-design-iconic-typeface:${IICON_MATERIAL}@aar"
implementation "com.mikepenz:community-material-typeface:${IICON_COMMUNITY}@aar"
implementation "org.jsoup:jsoup:${JSOUP}"
implementation "com.squareup.okhttp3:okhttp:${OKHTTP}"
implementation "com.squareup.okhttp3:logging-interceptor:${OKHTTP}"
implementation "com.anjlab.android.iab.v3:library:${IAB}"
implementation "co.zsmb:materialdrawer-kt:${MATERIAL_DRAWER_KT}"
implementation "nz.bradcampbell:paperparcel:${PAPER_PARCEL}"
implementation "nz.bradcampbell:paperparcel-kotlin:${PAPER_PARCEL}"
kapt "nz.bradcampbell:paperparcel-compiler:${PAPER_PARCEL}"
implementation("com.crashlytics.sdk.android:crashlytics:${CRASHLYTICS}@aar") {
transitive = true;
}
implementation "com.davemorrissey.labs:subsampling-scale-image-view:${SCALE_IMAGE_VIEW}"
implementation "com.sothree.slidinguppanel:library:${SLIDING_PANEL}"
//Reactive Libs
implementation "io.reactivex.rxjava2:rxkotlin:${RX_KOTLIN}"
implementation "io.reactivex.rxjava2:rxandroid:${RX_ANDROID}"
implementation "com.github.pwittchen:reactivenetwork-rx2:${RX_NETWORK}"
}