FastHub/app/build.gradle
2019-09-21 13:05:39 +02:00

152 lines
4.3 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'androidx.navigation.safeargs'
apply plugin: 'io.fabric'
apply plugin: 'com.novoda.build-properties'
apply plugin: "org.jlleitschuh.gradle.ktlint"
apply plugin: "com.github.ben-manes.versions"
buildProperties {
notThere {
file rootProject.file('build-dependecies/debug_keys.properties')
}
secrets {
file rootProject.file('build-dependecies/secret_keys.properties')
}
}
ktlint {
version = "0.28.0"
debug = true
verbose = true
android = true
reporter = "checkstyle"
ignoreFailures = true
}
android {
signingConfigs {
signing {
keyAlias((buildProperties.secrets['android_key_alias'] | buildProperties.notThere['android_key_alias']).string)
keyPassword((buildProperties.secrets['android_store_password'] | buildProperties.notThere['android_store_password']).string)
storeFile file('fastaccess-public')
storePassword((buildProperties.secrets['android_store_password'] | buildProperties.notThere['android_store_password']).string)
}
}
def conf = rootProject.ext.android
compileSdkVersion conf.compileSdkVersion
defaultConfig {
applicationId conf.applicationId
minSdkVersion conf.minSdkVersion
targetSdkVersion conf.targetSdkVersion
versionCode conf.versionCode
versionName conf.versionName
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
}
buildTypes {
release {
signingConfig signingConfigs.signing
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.signing
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
ext.alwaysUpdateBuildId = false
}
}
sourceSets {
main {
res.srcDirs = [
"src/main/res/",
"src/main/res/layouts/main_layouts",
"src/main/res/layouts/row_layouts",
"src/main/res/layouts/other_layouts",
"src/main/res"
]
}
}
lintOptions {
abortOnError false
htmlReport true
xmlReport true
disable 'InvalidPackage'
check 'Interoperability'
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
kotlinOptions {
jvmTarget = "1.8"
}
dexOptions {
jumboMode true
javaMaxHeapSize "4g"
}
testOptions {
unitTests.returnDefaultValues = true
}
configurations {
all*.exclude module: 'javax.annotation'
all*.exclude group: 'org.jetbrains', module: 'annotations-java5'
}
}
dependencies {
def dependency = rootProject.ext
implementation project(':base')
implementation project(':dagger')
implementation project(':reactions')
implementation project(':data')
implementation project(':domain')
implementation project(':resources')
implementation project(':extensions')
implementation project(':markdown')
implementation project(':editor')
implementation project(':commits')
implementation project(':diff')
implementation project(':reviews')
implementation dependency.kotlin
implementation dependency.supportLibraries
implementation dependency.extrasLibraries
implementation dependency.networking
implementation dependency.rxJava
implementation dependency.extrasLibraries
implementation dependency.dagger
implementation dependency.archs
implementation dependency.firebase
api 'com.google.guava:guava:28.1-jre' // for the sake of listenablefuture
debugImplementation dependency.developmentDependencies
releaseImplementation dependency.releaseDevelopmentDependencies
testImplementation dependency.testing
kapt dependency.processing
}
apply plugin: 'com.google.gms.google-services'