mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-11-08 20:12:39 +01:00
3076d9a97c
* 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
220 lines
7.6 KiB
Groovy
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}"
|
|
|
|
} |