FastHub/app/build.gradle
2019-07-20 23:01:52 +02:00

150 lines
4.8 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
}
}
buildConfigString "REST_URL", "https://api.github.com/"
buildConfigString "GRAPHQL_REST_URL", "https://api.github.com/graphql"
buildConfigString "IMGUR_URL", "https://api.imgur.com/3/"
buildConfigString "GITHUB_CLIENT_ID", (buildProperties.secrets['github_client_id'] | buildProperties.notThere['github_client_id']).string
buildConfigString "GITHUB_SECRET", (buildProperties.secrets['github_secret'] | buildProperties.notThere['github_secret']).string
buildConfigString "IMGUR_CLIENT_ID", (buildProperties.secrets['imgur_client_id'] | buildProperties.notThere['imgur_client_id']).string
buildConfigString "IMGUR_SECRET", (buildProperties.secrets['imgur_secret'] | buildProperties.notThere['imgur_secret']).string
}
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 JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_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(':data')
implementation project(':domain')
implementation project(':resources')
implementation project(':extensions')
implementation project(':markdown')
implementation project(':editor')
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.0-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'