import org.jetbrains.kotlin.gradle.dsl.KotlinCompile buildscript { ext { buildConfig = [ 'compileSdk': 30, 'targetSdk': 30, 'minSdk': 21, 'buildTools': '30.0.3', 'robolectricSdk': 30 ] versions = [ 'kotlin': '1.5.30', 'kotlinCoroutines': '1.5.1', 'androidxAppCompat': '1.2.0', 'androidxRecyclerView': '1.1.0', 'androidxLifecycle': '2.3.1', 'androidxAnnotation': '1.2.0', 'androidxBiometric': '1.1.0', 'androidxNavigation': '2.3.5', 'androidxConstraintLayout': '2.0.4', 'androidxWorkManager': '2.5.0', 'androidxFragment': '1.3.3', 'androidxLocalBroadcastManager': '1.0.0', 'androidxCore': '1.3.2', 'androidxCardView': '1.0.0', 'androidxPreference': '1.1.1', 'androidxTestCore': '1.3.0', 'materialComponents': '1.3.0', 'fastAdapter': '5.4.1', 'preferencesFix': '1.1.0', 'okio': '2.10.0', 'moshi': '1.12.0', 'timber': '4.7.1', 'koin': '2.2.2', 'commonsIo': '2.6', 'mime4j': '0.8.3', 'okhttp': '4.9.1', 'minidns': '1.0.0', 'glide': '4.12.0', 'androidxTestRunner': '1.3.0', 'junit': '4.13.2', 'robolectric': '4.5.1', 'mockito': '3.9.0', 'mockitoKotlin': '3.1.0', 'truth': '1.1.2', 'ktlint': '0.40.0' ] javaVersion = JavaVersion.VERSION_1_8 kotlinJvmVersion = "1.8" } repositories { mavenCentral() google() maven { url "https://plugins.gradle.org/m2/" } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" classpath "org.jlleitschuh.gradle:ktlint-gradle:10.0.0" } } project.ext { testCoverage = project.hasProperty('testCoverage') } subprojects { repositories { mavenCentral() google() jcenter() maven { url 'https://jitpack.io' } } tasks.withType(Test) { testLogging { exceptionFormat "full" showCauses true showExceptions true showStackTraces true } } tasks.withType(KotlinCompile) { kotlinOptions { freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn" } } apply plugin: 'org.jlleitschuh.gradle.ktlint' ktlint { version = versions.ktlint } }