// 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" id 'org.barfuin.gradle.jacocolog' version '2.0.0' } 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' } } } apply from: 'gradle/jacoco_project.gradle' task clean(type: Delete) { delete rootProject.buildDir } subprojects { tasks.withType(Test) { maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 } }