2023-08-27 13:55:51 +02:00
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2016-06-04 17:28:05 +02:00
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
2020-05-03 21:27:42 +02:00
ext {
2023-06-08 11:15:55 +02:00
kotlin_version = '1.8.22'
2023-05-11 10:57:50 +02:00
core_version = '1.10.1'
2023-08-24 11:09:07 +02:00
rxjava_version = '3.1.7'
2022-11-10 09:01:51 +01:00
rxandroid_version = '3.0.2'
2022-02-10 19:11:58 +01:00
rxkotlin_version = '3.0.1'
2023-06-22 10:57:16 +02:00
room_version = '2.5.2'
2023-03-23 10:31:57 +01:00
lifecycle_version = '2.6.1'
2023-08-31 10:50:06 +02:00
dagger_version = '2.48'
2023-07-26 10:34:19 +02:00
coroutines_version = '1.7.3'
2023-05-30 09:08:15 +02:00
activity_version = '1.7.2'
2023-07-27 10:43:09 +02:00
fragmentktx_version = '1.6.1'
2022-02-10 17:13:42 +01:00
ormLite_version = '4.46'
2023-01-09 09:03:38 +01:00
gson_version = '2.10.1'
2023-06-08 11:16:30 +02:00
nav_version = '2.6.0'
2023-02-09 09:01:41 +01:00
appcompat_version = '1.6.1'
2023-05-05 10:57:41 +02:00
material_version = '1.9.0'
2022-11-18 17:28:13 +01:00
gridlayout_version = '1.0.0'
2022-05-25 15:46:06 +02:00
constraintlayout_version = '2.1.4'
2023-08-13 21:45:44 +02:00
preferencektx_version = '1.2.1'
2023-07-28 10:56:11 +02:00
commonslang3_version = '3.13.0'
2023-06-22 10:57:25 +02:00
commonscodec_version = '1.16.0'
2023-08-01 10:32:53 +02:00
guava_version = '32.1.2-jre'
2023-08-03 11:03:57 +02:00
jodatime_version = '2.12.5'
2023-03-23 09:57:29 +01:00
work_version = '2.8.1'
2023-07-19 10:17:32 +02:00
tink_version = '1.10.0'
2023-08-03 11:03:57 +02:00
json_version = '20230618'
2023-03-31 10:57:22 +02:00
joda_version = '2.12.5'
2022-11-17 20:37:51 +01:00
swipe_version = '1.1.0'
2020-10-19 21:51:13 +02:00
2021-02-15 09:07:00 +01:00
junit_version = '4.13.2'
2023-07-24 10:45:47 +02:00
junit_jupiter_version = '5.10.0'
2022-11-29 15:03:25 +01:00
mockito_version = '4.6.1'
2022-05-25 15:46:06 +02:00
dexmaker_version = '1.2'
2022-02-10 17:13:42 +01:00
retrofit2_version = '2.9.0'
2023-04-24 10:57:57 +02:00
okhttp3_version = '4.11.0'
2022-02-24 21:25:06 +01:00
byteBuddy_version = '1.12.8'
2020-11-30 08:54:47 +01:00
2023-08-03 11:03:57 +02:00
androidx_junit_version = '1.1.5'
2022-11-29 15:03:25 +01:00
androidx_rules_version = '1.5.0'
2022-02-11 05:58:07 +01:00
rxandroidble_version = '1.12.1'
replayshare_version = '2.2.0'
2022-07-19 11:27:58 +02:00
2022-05-25 15:46:06 +02:00
wearable_version = '2.9.0'
2023-09-01 10:26:51 +02:00
play_services_wearable_version = '18.1.0'
2022-11-10 14:05:37 +01:00
play_services_location_version = '21.0.1'
2022-02-22 19:50:57 +01:00
2023-09-01 10:26:36 +02:00
kotlinx_datetime_version = '0.4.1'
2023-08-23 10:58:35 +02:00
kotlinx_serialization_version = '1.6.0'
2023-08-26 23:01:08 +02:00
caverock_androidsvg_version = '1.4'
2020-05-03 21:27:42 +02:00
}
2016-06-04 17:28:05 +02:00
repositories {
2017-12-03 21:31:06 +01:00
google ( )
2021-02-10 23:33:32 +01:00
mavenCentral ( )
2016-06-04 17:28:05 +02:00
}
dependencies {
2023-08-22 10:45:42 +02:00
classpath 'com.android.tools.build:gradle:8.1.1'
2023-04-04 12:14:44 +02:00
classpath 'com.google.gms:google-services:4.3.15'
2023-08-25 10:50:11 +02:00
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
2016-06-04 17:28:05 +02:00
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
2018-01-24 21:54:24 +01:00
2019-04-10 00:33:05 +02:00
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
2021-03-14 19:42:02 +01:00
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
2022-04-11 14:25:00 +02:00
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
2023-07-19 13:53:43 +02:00
classpath "org.jacoco:org.jacoco.core:0.8.10"
2022-11-24 10:42:08 +01:00
classpath "com.vanniktech:gradle-dependency-graph-generator-plugin:0.8.0"
2016-06-04 17:28:05 +02:00
}
}
2021-03-01 12:34:47 +01:00
plugins {
2022-11-16 09:42:44 +01:00
// Test Gradle build, keep disabled under normal circumstances
// id "com.osacky.doctor" version "0.8.1"
2023-08-08 10:09:01 +02:00
id "org.jlleitschuh.gradle.ktlint" version "11.5.1"
2023-07-19 13:53:43 +02:00
// Aggregates and/or logs Jacoco test coverage to the Gradle build log
2023-02-17 09:57:45 +01:00
id 'org.barfuin.gradle.jacocolog' version '3.1.0'
2022-11-10 09:40:49 +01:00
id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false
2021-03-01 12:34:47 +01:00
}
2016-06-04 17:28:05 +02:00
allprojects {
repositories {
2018-02-21 15:07:01 +01:00
google ( )
2021-02-10 23:33:32 +01:00
mavenCentral ( )
2021-04-15 20:07:42 +02:00
maven { url "https://maven.google.com" }
maven { url 'https://jitpack.io' }
2016-06-04 17:28:05 +02:00
}
2023-08-27 13:55:51 +02:00
tasks . withType ( KotlinCompile ) . all {
2019-12-28 02:53:55 +01:00
kotlinOptions {
2021-10-01 23:17:24 +02:00
freeCompilerArgs = [
2022-04-13 14:46:34 +02:00
'-opt-in=kotlin.RequiresOptIn' ,
2021-10-01 23:17:24 +02:00
'-Xjvm-default=all' //Support @JvmDefault
]
2021-10-14 15:21:31 +02:00
jvmTarget = "11"
2019-12-28 02:53:55 +01:00
}
}
2022-04-13 14:46:34 +02:00
gradle . projectsEvaluated {
tasks . withType ( JavaCompile ) {
options . compilerArgs < < "-Xlint:unchecked" < < "-Xlint:deprecation"
2022-01-09 16:50:27 +01:00
}
}
2022-11-16 10:29:20 +01:00
apply plugin: 'org.jlleitschuh.gradle.ktlint'
2023-07-19 13:53:43 +02:00
apply plugin: 'jacoco'
2016-06-04 17:28:05 +02:00
}
2023-07-19 13:53:43 +02:00
// Setup all al reports aggregation
2022-05-11 10:18:14 +02:00
apply from: 'jacoco_project.gradle'
2022-02-09 22:45:05 +01:00
2016-06-04 17:28:05 +02:00
task clean ( type: Delete ) {
delete rootProject . buildDir
}
2020-05-24 19:07:26 +02:00
subprojects {
tasks . withType ( Test ) {
maxParallelForks = Runtime . runtime . availableProcessors ( ) . intdiv ( 2 ) ? : 1
}
}
2022-11-11 19:27:47 +01:00
// This is necessary to prevent Gradle build errors like:
//
// Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.0-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.0)
//
// By explicitly adding these dependencies, the jetifier
// is forced to use the correct lifecycle version instead
// of automatically picking 2.3.1.
//
// See: https://stackoverflow.com/a/69832319/560774
configurations {
all {
exclude group: 'androidx.lifecycle' , module: 'lifecycle-viewmodel-ktx'
}
2022-11-21 19:58:10 +01:00
}