97 lines
3 KiB
Groovy
97 lines
3 KiB
Groovy
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
buildscript {
|
|
ext {
|
|
kotlin_version = '1.6.10'
|
|
coreVersion = '1.6.0'
|
|
rxjava_version = '2.2.21'
|
|
rxandroid_version = '2.1.1'
|
|
rxkotlin_version = '2.4.0'
|
|
room_version = '2.3.0'
|
|
lifecycle_version = '2.3.1'
|
|
dagger_version = '2.40.5'
|
|
coroutinesVersion = '1.4.1'
|
|
activityVersion = '1.3.1'
|
|
fragmentktx_version = '1.3.6'
|
|
ormLiteVersion = '4.46'
|
|
nav_version = '2.3.5'
|
|
appcompat_version = '1.3.1'
|
|
material_version = '1.4.0'
|
|
constraintlayout_version = '2.1.0'
|
|
preferencektx_version = '1.1.1'
|
|
commonslang3_version = '3.11'
|
|
commonscodec_version = '1.15'
|
|
jodatime_version = '2.10.13'
|
|
work_version = '2.5.0'
|
|
tink_version = '1.5.0'
|
|
|
|
junit_version = '4.13.2'
|
|
mockitoVersion = '4.3.1'
|
|
dexmakerVersion = "1.2"
|
|
retrofit2Version = '2.9.0'
|
|
okhttp3Version = '4.9.0'
|
|
byteBuddyVersion = '1.12.3'
|
|
|
|
androidx_junit = '1.1.2'
|
|
androidx_rules = '1.4.0-alpha04'
|
|
}
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
maven { url "https://plugins.gradle.org/m2/" } // jacoco 0.2
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:7.1.1'
|
|
classpath 'com.google.gms:google-services:4.3.10'
|
|
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
|
|
classpath 'com.hiya:jacoco-android:0.2'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id "io.gitlab.arturbosch.detekt" version "1.19.0"
|
|
id "org.jlleitschuh.gradle.ktlint" version "10.2.1"
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
maven { url "https://maven.google.com" }
|
|
maven { url 'https://jitpack.io' }
|
|
}
|
|
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
|
kotlinOptions {
|
|
freeCompilerArgs = [
|
|
// Ignore warning for @ExperimentalCoroutinesApi
|
|
"-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
|
'-Xjvm-default=all' //Support @JvmDefault
|
|
]
|
|
jvmTarget = "11"
|
|
}
|
|
}
|
|
// Workaround to support M1 builds. Room 2.4.0 fixes this but requires min compileSdkVersion
|
|
// 31 => remove when upgrading to Room 2.4.0
|
|
// Source: https://issuetracker.google.com/issues/174695268
|
|
configurations.configureEach {
|
|
resolutionStrategy {
|
|
force 'org.xerial:sqlite-jdbc:3.36.0.3'
|
|
}
|
|
}
|
|
}
|
|
|
|
task clean(type: Delete) {
|
|
delete rootProject.buildDir
|
|
}
|
|
|
|
subprojects {
|
|
tasks.withType(Test) {
|
|
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
|
|
}
|
|
}
|