From 943d564c0ffec0b98b690d33eb6bc0863baf9783 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 27 Sep 2023 14:52:36 +0200 Subject: [PATCH 01/39] gradle -> kts --- app/build.gradle | 2 - app/build.gradle.kts | 225 +++++++++++++++++++++++++++ build.gradle | 126 --------------- build.gradle.kts | 117 ++++++++++++++ buildSrc/build.gradle.kts | 7 + buildSrc/src/main/kotlin/Libs.kt | 69 ++++++++ buildSrc/src/main/kotlin/Versions.kt | 7 + core/graphview/build.gradle | 17 -- core/graphview/build.gradle.kts | 17 ++ 9 files changed, 442 insertions(+), 145 deletions(-) create mode 100644 app/build.gradle.kts delete mode 100644 build.gradle create mode 100644 build.gradle.kts create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/kotlin/Libs.kt create mode 100644 buildSrc/src/main/kotlin/Versions.kt delete mode 100644 core/graphview/build.gradle create mode 100644 core/graphview/build.gradle.kts diff --git a/app/build.gradle b/app/build.gradle index e97d45c945..776643a033 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,6 @@ plugins { id 'kotlinx-serialization' id 'com.google.gms.google-services' id 'com.google.firebase.crashlytics' - id 'com.vanniktech.dependency.graph.generator' - } apply from: "${project.rootDir}/core/main/android_dependencies.gradle" diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000000..34cf8a4212 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,225 @@ +import java.io.ByteArrayOutputStream +import java.text.SimpleDateFormat +import java.util.Date +import kotlin.io.println + +plugins { + id("com.android.application") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-allopen") + id("kotlinx-serialization") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") +} + +apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +repositories { + mavenCentral() + google() +} + +allOpen { + // allows mocking for classes w/o directly opening them for release builds + annotation("info.nightscout.androidaps.annotations.OpenForTesting") +} + +fun generateGitBuild(): String = + try { + ByteArrayOutputStream().let { + exec { + commandLine("git", "describe", "--always") + standardOutput = it + } + it.toString().trim() + } + } catch (ignored: Exception) { + "NoGitSystemAvailable" + } + +fun generateGitRemote(): String = + try { + ByteArrayOutputStream().let { + exec { + commandLine("git", "remote", "get-url", "origin") + standardOutput = it + } + it.toString().trim() + } + } catch (ignored: Exception) { + "NoGitSystemAvailable" + } + +fun generateDate(): String = + // showing only date prevents app to rebuild everytime + SimpleDateFormat("yyyy.MM.dd").format(Date()) + +fun isMaster(): Boolean = !Versions.appVersion.contains("-") + +fun gitAvailable(): Boolean = + try { + ByteArrayOutputStream().let { + exec { + commandLine("git", "--version") + standardOutput = it + } + it.toString().trim().isNotEmpty() + } + } catch (ignored: Exception) { + false // NoGitSystemAvailable + } + +fun allCommitted(): Boolean = + try { + ByteArrayOutputStream().let { + exec { + commandLine("git", "status", "-s") + standardOutput = it + } + it.toString() + // ignore all changes done in .idea/codeStyles + .replace(Regex("(?m)^\\s*(M|A|D|\\?\\?)\\s*.*?\\.idea\\/codeStyles\\/.*?\\s*$"), "") + // ignore all files added to project dir but not staged/known to GIT + .replace(Regex("(?m)^\\s*(\\?\\?)\\s*.*?\\s*$"), "") + .trim().isEmpty() + } + } catch (ignored: Exception) { + false // NoGitSystemAvailable + } + +android { + + namespace = "info.nightscout.androidaps" + ndkVersion = Versions.ndkVersion + + defaultConfig { + multiDexEnabled = true + versionCode = Versions.versionCode + version = Versions.appVersion + buildConfigField("String", "VERSION", "\"" + Versions.appVersion + "\"") + buildConfigField("String", "BUILDVERSION", "\"" + generateGitBuild() + "-" + generateDate() + "\"") + buildConfigField("String", "REMOTE", "\"" + generateGitRemote() + "\"") + buildConfigField("String", "HEAD", "\"" + generateGitBuild() + "\"") + buildConfigField("Boolean", "COMMITTED", allCommitted().toString()) + } + + val dim = "standard" + flavorDimensions.add(dim) + productFlavors { + create("full") { + applicationId = "info.nightscout.androidaps" + dimension = dim + resValue("string", "app_name", "AAPS") + versionName = Versions.appVersion + manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" + manifestPlaceholders["appIconRound"] = "@mipmap/ic_launcher_round" + } + create("pumpcontrol") { + applicationId = "info.nightscout.aapspumpcontrol" + dimension = dim + resValue("string", "app_name", "Pumpcontrol") + versionName = Versions.appVersion + "-pumpcontrol" + manifestPlaceholders["appIcon"] = "@mipmap/ic_pumpcontrol" + manifestPlaceholders["appIconRound"] = "@null" + } + create("aapsclient") { + applicationId = "info.nightscout.aapsclient" + dimension = dim + resValue("string", "app_name", "AAPSClient") + versionName = Versions.appVersion + "-aapsclient" + manifestPlaceholders["appIcon"] = "@mipmap/ic_yellowowl" + manifestPlaceholders["appIconRound"] = "@mipmap/ic_yellowowl" + } + create("aapsclient2") { + applicationId = "info.nightscout.aapsclient2" + dimension = dim + resValue("string", "app_name", "AAPSClient2") + versionName = Versions.appVersion + "-aapsclient" + manifestPlaceholders["appIcon"] = "@mipmap/ic_blueowl" + manifestPlaceholders["appIconRound"] = "@mipmap/ic_blueowl" + } + } + + dataBinding { //Deleting it causes a binding error + enable = true + } +} + +dependencies { + // in order to use internet"s versions you"d need to enable Jetifier again + // https://github.com/nightscout/graphview.git + // https://github.com/nightscout/iconify.git + implementation(project(":app-wear-shared:shared")) + implementation(project(":app-wear-shared:shared-impl")) + implementation(project(":core:main")) + implementation(project(":core:graph")) + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:libraries")) + implementation(project(":core:ns-sdk")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + implementation(project(":ui")) + implementation(project(":plugins:aps")) + implementation(project(":plugins:automation")) + implementation(project(":plugins:configuration")) + implementation(project(":plugins:constraints")) + implementation(project(":plugins:insulin")) + implementation(project(":plugins:main")) + implementation(project(":plugins:sensitivity")) + implementation(project(":plugins:smoothing")) + implementation(project(":plugins:source")) + implementation(project(":plugins:sync")) + implementation(project(":implementation")) + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":pump:combo")) + implementation(project(":pump:combov2")) + implementation(project(":pump:dana")) + implementation(project(":pump:danars")) + implementation(project(":pump:danar")) + implementation(project(":pump:diaconn")) + implementation(project(":pump:eopatch")) + implementation(project(":pump:medtrum")) + implementation(project(":insight")) + implementation(project(":pump:medtronic")) + implementation(project(":pump:pump-common")) + implementation(project(":pump:pump-core")) + implementation(project(":pump:omnipod-common")) + implementation(project(":pump:omnipod-eros")) + implementation(project(":pump:omnipod-dash")) + implementation(project(":pump:rileylink")) + implementation(project(":pump:virtual")) + implementation(project(":workflow")) + + testImplementation(project(":app-wear-shared:shared-tests")) + + //implementation fileTree(include = listOf("*.jar"), dir = "libs") + + /* Dagger2 - We are going to use dagger.android which includes + * support for Activity and fragment injection so we need to include + * the following dependencies */ + kapt(Libs.Dagger.androidProcesssor) + kapt(Libs.Dagger.compiler) + + // MainApp + api(Libs.Rx.rxDogTag) + +} + +apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") + +println("--------------") +println("isMaster: ${isMaster()}") +println("gitAvailable: ${gitAvailable()}") +println("allCommitted: ${allCommitted()}") +println("--------------") +if (isMaster() && !gitAvailable()) { + throw GradleException("GIT system is not available. On Windows try to run Android Studio as an Administrator. Check if GIT is installed and Studio have permissions to use it") +} +if (isMaster() && !allCommitted()) { + throw GradleException("There are uncommitted changes. Clone sources again as described in wiki and do not allow gradle update") +} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index e42f6b01a7..0000000000 --- a/build.gradle +++ /dev/null @@ -1,126 +0,0 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - ext { - kotlin_version = '1.9.10' - core_version = '1.12.0' - rxjava_version = '3.1.7' - rxandroid_version = '3.0.2' - rxkotlin_version = '3.0.1' - room_version = '2.5.2' - lifecycle_version = '2.6.2' - dagger_version = '2.48' - coroutines_version = '1.7.3' - activity_version = '1.7.2' - fragmentktx_version = '1.6.1' - ormLite_version = '4.46' - gson_version = '2.10.1' - nav_version = '2.7.3' - appcompat_version = '1.6.1' - material_version = '1.9.0' - gridlayout_version = '1.0.0' - constraintlayout_version = '2.1.4' - preferencektx_version = '1.2.1' - commonslang3_version = '3.13.0' - commonscodec_version = '1.16.0' - guava_version = '32.1.2-jre' - jodatime_version = '2.12.5' - work_version = '2.8.1' - tink_version = '1.10.0' - json_version = '20230618' - joda_version = '2.12.5' - swipe_version = '1.1.0' - - junit_version = '4.13.2' - junit_jupiter_version = '5.10.0' - mockito_version = '5.5.0' - dexmaker_version = '1.2' - retrofit2_version = '2.9.0' - okhttp3_version = '4.11.0' - byteBuddy_version = '1.12.8' - - androidx_junit_version = '1.1.5' - androidx_rules_version = '1.5.0' - - rxandroidble_version = '1.12.1' - replayshare_version = '2.2.0' - - wearable_version = '2.9.0' - play_services_wearable_version = '18.1.0' - play_services_location_version = '21.0.1' - play_services_measurement_version = '21.3.0' - - kotlinx_datetime_version = '0.4.1' - kotlinx_serialization_version = '1.6.0' - - caverock_androidsvg_version = '1.4' - } - repositories { - google() - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:8.1.1' - classpath 'com.google.gms:google-services:4.4.0' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' - - // 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 "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" - classpath "org.jacoco:org.jacoco.core:0.8.10" - classpath "com.vanniktech:gradle-dependency-graph-generator-plugin:0.8.0" - } -} - -plugins { - // Test Gradle build, keep disabled under normal circumstances - // id "com.osacky.doctor" version "0.8.1" - id "org.jlleitschuh.gradle.ktlint" version "11.6.0" - // Aggregates and/or logs Jacoco test coverage to the Gradle build log - //id 'org.barfuin.gradle.jacocolog' version '3.1.0' - id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false -} - -allprojects { - repositories { - google() - mavenCentral() - maven { url "https://maven.google.com" } - maven { url 'https://jitpack.io' } - } - tasks.withType(KotlinCompile).all { - kotlinOptions { - freeCompilerArgs = [ - '-opt-in=kotlin.RequiresOptIn', - '-Xjvm-default=all' //Support @JvmDefault - ] - jvmTarget = "11" - } - } - gradle.projectsEvaluated { - tasks.withType(JavaCompile) { - options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" - } - } - - apply plugin: 'org.jlleitschuh.gradle.ktlint' - apply plugin: 'jacoco' -} - -// Setup all al reports aggregation -apply from: 'jacoco_project.gradle' - -task clean(type: Delete) { - delete rootProject.buildDir -} - -subprojects { - tasks.withType(Test) { - maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000000..33ca1efc5d --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,117 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + // extra is duplicated to Versions here until full migration to kts + extra.apply { + set("kotlin_version", "1.9.10") + set("core_version", "1.12.0") + set("rxjava_version", "3.1.7") + set("rxandroid_version", "3.0.2") + set("rxkotlin_version", "3.0.1") + set("room_version", "2.5.2") + set("lifecycle_version", "2.6.2") + set("dagger_version", "2.48") + set("coroutines_version", "1.7.3") + set("activity_version", "1.7.2") + set("fragmentktx_version", "1.6.1") + set("ormLite_version", "4.46") + set("gson_version", "2.10.1") + set("nav_version", "2.7.3") + set("appcompat_version", "1.6.1") + set("material_version", "1.9.0") + set("gridlayout_version", "1.0.0") + set("constraintlayout_version", "2.1.4") + set("preferencektx_version", "1.2.1") + set("commonslang3_version", "3.13.0") + set("commonscodec_version", "1.16.0") + set("guava_version", "32.1.2-jre") + set("jodatime_version", "2.12.5") + set("work_version", "2.8.1") + set("tink_version", "1.10.0") + set("json_version", "20230618") + set("joda_version", "2.12.5") + set("swipe_version", "1.1.0") + + set("junit_version", "4.13.2") + set("junit_jupiter_version", "5.10.0") + set("mockito_version", "5.5.0") + set("dexmaker_version", "1.2") + set("retrofit2_version", "2.9.0") + set("okhttp3_version", "4.11.0") + set("byteBuddy_version", "1.12.8") + + set("androidx_junit_version", "1.1.5") + set("androidx_rules_version", "1.5.0") + + set("rxandroidble_version", "1.12.1") + set("replayshare_version", "2.2.0") + + set("wearable_version", "2.9.0") + set("play_services_wearable_version", "18.1.0") + set("play_services_location_version", "21.0.1") + set("play_services_measurement_version", "21.3.0") + + set("kotlinx_datetime_version", "0.4.1") + set("kotlinx_serialization_version", "1.6.0") + + set("caverock_androidsvg_version", "1.4") + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle:8.1.1") + classpath("com.google.gms:google-services:4.4.0") + classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.9") + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + + classpath(kotlin("gradle-plugin", version = Libs.Kotlin.kotlin)) + classpath(kotlin("allopen", version = Libs.Kotlin.kotlin)) + classpath(kotlin("serialization", version = Libs.Kotlin.kotlin)) + } +} + +plugins { + id("org.jlleitschuh.gradle.ktlint") version "11.6.0" + id("org.jetbrains.kotlin.android") version Libs.Kotlin.kotlin apply false +} + +allprojects { + repositories { + google() + mavenCentral() + maven("https://maven.google.com") + maven("https://jitpack.io") + } + tasks.withType { + kotlinOptions { + freeCompilerArgs = listOf( + "-opt-in=kotlin.RequiresOptIn", + "-Xjvm-default=all" //Support @JvmDefault + ) + jvmTarget = "11" + } + } + gradle.projectsEvaluated { + tasks.withType { + val compilerArgs = options.compilerArgs + compilerArgs.add("-Xlint:deprecation") + compilerArgs.add("-Xlint:unchecked") + } + } + + apply(plugin = "org.jlleitschuh.gradle.ktlint") + apply(plugin = "jacoco") +} + +// Setup all al reports aggregation +apply(from = "jacoco_project.gradle") + +tasks.register("clean").configure { + delete(rootProject.buildDir) +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000000..b22ed732fd --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + `kotlin-dsl` +} + +repositories { + mavenCentral() +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt new file mode 100644 index 0000000000..5c4a55b760 --- /dev/null +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -0,0 +1,69 @@ +@Suppress("SpellCheckingInspection") +object Libs { + + object Kotlin { + const val kotlin = "1.9.10" + + } + object AndroidX { + const val core = "androidx.core:core-ktx:1.12.0" + } + object Dagger { + private const val dagger = "2.48" + const val androidProcessor = "com.google.dagger:dagger-android-processor:$dagger" + const val compiler = "com.google.dagger:dagger-compiler:$dagger" + } + + object Rx { + const val rxDogTag = "com.uber.rxdogtag2:rxdogtag:2.0.2" + } + const val rxjava = "3.1.7" + const val rxandroid = "3.0.2" + const val rxkotlin = "3.0.1" + const val room = "2.5.2" + const val lifecycle = "2.6.2" + const val coroutines = "1.7.3" + const val activity = "1.7.2" + const val fragmentktx = "1.6.1" + const val ormLite = "4.46" + const val gson = "2.10.1" + const val nav = "2.7.3" + const val appcompat = "1.6.1" + const val material = "1.9.0" + const val gridlayout = "1.0.0" + const val constraintlayout = "2.1.4" + const val preferencektx = "1.2.1" + const val commonslang3 = "3.13.0" + const val commonscodec = "1.16.0" + const val guava = "32.1.2-jre" + const val jodatime = "2.12.5" + const val work = "2.8.1" + const val tink = "1.10.0" + const val json = "20230618" + const val joda = "2.12.5" + const val swipe = "1.1.0" + + const val junit = "4.13.2" + const val junit_jupiter = "5.10.0" + const val mockito = "5.5.0" + const val dexmaker = "1.2" + const val retrofit2 = "2.9.0" + const val okhttp3 = "4.11.0" + const val byteBuddy = "1.12.8" + + const val androidx_junit = "1.1.5" + const val androidx_rules = "1.5.0" + + const val rxandroidble = "1.12.1" + const val replayshare = "2.2.0" + + const val wearable = "2.9.0" + const val play_services_wearable = "18.1.0" + const val play_services_location = "21.0.1" + const val play_services_measurement = "21.3.0" + + const val kotlinx_datetime = "0.4.1" + const val kotlinx_serialization = "1.6.0" + + const val caverock_androidsvg = "1.4" +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt new file mode 100644 index 0000000000..a5e777638f --- /dev/null +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -0,0 +1,7 @@ +object Versions { + + const val appVersion = "3.2.0-dev-k" + const val versionCode = 1500 + + const val ndkVersion = "21.1.6352462" +} \ No newline at end of file diff --git a/core/graphview/build.gradle b/core/graphview/build.gradle deleted file mode 100644 index cf3075074d..0000000000 --- a/core/graphview/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - } - -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" - -android { - - namespace 'com.jjoe64.graphview' -} - -dependencies { - api "androidx.core:core-ktx:$core_version" -} \ No newline at end of file diff --git a/core/graphview/build.gradle.kts b/core/graphview/build.gradle.kts new file mode 100644 index 0000000000..390515fab8 --- /dev/null +++ b/core/graphview/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") +} + +apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") +apply(from = "${project.rootDir}/core/main/android_module_dependencies.gradle") + +android { + + namespace = "com.jjoe64.graphview" +} + +dependencies { + api(Libs.AndroidX.core) +} \ No newline at end of file From 1c6a6252d34b8f6ff5da09a645506b8833f846be Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 4 Oct 2023 09:55:54 +0200 Subject: [PATCH 02/39] :core:interfaces -> kts --- build.gradle.kts | 3 -- buildSrc/src/main/kotlin/Libs.kt | 58 +++++++++++++++++++++++++++----- core/interfaces/build.gradle | 54 ----------------------------- core/interfaces/build.gradle.kts | 52 ++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+), 65 deletions(-) delete mode 100644 core/interfaces/build.gradle create mode 100644 core/interfaces/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 33ca1efc5d..a5054adc2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,7 +24,6 @@ buildscript { set("gridlayout_version", "1.0.0") set("constraintlayout_version", "2.1.4") set("preferencektx_version", "1.2.1") - set("commonslang3_version", "3.13.0") set("commonscodec_version", "1.16.0") set("guava_version", "32.1.2-jre") set("jodatime_version", "2.12.5") @@ -51,12 +50,10 @@ buildscript { set("wearable_version", "2.9.0") set("play_services_wearable_version", "18.1.0") set("play_services_location_version", "21.0.1") - set("play_services_measurement_version", "21.3.0") set("kotlinx_datetime_version", "0.4.1") set("kotlinx_serialization_version", "1.6.0") - set("caverock_androidsvg_version", "1.4") } repositories { google() diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 5c4a55b760..5b65fb7495 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -2,21 +2,66 @@ object Libs { object Kotlin { + const val kotlin = "1.9.10" } - object AndroidX { - const val core = "androidx.core:core-ktx:1.12.0" + + object KotlinX { + + private const val serialization = "1.6.0" + + const val serializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization" + const val serializationProtobuf = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization" } + + object AndroidX { + + const val core = "androidx.core:core-ktx:1.12.0" + const val appCompat = "androidx.appcompat:appcompat:1.6.1" + const val preference = "androidx.preference:preference-ktx:1.2.1" + const val workRuntimeKtx = "androidx.work:work-runtime-ktx:2.8.1" + } + + object Google { + object PlayServices { + + const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.3.0" + } + } + object Dagger { - private const val dagger = "2.48" - const val androidProcessor = "com.google.dagger:dagger-android-processor:$dagger" - const val compiler = "com.google.dagger:dagger-compiler:$dagger" + + private const val version = "2.48" + const val dagger = "com.google.dagger:dagger:$version" + const val android = "com.google.dagger:dagger-android:$version" + const val androidProcessor = "com.google.dagger:dagger-android-processor:$version" + const val androidSupport = "com.google.dagger:dagger-android-support:$version" + const val compiler = "com.google.dagger:dagger-compiler:$version" } object Rx { + const val rxDogTag = "com.uber.rxdogtag2:rxdogtag:2.0.2" + const val rxJava = "io.reactivex.rxjava3:rxjava:3.1.7" + const val rxKotlin = "io.reactivex.rxjava3:rxkotlin:3.0.1" + const val rxAndroid = "io.reactivex.rxjava3:rxandroid:3.0.2" } + + object Apache { + + const val commonsLang3 = "org.apache.commons:commons-lang3:3.13.0" + } + + object Logging { + + const val slf4jApi = "org.slf4j:slf4j-api:1.7.36" // 2.0.x breaks logging. Code change needed + const val logbackAndroid = "com.github.tony19:logback-android:2.0.0" + } + + const val joda = "net.danlew:android.joda:2.12.5" + const val androidSvg = "com.caverock:androidsvg:1.4" + const val rxjava = "3.1.7" const val rxandroid = "3.0.2" const val rxkotlin = "3.0.1" @@ -28,7 +73,6 @@ object Libs { const val ormLite = "4.46" const val gson = "2.10.1" const val nav = "2.7.3" - const val appcompat = "1.6.1" const val material = "1.9.0" const val gridlayout = "1.0.0" const val constraintlayout = "2.1.4" @@ -36,11 +80,9 @@ object Libs { const val commonslang3 = "3.13.0" const val commonscodec = "1.16.0" const val guava = "32.1.2-jre" - const val jodatime = "2.12.5" const val work = "2.8.1" const val tink = "1.10.0" const val json = "20230618" - const val joda = "2.12.5" const val swipe = "1.1.0" const val junit = "4.13.2" diff --git a/core/interfaces/build.gradle b/core/interfaces/build.gradle deleted file mode 100644 index 23a82717bd..0000000000 --- a/core/interfaces/build.gradle +++ /dev/null @@ -1,54 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' - id 'kotlin-parcelize' - id 'kotlinx-serialization' -} - -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'app.aaps.core.interfaces' - defaultConfig { - minSdkVersion 26 // for wear - } -} - -dependencies { - implementation project(':database:entities') - - api "androidx.appcompat:appcompat:$appcompat_version" - api "androidx.preference:preference-ktx:$preferencektx_version" - api "net.danlew:android.joda:$joda_version" - - - api "com.google.dagger:dagger:$dagger_version" - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - //Logger - api 'org.slf4j:slf4j-api:1.7.36' // 2.0.x breaks logging. Code change needed - api 'com.github.tony19:logback-android:2.0.0' - - api "com.google.android.gms:play-services-measurement-api:$play_services_measurement_version" - - api "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_version" - api "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$kotlinx_serialization_version" - api "com.caverock:androidsvg:$caverock_androidsvg_version" - api "org.apache.commons:commons-lang3:$commonslang3_version" - - //RxBus - api "io.reactivex.rxjava3:rxjava:$rxjava_version" - api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version" - api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" - - // WorkerClasses - api "androidx.work:work-runtime-ktx:$work_version" -} \ No newline at end of file diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts new file mode 100644 index 0000000000..e6827cc56e --- /dev/null +++ b/core/interfaces/build.gradle.kts @@ -0,0 +1,52 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-allopen") + id("kotlin-parcelize") + id("kotlinx-serialization") +} + +apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") +apply(from = "${project.rootDir}/core/main/android_module_dependencies.gradle") +apply(from = "${project.rootDir}/core/main/allopen_dependencies.gradle") +apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + + namespace = "app.aaps.core.interfaces" + defaultConfig { + minSdk = 26 // for wear + } +} + +dependencies { + implementation(project(":database:entities")) + + api(Libs.AndroidX.appCompat) + api(Libs.AndroidX.preference) + api(Libs.joda) + + api(Libs.Dagger.androidSupport) + + //Logger + api(Libs.Logging.slf4jApi) + api(Libs.Logging.logbackAndroid) + + api(Libs.Google.PlayServices.measurementApi) + + api(Libs.KotlinX.serializationJson) + api(Libs.KotlinX.serializationProtobuf) + + api(Libs.androidSvg) + api(Libs.Apache.commonsLang3) + + //RxBus + api(Libs.Rx.rxJava) + api(Libs.Rx.rxKotlin) + api(Libs.Rx.rxAndroid) + + // WorkerClasses + api(Libs.AndroidX.workRuntimeKtx) +} \ No newline at end of file From 2c9ce060435d142e219a848fdf095c3df3ccbc2f Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 11 Oct 2023 14:19:56 +0200 Subject: [PATCH 03/39] build.gradle.kts :app, :core:libraries --- app/build.gradle | 279 ------------------ app/build.gradle.kts | 157 +++++----- app/src/main/kotlin/app/aaps/MainActivity.kt | 16 +- app/src/main/kotlin/app/aaps/MainApp.kt | 10 +- .../app/aaps/implementations/ConfigImpl.kt | 4 +- build.gradle.kts | 2 +- buildSrc/src/main/kotlin/Versions.kt | 2 +- .../{build.gradle => build.gradle.kts} | 2 +- 8 files changed, 103 insertions(+), 369 deletions(-) delete mode 100644 app/build.gradle rename core/libraries/{build.gradle => build.gradle.kts} (75%) diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index ba0cb9464c..0000000000 --- a/app/build.gradle +++ /dev/null @@ -1,279 +0,0 @@ -plugins { - id 'com.android.application' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' - id 'kotlinx-serialization' - id 'com.google.gms.google-services' - id 'com.google.firebase.crashlytics' -} - -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -repositories { - mavenCentral() - google() -} - -def generateGitBuild = { -> - StringBuilder stringBuilder = new StringBuilder() - try { - def stdout = new ByteArrayOutputStream() - exec { - commandLine 'git', 'describe', '--always' - standardOutput = stdout - } - String commitObject = stdout.toString().trim() - stringBuilder.append(commitObject) - } catch (ignored) { - stringBuilder.append('NoGitSystemAvailable') - } - return stringBuilder.toString() -} - -def generateGitRemote = { -> - StringBuilder stringBuilder = new StringBuilder() - try { - def stdout = new ByteArrayOutputStream() - exec { - commandLine 'git', 'remote', 'get-url', 'origin' - standardOutput = stdout - } - String commitObject = stdout.toString().trim() - stringBuilder.append(commitObject) - } catch (ignored) { - stringBuilder.append('NoGitSystemAvailable') - } - return stringBuilder.toString() -} - -def generateDate = { -> - StringBuilder stringBuilder = new StringBuilder() - // showing only date prevents app to rebuild everytime - stringBuilder.append((new Date()).format('yyyy.MM.dd')) - return stringBuilder.toString() -} - -def isMaster = { -> - return !version.contains('-') -} - -def gitAvailable = { -> - StringBuilder stringBuilder = new StringBuilder() - try { - def stdout = new ByteArrayOutputStream() - exec { - commandLine 'git', '--version' - standardOutput = stdout - } - String commitObject = stdout.toString().trim() - stringBuilder.append(commitObject) - } catch (ignored) { - return false // NoGitSystemAvailable - } - return !stringBuilder.toString().isEmpty() - -} - -def allCommitted = { -> - StringBuilder stringBuilder = new StringBuilder() - try { - def stdout = new ByteArrayOutputStream() - exec { - commandLine 'git', 'status', '-s' - standardOutput = stdout - } - // ignore all changes done in .idea/codeStyles - String cleanedList = stdout.toString().replaceAll(/(?m)^\s*(M|A|D|\?\?)\s*.*?\.idea\/codeStyles\/.*?\s*$/, "") - // ignore all files added to project dir but not staged/known to GIT - cleanedList = cleanedList.replaceAll(/(?m)^\s*(\?\?)\s*.*?\s*$/, "") - stringBuilder.append(cleanedList.trim()) - } catch (ignored) { - return false // NoGitSystemAvailable - } - return stringBuilder.toString().isEmpty() -} - -android { - - namespace 'app.aaps' - ndkVersion "21.1.6352462" - - defaultConfig { - multiDexEnabled true - versionCode 1500 - version "3.2.0-dev-m" - buildConfigField "String", "VERSION", '"' + version + '"' - buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' - buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' - buildConfigField "String", "HEAD", '"' + generateGitBuild() + '"' - buildConfigField "String", "COMMITTED", '"' + allCommitted() + '"' - - } - - flavorDimensions = ["standard"] - productFlavors { - full { - applicationId "info.nightscout.androidaps" - dimension "standard" - resValue "string", "app_name", "AAPS" - versionName version - manifestPlaceholders = [ - appIcon : "@mipmap/ic_launcher", - appIconRound: "@mipmap/ic_launcher_round" - ] - } - pumpcontrol { - applicationId "info.nightscout.aapspumpcontrol" - dimension "standard" - resValue "string", "app_name", "Pumpcontrol" - versionName version + "-pumpcontrol" - manifestPlaceholders = [ - appIcon : "@mipmap/ic_pumpcontrol", - appIconRound: "@null" - ] - } - aapsclient { - applicationId "info.nightscout.aapsclient" - dimension "standard" - resValue "string", "app_name", "AAPSClient" - versionName version + "-aapsclient" - manifestPlaceholders = [ - appIcon : "@mipmap/ic_yellowowl", - appIconRound: "@mipmap/ic_yellowowl" - ] - } - aapsclient2 { - applicationId "info.nightscout.aapsclient2" - dimension "standard" - resValue "string", "app_name", "AAPSClient2" - versionName version + "-aapsclient" - manifestPlaceholders = [ - appIcon : "@mipmap/ic_blueowl", - appIconRound: "@mipmap/ic_blueowl" - ] - } - } - - useLibrary "org.apache.http.legacy" - - dataBinding { //Deleting it causes a binding error - enabled = true - } -} - -allprojects { - repositories { - } -} - -dependencies { - wearApp project(':wear') - - // in order to use internet's versions you'd need to enable Jetifier again - // https://github.com/nightscout/graphview.git - // https://github.com/nightscout/iconify.git - implementation project(':shared:impl') - implementation project(':core:main') - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:libraries') - implementation project(':core:nssdk') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - implementation project(':ui') - implementation project(':plugins:aps') - implementation project(':plugins:automation') - implementation project(':plugins:configuration') - implementation project(':plugins:constraints') - implementation project(':plugins:insulin') - implementation project(':plugins:main') - implementation project(':plugins:sensitivity') - implementation project(':plugins:smoothing') - implementation project(':plugins:source') - implementation project(':plugins:sync') - implementation project(':implementation') - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':pump:combo') - implementation project(':pump:combov2') - implementation project(':pump:dana') - implementation project(':pump:danars') - implementation project(':pump:danar') - implementation project(':pump:diaconn') - implementation project(':pump:eopatch') - implementation project(':pump:medtrum') - implementation project(':insight') - implementation project(':pump:medtronic') - implementation project(':pump:pump-common') - implementation project(':pump:omnipod-common') - implementation project(':pump:omnipod-eros') - implementation project(':pump:omnipod-dash') - implementation project(':pump:rileylink') - implementation project(':pump:virtual') - implementation project(':workflow') - - testImplementation project(':shared:tests') - - implementation fileTree(include: ['*.jar'], dir: 'libs') - - /* Dagger2 - We are going to use dagger.android which includes - * support for Activity and fragment injection so we need to include - * the following dependencies */ - kapt "com.google.dagger:dagger-android-processor:$dagger_version" - kapt "com.google.dagger:dagger-compiler:$dagger_version" - - // MainApp - api "com.uber.rxdogtag2:rxdogtag:2.0.2" - -} - -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" - - -/* -// Run 'adb' shell command to clear application data of main app for 'debug' variant -task clearMainAppData(type: Exec) { - // we have to iterate to find the 'debug' variant to obtain a variant reference - android.applicationVariants.all { variant -> - if (variant.name == "fullDebug") { - def applicationId = [variant.mergedFlavor.applicationId, variant.buildType.applicationIdSuffix].findAll().join() - def clearDataCommand = ['adb', 'shell', 'pm', 'clear', applicationId] - println "Clearing application data of ${variant.name} variant: [${clearDataCommand}]" - def stdout = new ByteArrayOutputStream() - exec { - commandLine clearDataCommand - standardOutput = stdout - } - String result = stdout.toString().trim() - if (!result.startsWith("Success")) { - println result - throw new GradleException(clearDataCommand.join(" ")) - } - } - } -} -// Clear Application Data (once) before running instrumentation test -tasks.whenTaskAdded { task -> - // Both of these targets are equivalent today, although in future connectedCheck - // will also include connectedUiAutomatorTest (not implemented yet) - if(task.name == "connectedAndroidTest" || task.name == "connectedCheck"){ - task.dependsOn(clearMainAppData) - } -} -*/ - -printf('--------------\n') -printf('isMaster: %s\n', isMaster().toString()) -printf('gitAvailable: %s\n', gitAvailable().toString()) -printf('allCommitted: %s\n', allCommitted().toString()) -printf('--------------\n') -if (isMaster() && !gitAvailable()) { - throw new GradleException('GIT system is not available. On Windows try to run Android Studio as an Administrator. Check if GIT is installed and Studio have permissions to use it') -} -if (isMaster() && !allCommitted()) { - throw new GradleException('There are uncommitted changes. Clone sources again as described in wiki and do not allow gradle update') -} - diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 34cf8a4212..de2d0fc981 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -21,96 +21,104 @@ repositories { google() } -allOpen { - // allows mocking for classes w/o directly opening them for release builds - annotation("info.nightscout.androidaps.annotations.OpenForTesting") +fun generateGitBuild(): String { + val stringBuilder: StringBuilder = StringBuilder() + try { + val stdout = ByteArrayOutputStream() + exec { + commandLine("git", "describe", "--always") + standardOutput = stdout + } + val commitObject = stdout.toString().trim() + stringBuilder.append(commitObject) + } catch (ignored: Exception) { + stringBuilder.append("NoGitSystemAvailable") + } + return stringBuilder.toString() } -fun generateGitBuild(): String = +fun generateGitRemote(): String { + val stringBuilder: StringBuilder = StringBuilder() try { - ByteArrayOutputStream().let { - exec { - commandLine("git", "describe", "--always") - standardOutput = it - } - it.toString().trim() + val stdout = ByteArrayOutputStream() + exec { + commandLine("git", "remote", "get-url", "origin") + standardOutput = stdout } + val commitObject: String = stdout.toString().trim() + stringBuilder.append(commitObject) } catch (ignored: Exception) { - "NoGitSystemAvailable" + stringBuilder.append("NoGitSystemAvailable") } + return stringBuilder.toString() +} -fun generateGitRemote(): String = - try { - ByteArrayOutputStream().let { - exec { - commandLine("git", "remote", "get-url", "origin") - standardOutput = it - } - it.toString().trim() - } - } catch (ignored: Exception) { - "NoGitSystemAvailable" - } - -fun generateDate(): String = +fun generateDate(): String { + val stringBuilder: StringBuilder = StringBuilder() // showing only date prevents app to rebuild everytime - SimpleDateFormat("yyyy.MM.dd").format(Date()) + stringBuilder.append(SimpleDateFormat("yyyy.MM.dd").format(Date())) + return stringBuilder.toString() +} fun isMaster(): Boolean = !Versions.appVersion.contains("-") -fun gitAvailable(): Boolean = +fun gitAvailable(): Boolean { + val stringBuilder: StringBuilder = StringBuilder() try { - ByteArrayOutputStream().let { - exec { - commandLine("git", "--version") - standardOutput = it - } - it.toString().trim().isNotEmpty() + val stdout = ByteArrayOutputStream() + exec { + commandLine("git", "--version") + standardOutput = stdout } + val commitObject = stdout.toString().trim() + stringBuilder.append(commitObject) } catch (ignored: Exception) { - false // NoGitSystemAvailable + return false // NoGitSystemAvailable } + return !stringBuilder.toString().isEmpty() -fun allCommitted(): Boolean = +} + +fun allCommitted(): Boolean { + val stringBuilder: StringBuilder = StringBuilder() try { - ByteArrayOutputStream().let { - exec { - commandLine("git", "status", "-s") - standardOutput = it - } - it.toString() - // ignore all changes done in .idea/codeStyles - .replace(Regex("(?m)^\\s*(M|A|D|\\?\\?)\\s*.*?\\.idea\\/codeStyles\\/.*?\\s*$"), "") - // ignore all files added to project dir but not staged/known to GIT - .replace(Regex("(?m)^\\s*(\\?\\?)\\s*.*?\\s*$"), "") - .trim().isEmpty() + val stdout = ByteArrayOutputStream() + exec { + commandLine("git", "status", "-s") + standardOutput = stdout } + // ignore all changes done in .idea/codeStyles + val cleanedList: String = stdout.toString().replace("/(?m)^\\s*(M|A|D|\\?\\?)\\s*.*?\\.idea\\/codeStyles\\/.*?\\s*\$/", "") + // ignore all files added to project dir but not staged/known to GIT + .replace("/(?m)^\\s*(\\?\\?)\\s*.*?\\s*\$/", "") + stringBuilder.append(cleanedList.trim()) } catch (ignored: Exception) { - false // NoGitSystemAvailable + return false // NoGitSystemAvailable } + return stringBuilder.toString().isEmpty() +} android { - namespace = "info.nightscout.androidaps" + namespace = "app.aaps" ndkVersion = Versions.ndkVersion defaultConfig { multiDexEnabled = true versionCode = Versions.versionCode version = Versions.appVersion - buildConfigField("String", "VERSION", "\"" + Versions.appVersion + "\"") - buildConfigField("String", "BUILDVERSION", "\"" + generateGitBuild() + "-" + generateDate() + "\"") - buildConfigField("String", "REMOTE", "\"" + generateGitRemote() + "\"") - buildConfigField("String", "HEAD", "\"" + generateGitBuild() + "\"") - buildConfigField("Boolean", "COMMITTED", allCommitted().toString()) + buildConfigField("String", "VERSION", "\"$version\"") + buildConfigField("String", "BUILDVERSION", "\"${generateGitBuild()}-${generateDate()}\"") + buildConfigField("String", "REMOTE", "\"${generateGitRemote()}\"") + buildConfigField("String", "HEAD", "\"${generateGitBuild()}\"") + buildConfigField("String", "COMMITTED", "\"${allCommitted()}\"") } - val dim = "standard" - flavorDimensions.add(dim) + flavorDimensions.add("standard") productFlavors { create("full") { applicationId = "info.nightscout.androidaps" - dimension = dim + dimension = "standard" resValue("string", "app_name", "AAPS") versionName = Versions.appVersion manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" @@ -118,7 +126,7 @@ android { } create("pumpcontrol") { applicationId = "info.nightscout.aapspumpcontrol" - dimension = dim + dimension = "standard" resValue("string", "app_name", "Pumpcontrol") versionName = Versions.appVersion + "-pumpcontrol" manifestPlaceholders["appIcon"] = "@mipmap/ic_pumpcontrol" @@ -126,7 +134,7 @@ android { } create("aapsclient") { applicationId = "info.nightscout.aapsclient" - dimension = dim + dimension = "standard" resValue("string", "app_name", "AAPSClient") versionName = Versions.appVersion + "-aapsclient" manifestPlaceholders["appIcon"] = "@mipmap/ic_yellowowl" @@ -134,7 +142,7 @@ android { } create("aapsclient2") { applicationId = "info.nightscout.aapsclient2" - dimension = dim + dimension = "standard" resValue("string", "app_name", "AAPSClient2") versionName = Versions.appVersion + "-aapsclient" manifestPlaceholders["appIcon"] = "@mipmap/ic_blueowl" @@ -142,23 +150,29 @@ android { } } - dataBinding { //Deleting it causes a binding error - enable = true + useLibrary("org.apache.http.legacy") + + //Deleting it causes a binding error + dataBinding { enable } +} + +allprojects { + repositories { } } dependencies { + wearApp(project(":wear")) + // in order to use internet"s versions you"d need to enable Jetifier again // https://github.com/nightscout/graphview.git // https://github.com/nightscout/iconify.git - implementation(project(":app-wear-shared:shared")) - implementation(project(":app-wear-shared:shared-impl")) + implementation(project(":shared:impl")) implementation(project(":core:main")) - implementation(project(":core:graph")) implementation(project(":core:graphview")) implementation(project(":core:interfaces")) implementation(project(":core:libraries")) - implementation(project(":core:ns-sdk")) + implementation(project(":core:nssdk")) implementation(project(":core:utils")) implementation(project(":core:ui")) implementation(project(":core:validators")) @@ -187,7 +201,6 @@ dependencies { implementation(project(":insight")) implementation(project(":pump:medtronic")) implementation(project(":pump:pump-common")) - implementation(project(":pump:pump-core")) implementation(project(":pump:omnipod-common")) implementation(project(":pump:omnipod-eros")) implementation(project(":pump:omnipod-dash")) @@ -195,31 +208,31 @@ dependencies { implementation(project(":pump:virtual")) implementation(project(":workflow")) - testImplementation(project(":app-wear-shared:shared-tests")) + testImplementation(project(":shared:tests")) - //implementation fileTree(include = listOf("*.jar"), dir = "libs") +// implementation(fileTree (include: listOf("*.jar"), dir = "libs")) /* Dagger2 - We are going to use dagger.android which includes * support for Activity and fragment injection so we need to include * the following dependencies */ - kapt(Libs.Dagger.androidProcesssor) + kapt(Libs.Dagger.androidProcessor) kapt(Libs.Dagger.compiler) // MainApp api(Libs.Rx.rxDogTag) - } apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") -println("--------------") +println("-------------------") println("isMaster: ${isMaster()}") println("gitAvailable: ${gitAvailable()}") println("allCommitted: ${allCommitted()}") -println("--------------") +println("-------------------") if (isMaster() && !gitAvailable()) { throw GradleException("GIT system is not available. On Windows try to run Android Studio as an Administrator. Check if GIT is installed and Studio have permissions to use it") } if (isMaster() && !allCommitted()) { throw GradleException("There are uncommitted changes. Clone sources again as described in wiki and do not allow gradle update") } + diff --git a/app/src/main/kotlin/app/aaps/MainActivity.kt b/app/src/main/kotlin/app/aaps/MainActivity.kt index 735d4699cf..b5296ab7c4 100644 --- a/app/src/main/kotlin/app/aaps/MainActivity.kt +++ b/app/src/main/kotlin/app/aaps/MainActivity.kt @@ -205,7 +205,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { } R.id.nav_about -> { - var message = "Build: ${BuildConfig.BUILDVERSION}\n" + var message = "Build: ${config.BUILD_VERSION}\n" message += "Flavor: ${BuildConfig.FLAVOR}${BuildConfig.BUILD_TYPE}\n" message += "${rh.gs(app.aaps.plugins.configuration.R.string.configbuilder_nightscoutversion_label)} ${activePlugin.activeNsClient?.detectedNsVersion() ?: rh.gs(app.aaps.plugins.main.R.string.not_available_full)}" if (config.isEngineeringMode()) message += "\n${rh.gs(app.aaps.plugins.configuration.R.string.engineering_mode_enabled)}" @@ -215,7 +215,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { val messageSpanned = SpannableString(message) Linkify.addLinks(messageSpanned, Linkify.WEB_URLS) MaterialAlertDialogBuilder(this@MainActivity, app.aaps.core.ui.R.style.DialogTheme) - .setTitle(rh.gs(R.string.app_name) + " " + BuildConfig.VERSION) + .setTitle(rh.gs(R.string.app_name) + " " + config.VERSION) .setIcon(iconsProvider.getIcon()) .setMessage(messageSpanned) .setPositiveButton(rh.gs(app.aaps.core.ui.R.string.ok), null) @@ -448,16 +448,16 @@ class MainActivity : DaggerAppCompatActivityWithResult() { if (!fabricPrivacy.fabricEnabled()) return val closedLoopEnabled = if (constraintChecker.isClosedLoopAllowed().value()) "CLOSED_LOOP_ENABLED" else "CLOSED_LOOP_DISABLED" // Size is limited to 36 chars - val remote = BuildConfig.REMOTE.lowercase(Locale.getDefault()) + val remote = config.REMOTE.lowercase(Locale.getDefault()) .replace("https://", "") .replace("http://", "") .replace(".git", "") .replace(".com/", ":") .replace(".org/", ":") .replace(".net/", ":") - fabricPrivacy.firebaseAnalytics.setUserProperty("Mode", BuildConfig.APPLICATION_ID + "-" + closedLoopEnabled) + fabricPrivacy.firebaseAnalytics.setUserProperty("Mode", config.APPLICATION_ID + "-" + closedLoopEnabled) fabricPrivacy.firebaseAnalytics.setUserProperty("Language", sp.getString(app.aaps.core.ui.R.string.key_language, Locale.getDefault().language)) - fabricPrivacy.firebaseAnalytics.setUserProperty("Version", BuildConfig.VERSION) + fabricPrivacy.firebaseAnalytics.setUserProperty("Version", config.VERSION_NAME) fabricPrivacy.firebaseAnalytics.setUserProperty("HEAD", BuildConfig.HEAD) fabricPrivacy.firebaseAnalytics.setUserProperty("Remote", remote) val hashes: List = signatureVerifierPlugin.shortHashes() @@ -471,9 +471,9 @@ class MainActivity : DaggerAppCompatActivityWithResult() { activePlugin.activeInsulin.let { fabricPrivacy.firebaseAnalytics.setUserProperty("Insulin", it::class.java.simpleName) } // Add to crash log too FirebaseCrashlytics.getInstance().setCustomKey("HEAD", BuildConfig.HEAD) - FirebaseCrashlytics.getInstance().setCustomKey("Version", BuildConfig.VERSION) - FirebaseCrashlytics.getInstance().setCustomKey("BuildType", BuildConfig.BUILD_TYPE) - FirebaseCrashlytics.getInstance().setCustomKey("BuildFlavor", BuildConfig.FLAVOR) + FirebaseCrashlytics.getInstance().setCustomKey("Version", config.VERSION_NAME) + FirebaseCrashlytics.getInstance().setCustomKey("BuildType", config.BUILD_TYPE) + FirebaseCrashlytics.getInstance().setCustomKey("BuildFlavor", config.FLAVOR) FirebaseCrashlytics.getInstance().setCustomKey("Remote", remote) FirebaseCrashlytics.getInstance().setCustomKey("Committed", BuildConfig.COMMITTED) FirebaseCrashlytics.getInstance().setCustomKey("Hash", hashes[0]) diff --git a/app/src/main/kotlin/app/aaps/MainApp.kt b/app/src/main/kotlin/app/aaps/MainApp.kt index ec13f49f43..ae14a5a51e 100644 --- a/app/src/main/kotlin/app/aaps/MainApp.kt +++ b/app/src/main/kotlin/app/aaps/MainApp.kt @@ -100,7 +100,7 @@ class MainApp : DaggerApplication() { setRxErrorHandler() LocaleHelper.update(this@MainApp) - var gitRemote: String? = BuildConfig.REMOTE + var gitRemote: String? = config.REMOTE var commitHash: String? = BuildConfig.HEAD if (gitRemote?.contains("NoGitSystemAvailable") == true) { gitRemote = null @@ -109,9 +109,9 @@ class MainApp : DaggerApplication() { disposable += compatDBHelper.dbChangeDisposable() registerActivityLifecycleCallbacks(activityMonitor) runOnUiThread { themeSwitcherPlugin.setThemeMode() } - aapsLogger.debug("Version: " + BuildConfig.VERSION_NAME) - aapsLogger.debug("BuildVersion: " + BuildConfig.BUILDVERSION) - aapsLogger.debug("Remote: " + BuildConfig.REMOTE) + aapsLogger.debug("Version: " + config.VERSION_NAME) + aapsLogger.debug("BuildVersion: " + config.BUILD_VERSION) + aapsLogger.debug("Remote: " + config.REMOTE) registerLocalBroadcastReceiver() // trigger here to see the new version on app start after an update @@ -128,7 +128,7 @@ class MainApp : DaggerApplication() { if (config.isDev() && sp.getStringOrNull(app.aaps.core.utils.R.string.key_email_for_crash_report, null).isNullOrBlank()) notificationStore.add(Notification(Notification.IDENTIFICATION_NOT_SET, rh.get().gs(R.string.identification_not_set), Notification.INFO)) // log version - disposable += repository.runTransaction(VersionChangeTransaction(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE, gitRemote, commitHash)).subscribe() + disposable += repository.runTransaction(VersionChangeTransaction(config.VERSION_NAME, BuildConfig.VERSION_CODE, gitRemote, commitHash)).subscribe() // log app start if (sp.getBoolean(app.aaps.plugins.sync.R.string.key_ns_log_app_started_event, config.APS)) disposable += repository diff --git a/app/src/main/kotlin/app/aaps/implementations/ConfigImpl.kt b/app/src/main/kotlin/app/aaps/implementations/ConfigImpl.kt index 7102b9ab80..4d0f1cbc1e 100644 --- a/app/src/main/kotlin/app/aaps/implementations/ConfigImpl.kt +++ b/app/src/main/kotlin/app/aaps/implementations/ConfigImpl.kt @@ -47,8 +47,8 @@ class ConfigImpl @Inject constructor( engineeringMode = engineeringModeSemaphore.exists() && engineeringModeSemaphore.isFile unfinishedMode = unfinishedModeSemaphore.exists() && unfinishedModeSemaphore.isFile - devBranch = BuildConfig.VERSION.contains("-") || BuildConfig.VERSION.matches(Regex(".*[a-zA-Z]+.*")) - if (BuildConfig.VERSION.contains("-beta") || BuildConfig.VERSION.contains("-rc")) + devBranch = VERSION.contains("-") || VERSION.matches(Regex(".*[a-zA-Z]+.*")) + if (VERSION.contains("-beta") || VERSION.contains("-rc")) devBranch = false } diff --git a/build.gradle.kts b/build.gradle.kts index 81b1523444..11d67c79fe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -60,7 +60,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.1.1") + classpath("com.android.tools.build:gradle:8.1.2") classpath("com.google.gms:google-services:4.4.0") classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.9") diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index a5e777638f..09f425e9d0 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,6 +1,6 @@ object Versions { - const val appVersion = "3.2.0-dev-k" + const val appVersion = "3.2.0-dev-m" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" diff --git a/core/libraries/build.gradle b/core/libraries/build.gradle.kts similarity index 75% rename from core/libraries/build.gradle rename to core/libraries/build.gradle.kts index 14c29c3764..6a9a29cd50 100644 --- a/core/libraries/build.gradle +++ b/core/libraries/build.gradle.kts @@ -1,4 +1,4 @@ // in order to use internet's versions you'd need to enable Jetifier again // https://github.com/nightscout/iconify.git configurations.create("default") -artifacts.add("default", file('libs/iconify.aar')) \ No newline at end of file +artifacts.add("default", file("libs/iconify.aar")) \ No newline at end of file From dd97492be2b3ef7e944ff6c57595ec038595d30f Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 12 Oct 2023 13:58:17 +0200 Subject: [PATCH 04/39] android-module-dependecies.kts --- app/build.gradle.kts | 6 +- build.gradle.kts | 1 - buildSrc/build.gradle.kts | 15 ++++ buildSrc/src/main/kotlin/Libs.kt | 3 - buildSrc/src/main/kotlin/Versions.kt | 8 +++ .../android-module-dependencies.gradle.kts | 70 +++++++++++++++++++ core/graphview/build.gradle.kts | 3 +- core/interfaces/build.gradle.kts | 5 +- 8 files changed, 99 insertions(+), 12 deletions(-) create mode 100644 buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts diff --git a/app/build.gradle.kts b/app/build.gradle.kts index de2d0fc981..41e63f196b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -15,6 +15,8 @@ plugins { apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") +apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") + repositories { mavenCentral() @@ -75,7 +77,7 @@ fun gitAvailable(): Boolean { } catch (ignored: Exception) { return false // NoGitSystemAvailable } - return !stringBuilder.toString().isEmpty() + return stringBuilder.toString().isNotEmpty() } @@ -222,8 +224,6 @@ dependencies { api(Libs.Rx.rxDogTag) } -apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") - println("-------------------") println("isMaster: ${isMaster()}") println("gitAvailable: ${gitAvailable()}") diff --git a/build.gradle.kts b/build.gradle.kts index 11d67c79fe..fc3d29062d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -75,7 +75,6 @@ buildscript { plugins { id("org.jlleitschuh.gradle.ktlint") version "11.6.1" - id("org.jetbrains.kotlin.android") version Libs.Kotlin.kotlin apply false } allprojects { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index b22ed732fd..9984355b5f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,7 +1,22 @@ +object KtsBuildVersions { + + const val gradle = "8.1.2" + const val kotlin = "1.9.0" +} + plugins { `kotlin-dsl` + `kotlin-dsl-precompiled-script-plugins` } repositories { + google() mavenCentral() + gradlePluginPortal() +} + +dependencies { + implementation("com.android.tools.build:gradle:${KtsBuildVersions.gradle}") +// implementation("com.android.tools.build:gradle-api:${KtsBuildVersions.gradle}") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${KtsBuildVersions.kotlin}") } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index f4d4515c51..1980828178 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -62,9 +62,6 @@ object Libs { const val joda = "net.danlew:android.joda:2.12.5" const val androidSvg = "com.caverock:androidsvg:1.4" - const val rxjava = "3.1.7" - const val rxandroid = "3.0.2" - const val rxkotlin = "3.0.1" const val room = "2.5.2" const val lifecycle = "2.6.2" const val coroutines = "1.7.3" diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 09f425e9d0..6c93da38e7 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,7 +1,15 @@ +import org.gradle.api.JavaVersion + object Versions { const val appVersion = "3.2.0-dev-m" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" + + const val compileSdk = 34 + const val minSdk = 28 + const val wearMinSdk = 26 + + val javaVersion = JavaVersion.VERSION_11 } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts new file mode 100644 index 0000000000..5747f3fc2d --- /dev/null +++ b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts @@ -0,0 +1,70 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") +} + +android { + compileSdk = Versions.compileSdk + defaultConfig { + minSdk = 28 + @Suppress("DEPRECATION") + targetSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildFeatures { + viewBinding = true + } + + buildTypes { + named("release") { + isMinifyEnabled = false + setProguardFiles(listOf(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")) + } + } + + sourceSets { + named("main") { + jniLibs.srcDirs(listOf("src/main/jniLibs")) + } + } + + compileOptions { + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion + } + + lint { + checkReleaseBuilds = false + disable += "MissingTranslation" + disable += "ExtraTranslation" + } + + flavorDimensions.add("standard") + productFlavors { + create("full") { + dimension = "standard" + } + create("pumpcontrol") { + dimension = "standard" + } + create("aapsclient") { + dimension = "standard" + } + create("aapsclient2") { + dimension = "standard" + } + } + + // disable for modules here + buildFeatures { + buildConfig = false + } +} + +dependencies { + kapt(Libs.Dagger.androidProcessor) + kapt(Libs.Dagger.compiler) +} diff --git a/core/graphview/build.gradle.kts b/core/graphview/build.gradle.kts index 390515fab8..256ed30a16 100644 --- a/core/graphview/build.gradle.kts +++ b/core/graphview/build.gradle.kts @@ -2,10 +2,9 @@ plugins { id("com.android.library") id("kotlin-android") id("kotlin-kapt") + id("android-module-dependencies") } -apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") -apply(from = "${project.rootDir}/core/main/android_module_dependencies.gradle") android { diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index e6827cc56e..32c1304303 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -5,10 +5,9 @@ plugins { id("kotlin-allopen") id("kotlin-parcelize") id("kotlinx-serialization") + id("android-module-dependencies") } -apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") -apply(from = "${project.rootDir}/core/main/android_module_dependencies.gradle") apply(from = "${project.rootDir}/core/main/allopen_dependencies.gradle") apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") @@ -17,7 +16,7 @@ android { namespace = "app.aaps.core.interfaces" defaultConfig { - minSdk = 26 // for wear + minSdk = Versions.wearMinSdk // for wear } } From 0084ca06a18b798d8fbb33ac80ab436e3b9518c1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 14 Oct 2023 19:49:48 +0200 Subject: [PATCH 05/39] all-open-dependecies -> kts --- buildSrc/build.gradle.kts | 4 ++-- .../src/main/kotlin/all-open-dependencies.gradle.kts | 12 ++++++++++++ core/interfaces/build.gradle.kts | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 9984355b5f..c7ac53bd42 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -17,6 +17,6 @@ repositories { dependencies { implementation("com.android.tools.build:gradle:${KtsBuildVersions.gradle}") -// implementation("com.android.tools.build:gradle-api:${KtsBuildVersions.gradle}") - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${KtsBuildVersions.kotlin}") + implementation(kotlin("gradle-plugin", version = KtsBuildVersions.kotlin)) + implementation(kotlin("allopen", version = KtsBuildVersions.kotlin)) } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts b/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts new file mode 100644 index 0000000000..756dbced71 --- /dev/null +++ b/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts @@ -0,0 +1,12 @@ + +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-allopen") +} + +allOpen { + // allows mocking for classes w/o directly opening them for release builds + annotation("app.aaps.annotations.OpenForTesting") +} diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index 32c1304303..5efa25c7de 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -2,13 +2,13 @@ plugins { id("com.android.library") id("kotlin-android") id("kotlin-kapt") - id("kotlin-allopen") + //id("kotlin-allopen") id("kotlin-parcelize") id("kotlinx-serialization") id("android-module-dependencies") + id("all-open-dependencies") } -apply(from = "${project.rootDir}/core/main/allopen_dependencies.gradle") apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") From 483a7549fa317817cf813d2e6a6249b250a5d94b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 14 Oct 2023 23:24:34 +0200 Subject: [PATCH 06/39] test-dependecies -> kts --- build.gradle.kts | 1 + buildSrc/src/main/kotlin/Libs.kt | 31 +++++++++-- .../main/kotlin/test-dependencies.gradle.kts | 53 +++++++++++++++++++ core/interfaces/build.gradle.kts | 2 +- 4 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 buildSrc/src/main/kotlin/test-dependencies.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index fc3d29062d..fc4adaefeb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -88,6 +88,7 @@ allprojects { kotlinOptions { freeCompilerArgs = listOf( "-opt-in=kotlin.RequiresOptIn", + "-opt-in=kotlin.ExperimentalUnsignedTypes", "-Xjvm-default=all" //Support @JvmDefault ) jvmTarget = "11" diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 1980828178..20830f53dc 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -5,6 +5,7 @@ object Libs { const val kotlin = "1.9.10" + const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin" } object KotlinX { @@ -21,6 +22,14 @@ object Libs { const val appCompat = "androidx.appcompat:appcompat:1.6.1" const val preference = "androidx.preference:preference-ktx:1.2.1" const val workRuntimeKtx = "androidx.work:work-runtime-ktx:2.8.1" + + object Test { + + const val espressoCore = "androidx.test.espresso:espresso-core:3.5.1" + const val extKtx = "androidx.test.ext:junit-ktx:1.1.5" + const val rules = "androidx.test:rules:1.5.0" + const val uiAutomator = "androidx.test.uiautomator:uiautomator:2.2.0" + } } object Google { @@ -28,6 +37,8 @@ object Libs { const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.3.0" } + + const val truth = "com.google.truth:truth:1.1.5" } object Dagger { @@ -59,8 +70,24 @@ object Libs { const val logbackAndroid = "com.github.tony19:logback-android:2.0.0" } - const val joda = "net.danlew:android.joda:2.12.5" + object JUnit { + + private const val junitVersion = "5.10.0" + + const val jupiter = "org.junit.jupiter:junit-jupiter:$junitVersion" + const val jupiterApi = "org.junit.jupiter:junit-jupiter-api:$junitVersion" + } + + object Mockito { + + const val jupiter = "org.mockito:mockito-junit-jupiter:5.6.0" + const val kotlin = "org.mockito.kotlin:mockito-kotlin:5.1.0" + } + const val androidSvg = "com.caverock:androidsvg:1.4" + const val joda = "net.danlew:android.joda:2.12.5" + const val json = "org.json:json:20230618" + const val jsonAssert = "org.skyscreamer:jsonassert:1.5.0" const val room = "2.5.2" const val lifecycle = "2.6.2" @@ -79,11 +106,9 @@ object Libs { const val guava = "32.1.3-jre" const val work = "2.8.1" const val tink = "1.10.0" - const val json = "20230618" const val swipe = "1.1.0" const val junit = "4.13.2" - const val junit_jupiter = "5.10.0" const val mockito = "5.6.0" const val dexmaker = "1.2" const val retrofit2 = "2.9.0" diff --git a/buildSrc/src/main/kotlin/test-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-dependencies.gradle.kts new file mode 100644 index 0000000000..78272f8852 --- /dev/null +++ b/buildSrc/src/main/kotlin/test-dependencies.gradle.kts @@ -0,0 +1,53 @@ +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLogEvent + +plugins { + id("com.android.library") + id("kotlin-android") +} + +dependencies { + testImplementation(Libs.Kotlin.test) + testImplementation(Libs.JUnit.jupiter) + testImplementation(Libs.JUnit.jupiterApi) + testImplementation(Libs.json) + testImplementation(Libs.Mockito.jupiter) + testImplementation(Libs.Mockito.kotlin) + testImplementation(Libs.joda) + testImplementation(Libs.Google.truth) + testImplementation(Libs.jsonAssert) + + androidTestImplementation(Libs.AndroidX.Test.espressoCore) + androidTestImplementation(Libs.AndroidX.Test.extKtx) + androidTestImplementation(Libs.AndroidX.Test.rules) + //androidTestImplementation(Libs.AndroidX.Test.uiAutomator) +} + +tasks.withType { + // use to display stdout in travis + testLogging { + // set options for log level LIFECYCLE + events = setOf( + TestLogEvent.FAILED, + TestLogEvent.STARTED, + TestLogEvent.SKIPPED, + TestLogEvent.STANDARD_OUT + ) + exceptionFormat = TestExceptionFormat.FULL + useJUnitPlatform() + } +} + +tasks.withType().configureEach { + maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1) + forkEvery = 20 +} + +android { + testOptions { + unitTests { + isReturnDefaultValues = true + isIncludeAndroidResources = true + } + } +} diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index 5efa25c7de..23340e5179 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -7,9 +7,9 @@ plugins { id("kotlinx-serialization") id("android-module-dependencies") id("all-open-dependencies") + id("test-dependencies") } -apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") android { From 5af396b5b0d9320200a5b66dc4dda622d133cb29 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 10:40:20 +0200 Subject: [PATCH 07/39] jacoco_project -> jacoco_aggregation.gradle.kts --- build.gradle.kts | 4 +- jacoco_aggregation.gradle.kts | 83 ++++++++++++++++++++++++++++++++++ jacoco_project.gradle | 84 ----------------------------------- 3 files changed, 85 insertions(+), 86 deletions(-) create mode 100644 jacoco_aggregation.gradle.kts delete mode 100644 jacoco_project.gradle diff --git a/build.gradle.kts b/build.gradle.kts index fc4adaefeb..52e9b87629 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -106,8 +106,8 @@ allprojects { apply(plugin = "jacoco") } -// Setup all al reports aggregation -apply(from = "jacoco_project.gradle") +// Setup all reports aggregation +apply(from = "jacoco_aggregation.gradle.kts") tasks.register("clean").configure { delete(rootProject.buildDir) diff --git a/jacoco_aggregation.gradle.kts b/jacoco_aggregation.gradle.kts new file mode 100644 index 0000000000..ea514f4779 --- /dev/null +++ b/jacoco_aggregation.gradle.kts @@ -0,0 +1,83 @@ +apply(plugin = "jacoco") + +project.afterEvaluate { + val variants = listOf("debug", "fullDebug") + + tasks.register(name = "jacocoAllDebugReport") { + + group = "Reporting" + description = "Generate overall Jacoco coverage report for the debug build." + + reports { + html.required.set(true) + xml.required.set(true) + } + + val excludes = listOf( + "**/di/*Module.class", + "**/di/*Component.class", + "**/com/jjoe64/**/*.*", + "**/R.class", + "**/R$*.class", + "**/BuildConfig.*", + "**/Manifest*.*", + "**/*Test*.*", + "android/**/*.*", + "androidx/**/*.*", + "**/*\$ViewInjector*.*", + "**/*Dagger*.*", + "**/*MembersInjector*.*", + "**/*_Factory.*", + "**/*_Provide*Factory*.*", + "**/*_ViewBinding*.*", + "**/AutoValue_*.*", + "**/R2.class", + "**/R2$*.class", + "**/*Directions$*", + "**/*Directions.*", + "**/*Binding.*", + "**/BR.class" + ) + + val classesDirectories = mutableListOf().also { + subprojects.forEach { proj -> + variants.forEach { variant -> + it.add("${proj.buildDir}/intermediates/javac/$variant/classes") + it.add("${proj.buildDir}/tmp/kotlin-classes/$variant") + } + } + } + + val classes = HashSet().also { + classesDirectories.forEach { path -> + it.add(fileTree(path) { exclude(excludes) }) + } + } + + classDirectories.setFrom(files(listOf(classes))) + + val sources = mutableListOf().also { + subprojects.forEach { proj -> + variants.forEach { variant -> + it.add("${proj.projectDir}/src/main/java") + it.add("${proj.projectDir}/src/main/kotlin") + it.add("${proj.projectDir}/src/$variant/java") + it.add("${proj.projectDir}/src/$variant/kotlin") + } + } + } + sourceDirectories.setFrom(files(sources)) + + val executions = mutableListOf().also { + subprojects.forEach { proj -> + variants.forEach { variant -> + val path = "${proj.buildDir}/outputs/unit_test_code_coverage/${variant}UnitTest/test${variant.replaceFirstChar(Char::titlecase)}UnitTest.exec" + // printf("Collecting execution data from: %s\n", path) + if ((File(path)).exists()) it.add(path) + } + } + } + + executionData.setFrom(files(executions)) + } +} diff --git a/jacoco_project.gradle b/jacoco_project.gradle deleted file mode 100644 index eafbc72525..0000000000 --- a/jacoco_project.gradle +++ /dev/null @@ -1,84 +0,0 @@ -apply plugin: 'jacoco' - -jacoco { - toolVersion '0.8.10' -} - -project.afterEvaluate { - def variants = ["debug", "fullDebug"] - - tasks.create(name: "jacocoAllDebugReport", type: JacocoReport) { - - group = "Reporting" - description = "Generate overall Jacoco coverage report for the debug build." - - reports { - html.required.set(true) - xml.required.set(true) - } - - def excludes = [ - '**/di/*Module.class', - '**/di/*Component.class', - '**/com/jjoe64/**/*.*', - '**/R.class', - '**/R$*.class', - '**/BuildConfig.*', - '**/Manifest*.*', - '**/*Test*.*', - 'android/**/*.*', - 'androidx/**/*.*', - '**/*$ViewInjector*.*', - '**/*Dagger*.*', - '**/*MembersInjector*.*', - '**/*_Factory.*', - '**/*_Provide*Factory*.*', - '**/*_ViewBinding*.*', - '**/AutoValue_*.*', - '**/R2.class', - '**/R2$*.class', - '**/*Directions$*', - '**/*Directions.*', - '**/*Binding.*', - '**/BR.class' - ] - - def jClasses = subprojects.collect { proj -> - variants.collect { variant -> - "${proj.buildDir}/intermediates/javac/$variant/classes" - } - }.flatten() - def kClasses = subprojects.collect { proj -> - variants.collect { variant -> - "${proj.buildDir}/tmp/kotlin-classes/$variant" - } - }.flatten() - - def javaClasses = jClasses.collect { path -> - fileTree(dir: path, excludes: excludes) - } - def kotlinClasses = kClasses.collect { path -> - fileTree(dir: path, excludes: excludes) - } - - classDirectories.from = files([javaClasses, kotlinClasses]) - def sources = subprojects.collect { proj -> - variants.collect { variant -> - ["${proj.projectDir}/src/main/java", "${proj.projectDir}/src/main/kotlin", - "${proj.projectDir}/src/$variant/java", "${proj.projectDir}/src/$variant/kotlin"] - }.flatten() - }.flatten() - sourceDirectories.from = files(sources) - - def executions = subprojects.collect { proj -> - variants.collect { variant -> - def path = "${proj.buildDir}/outputs/unit_test_code_coverage/${variant}UnitTest/test${variant.capitalize()}UnitTest.exec" - // printf('Collecting execution data from: %s\n', path) - if ((new File(path)).exists()) path else null - } - }.flatten() - executions.removeAll([null]) - - executionData.from = files(executions) - } -} From 2a782fa266171fe3c62a395bdf437975adbec0ed Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 11:43:07 +0200 Subject: [PATCH 08/39] android_dependecies -> android-app-dependencies.gradle.kts --- app/build.gradle.kts | 2 +- .../android-app-dependencies.gradle.kts | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 85d25d1d60..c34c6918c9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,9 +11,9 @@ plugins { id("kotlinx-serialization") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") + id("android-app-dependencies") } -apply(from = "${project.rootDir}/core/main/android_dependencies.gradle") apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") diff --git a/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts new file mode 100644 index 0000000000..393234ef08 --- /dev/null +++ b/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts @@ -0,0 +1,37 @@ +plugins { + id("com.android.application") + id("kotlin-android") +} + +android { + compileSdk = Versions.compileSdk + defaultConfig { + minSdk = 28 + @Suppress("DEPRECATION") + targetSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildFeatures { + viewBinding = true + } + + buildTypes { + named("release") { + isMinifyEnabled = false + setProguardFiles(listOf(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")) + } + } + + compileOptions { + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion + } + + lint { + checkReleaseBuilds = false + disable += "MissingTranslation" + disable += "ExtraTranslation" + } +} \ No newline at end of file From 71d8ded8570df3a2a715bd9078342ce197160fd4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 15:20:50 +0200 Subject: [PATCH 09/39] remove android_dependecies --- app/build.gradle.kts | 6 +-- buildSrc/src/main/kotlin/Libs.kt | 28 +++++++++++++- buildSrc/src/main/kotlin/Versions.kt | 2 + .../android-app-dependencies.gradle.kts | 6 +-- .../android-module-dependencies.gradle.kts | 7 +--- core/interfaces/build.gradle.kts | 2 +- core/main/android_dependencies.gradle | 37 ------------------- core/main/android_module_dependencies.gradle | 32 ++++++++++++++++ core/main/build.gradle | 1 - core/nssdk/build.gradle | 1 - core/ui/build.gradle | 1 - core/utils/build.gradle | 1 - core/validators/build.gradle | 1 - database/entities/build.gradle | 1 - database/impl/build.gradle | 1 - implementation/build.gradle | 1 - insight/build.gradle | 1 - plugins/aps/build.gradle | 1 - plugins/automation/build.gradle | 1 - plugins/configuration/build.gradle | 1 - plugins/constraints/build.gradle | 1 - plugins/insulin/build.gradle | 1 - plugins/main/build.gradle | 1 - plugins/sensitivity/build.gradle | 1 - plugins/smoothing/build.gradle | 1 - plugins/source/build.gradle | 1 - plugins/sync/build.gradle | 1 - pump/combo/build.gradle | 1 - pump/combov2/build.gradle | 1 - pump/combov2/comboctl/build.gradle | 1 - pump/dana/build.gradle | 1 - pump/danar/build.gradle | 1 - pump/danars/build.gradle | 1 - pump/diaconn/build.gradle | 1 - pump/eopatch/build.gradle | 1 - pump/medtronic/build.gradle | 1 - pump/medtrum/build.gradle | 1 - pump/omnipod-common/build.gradle | 1 - pump/omnipod-dash/build.gradle | 1 - pump/omnipod-eros/build.gradle | 1 - pump/pump-common/build.gradle | 1 - pump/rileylink/build.gradle | 1 - pump/virtual/build.gradle | 1 - shared/impl/build.gradle | 1 - shared/tests/build.gradle | 1 - ui/build.gradle | 1 - wear/build.gradle | 28 +++++++++++++- workflow/build.gradle | 1 - 48 files changed, 95 insertions(+), 92 deletions(-) delete mode 100644 core/main/android_dependencies.gradle diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c34c6918c9..4ce07fba79 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -106,9 +106,9 @@ android { ndkVersion = Versions.ndkVersion defaultConfig { - multiDexEnabled = true - versionCode = Versions.versionCode - version = Versions.appVersion + minSdk = Versions.minSdk + targetSdk = Versions.targetSdk + buildConfigField("String", "VERSION", "\"$version\"") buildConfigField("String", "BUILDVERSION", "\"${generateGitBuild()}-${generateDate()}\"") buildConfigField("String", "REMOTE", "\"${generateGitRemote()}\"") diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 20830f53dc..f975fa505d 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -5,15 +5,22 @@ object Libs { const val kotlin = "1.9.10" + const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin" const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin" } object KotlinX { private const val serialization = "1.6.0" + private const val coroutinesVersion = "1.7.3" const val serializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization" const val serializationProtobuf = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization" + const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" + const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" + const val coroutinesGuava = "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutinesVersion" + const val coroutinesPlayServices = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutinesVersion" + const val datetime = "org.jetbrains.kotlinx:kotlinx-datetime:0.4.1" } object AndroidX { @@ -22,6 +29,7 @@ object Libs { const val appCompat = "androidx.appcompat:appcompat:1.6.1" const val preference = "androidx.preference:preference-ktx:1.2.1" const val workRuntimeKtx = "androidx.work:work-runtime-ktx:2.8.1" + const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.4" object Test { @@ -30,12 +38,28 @@ object Libs { const val rules = "androidx.test:rules:1.5.0" const val uiAutomator = "androidx.test.uiautomator:uiautomator:2.2.0" } + + object Wear { + + const val wear = "androidx.wear:wear:1.3.0" + const val tiles = "androidx.wear.tiles:tiles:1.2.0" + } } object Google { - object PlayServices { - const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.3.0" + object Android { + object PlayServices { + + const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.3.0" + const val wearable = "com.google.android.gms:play-services-wearable:18.1.0" + } + + object Wearable { + + const val wearable = "com.google.android.wearable:wearable:2.9.0" + const val wearableSupport = "com.google.android.support:wearable:2.9.0" + } } const val truth = "com.google.truth:truth:1.1.5" diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 6c93da38e7..f90a3d5a98 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -9,7 +9,9 @@ object Versions { const val compileSdk = 34 const val minSdk = 28 + const val targetSdk = 28 const val wearMinSdk = 26 + const val wearTargetSdk = 29 val javaVersion = JavaVersion.VERSION_11 } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts index 393234ef08..2229c8d87e 100644 --- a/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts @@ -6,9 +6,9 @@ plugins { android { compileSdk = Versions.compileSdk defaultConfig { - minSdk = 28 - @Suppress("DEPRECATION") - targetSdk = 28 + multiDexEnabled = true + versionCode = Versions.versionCode + version = Versions.appVersion testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts index 96a7bba23b..32fb83ce04 100644 --- a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts @@ -14,10 +14,6 @@ android { testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } - buildFeatures { - viewBinding = true - } - buildTypes { named("release") { isMinifyEnabled = false @@ -59,9 +55,10 @@ android { } } - // disable for modules here buildFeatures { + // disable for modules here buildConfig = false + viewBinding = true } } diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index 23340e5179..cc0fd15617 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { api(Libs.Logging.slf4jApi) api(Libs.Logging.logbackAndroid) - api(Libs.Google.PlayServices.measurementApi) + api(Libs.Google.Android.PlayServices.measurementApi) api(Libs.KotlinX.serializationJson) api(Libs.KotlinX.serializationProtobuf) diff --git a/core/main/android_dependencies.gradle b/core/main/android_dependencies.gradle deleted file mode 100644 index b89931830f..0000000000 --- a/core/main/android_dependencies.gradle +++ /dev/null @@ -1,37 +0,0 @@ -android { - compileSdk 34 - defaultConfig { - minSdkVersion 28 - targetSdkVersion 28 - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildFeatures { - viewBinding true - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - - sourceSets { - main { - jniLibs.srcDirs = ['src/main/jniLibs'] - } - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } - - lint { - checkReleaseBuilds false - disable 'MissingTranslation' - disable 'ExtraTranslation' - } -} \ No newline at end of file diff --git a/core/main/android_module_dependencies.gradle b/core/main/android_module_dependencies.gradle index 8ccf62d869..f28776b8b1 100644 --- a/core/main/android_module_dependencies.gradle +++ b/core/main/android_module_dependencies.gradle @@ -1,4 +1,11 @@ android { + compileSdk 34 + defaultConfig { + minSdkVersion 28 + targetSdkVersion 28 + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } flavorDimensions = ["standard"] productFlavors { @@ -19,8 +26,33 @@ android { // disable for modules here buildFeatures { + viewBinding = true buildConfig = false } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + sourceSets { + main { + jniLibs.srcDirs = ['src/main/jniLibs'] + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + + lint { + checkReleaseBuilds false + disable 'MissingTranslation' + disable 'ExtraTranslation' + } } dependencies { diff --git a/core/main/build.gradle b/core/main/build.gradle index fd9df93b21..ea5c49ec5b 100644 --- a/core/main/build.gradle +++ b/core/main/build.gradle @@ -6,7 +6,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/core/nssdk/build.gradle b/core/nssdk/build.gradle index 1a9d40e8db..a4fbc5a740 100644 --- a/core/nssdk/build.gradle +++ b/core/nssdk/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlinx-serialization' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/core/ui/build.gradle b/core/ui/build.gradle index f8d0c810f6..d5ed2279d6 100644 --- a/core/ui/build.gradle +++ b/core/ui/build.gradle @@ -4,7 +4,6 @@ plugins { id 'kotlin-kapt' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" android { diff --git a/core/utils/build.gradle b/core/utils/build.gradle index 02d06b54d7..5afcf3b70c 100644 --- a/core/utils/build.gradle +++ b/core/utils/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/core/validators/build.gradle b/core/validators/build.gradle index ba7c4b77b2..7b98cfe3d3 100644 --- a/core/validators/build.gradle +++ b/core/validators/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/database/entities/build.gradle b/database/entities/build.gradle index 248d1db0c6..eb9e59ed72 100644 --- a/database/entities/build.gradle +++ b/database/entities/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/database/impl/build.gradle b/database/impl/build.gradle index ae471b1193..5c830ec3c4 100644 --- a/database/impl/build.gradle +++ b/database/impl/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" diff --git a/implementation/build.gradle b/implementation/build.gradle index ac3a14775f..91e04b3be1 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" diff --git a/insight/build.gradle b/insight/build.gradle index 78ebd94579..95fd95d085 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/aps/build.gradle b/plugins/aps/build.gradle index f7b1eef555..51bfc41d02 100644 --- a/plugins/aps/build.gradle +++ b/plugins/aps/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" diff --git a/plugins/automation/build.gradle b/plugins/automation/build.gradle index 06d03961cc..acf1ff0282 100644 --- a/plugins/automation/build.gradle +++ b/plugins/automation/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/configuration/build.gradle b/plugins/configuration/build.gradle index cb33277adb..b4272f7011 100644 --- a/plugins/configuration/build.gradle +++ b/plugins/configuration/build.gradle @@ -6,7 +6,6 @@ plugins { id 'kotlin-parcelize' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/constraints/build.gradle b/plugins/constraints/build.gradle index e85a73b018..7bfbc09f70 100644 --- a/plugins/constraints/build.gradle +++ b/plugins/constraints/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" diff --git a/plugins/insulin/build.gradle b/plugins/insulin/build.gradle index e934f67d54..68909827ec 100644 --- a/plugins/insulin/build.gradle +++ b/plugins/insulin/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/main/build.gradle b/plugins/main/build.gradle index fa34723f9c..488b128ba5 100644 --- a/plugins/main/build.gradle +++ b/plugins/main/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" diff --git a/plugins/sensitivity/build.gradle b/plugins/sensitivity/build.gradle index d33ef78ef0..76cc87e9d1 100644 --- a/plugins/sensitivity/build.gradle +++ b/plugins/sensitivity/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/smoothing/build.gradle b/plugins/smoothing/build.gradle index c910ef3dbd..6001033f59 100644 --- a/plugins/smoothing/build.gradle +++ b/plugins/smoothing/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/source/build.gradle b/plugins/source/build.gradle index 95d4773913..96e0678b7f 100644 --- a/plugins/source/build.gradle +++ b/plugins/source/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/plugins/sync/build.gradle b/plugins/sync/build.gradle index dc8826f9ba..bf7bf2ad92 100644 --- a/plugins/sync/build.gradle +++ b/plugins/sync/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index 53b9d9e7bd..30b6112f1a 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/combov2/build.gradle b/pump/combov2/build.gradle index 902108af6a..e1bd39696a 100644 --- a/pump/combov2/build.gradle +++ b/pump/combov2/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" diff --git a/pump/combov2/comboctl/build.gradle b/pump/combov2/comboctl/build.gradle index e999327421..c3744c2d9f 100644 --- a/pump/combov2/comboctl/build.gradle +++ b/pump/combov2/comboctl/build.gradle @@ -4,7 +4,6 @@ plugins { id 'kotlin-kapt' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index 3c44880ef9..9f985c5304 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index 18ed198b15..04b0b7415d 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index d9dc3a2aab..472aa0545c 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index 531cc1c38e..c49e08945e 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index 281a2187b4..6c35f41c74 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index b71f2603dc..fc3de1bb8c 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/medtrum/build.gradle b/pump/medtrum/build.gradle index f60bcbafb6..afb4c23eb0 100644 --- a/pump/medtrum/build.gradle +++ b/pump/medtrum/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index 2258b47333..3acdc8943a 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 8faa4d59a9..d414b36f9c 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 64593ca2f2..bed6dd815c 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index 1eac553e61..0844ae07a0 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index 4fb93e7916..773f5663f7 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/pump/virtual/build.gradle b/pump/virtual/build.gradle index 3329ea7b62..d5c8563d53 100644 --- a/pump/virtual/build.gradle +++ b/pump/virtual/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/shared/impl/build.gradle b/shared/impl/build.gradle index e67cbd5e0d..9c5e3762a3 100644 --- a/shared/impl/build.gradle +++ b/shared/impl/build.gradle @@ -6,7 +6,6 @@ plugins { id 'kotlinx-serialization' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/shared/tests/build.gradle b/shared/tests/build.gradle index 00c24c1373..43bce750c4 100644 --- a/shared/tests/build.gradle +++ b/shared/tests/build.gradle @@ -6,7 +6,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" diff --git a/ui/build.gradle b/ui/build.gradle index c75e9364c1..27e4a0fe55 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" diff --git a/wear/build.gradle b/wear/build.gradle index 2355f09aa1..adce2fa861 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -17,7 +17,6 @@ plugins { } apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" @@ -43,6 +42,8 @@ def generateGitBuild = { -> } android { + namespace 'app.aaps.wear' + compileSdk 34 defaultConfig { @@ -81,7 +82,30 @@ android { versionName version + "-aapsclient" } } - namespace 'app.aaps.wear' + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + sourceSets { + main { + jniLibs.srcDirs = ['src/main/jniLibs'] + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + + lint { + checkReleaseBuilds false + disable 'MissingTranslation' + disable 'ExtraTranslation' + } } allprojects { diff --git a/workflow/build.gradle b/workflow/build.gradle index db01daed40..50c3189809 100644 --- a/workflow/build.gradle +++ b/workflow/build.gradle @@ -5,7 +5,6 @@ plugins { id 'kotlin-allopen' } -apply from: "${project.rootDir}/core/main/android_dependencies.gradle" apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle" From f552fe656fa8557ba090d96de144273e54b17958 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 15:49:43 +0200 Subject: [PATCH 10/39] log execution data --- jacoco_aggregation.gradle.kts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/jacoco_aggregation.gradle.kts b/jacoco_aggregation.gradle.kts index ea514f4779..a9edacebe9 100644 --- a/jacoco_aggregation.gradle.kts +++ b/jacoco_aggregation.gradle.kts @@ -1,7 +1,7 @@ apply(plugin = "jacoco") project.afterEvaluate { - val variants = listOf("debug", "fullDebug") + val variants = listOf("fullDebug") tasks.register(name = "jacocoAllDebugReport") { @@ -72,8 +72,10 @@ project.afterEvaluate { subprojects.forEach { proj -> variants.forEach { variant -> val path = "${proj.buildDir}/outputs/unit_test_code_coverage/${variant}UnitTest/test${variant.replaceFirstChar(Char::titlecase)}UnitTest.exec" - // printf("Collecting execution data from: %s\n", path) - if ((File(path)).exists()) it.add(path) + if ((File(path)).exists()) { + it.add(path) + println("Collecting execution data from: $path") + } } } } From 6ada2afa0de71a69b5f85333be55f5b055d34e76 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 15:56:15 +0200 Subject: [PATCH 11/39] move MaintenancePluginTest --- .../aaps/configuration/maintenance/MaintenancePluginTest.kt | 3 ++- .../src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip | 0 .../src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip | 0 .../src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip | 0 .../configuration}/src/test/res/logger/AndroidAPS.log | 0 5 files changed, 2 insertions(+), 1 deletion(-) rename {app => plugins/configuration}/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt (95%) rename {app => plugins/configuration}/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip (100%) rename {app => plugins/configuration}/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip (100%) rename {app => plugins/configuration}/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip (100%) rename {app => plugins/configuration}/src/test/res/logger/AndroidAPS.log (100%) diff --git a/app/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt b/plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt similarity index 95% rename from app/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt rename to plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt index 75aae777f1..91e256be1b 100644 --- a/app/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt +++ b/plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt @@ -1,4 +1,4 @@ -package app.aaps.plugins.configuration.maintenance +package app.aaps.configuration.maintenance import android.content.Context import app.aaps.core.interfaces.configuration.Config @@ -7,6 +7,7 @@ import app.aaps.core.interfaces.maintenance.PrefFileListProvider import app.aaps.core.interfaces.nsclient.NSSettingsStatus import app.aaps.core.interfaces.resources.ResourceHelper import app.aaps.core.interfaces.sharedPreferences.SP +import app.aaps.plugins.configuration.maintenance.MaintenancePlugin import app.aaps.shared.tests.TestBase import com.google.common.truth.Truth.assertThat import dagger.android.HasAndroidInjector diff --git a/app/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip b/plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip similarity index 100% rename from app/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip rename to plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip diff --git a/app/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip b/plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip similarity index 100% rename from app/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip rename to plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip diff --git a/app/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip b/plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip similarity index 100% rename from app/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip rename to plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip diff --git a/app/src/test/res/logger/AndroidAPS.log b/plugins/configuration/src/test/res/logger/AndroidAPS.log similarity index 100% rename from app/src/test/res/logger/AndroidAPS.log rename to plugins/configuration/src/test/res/logger/AndroidAPS.log From e614fa93434fe31ab39c0222fd51c6e31be96ffd Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 16:49:40 +0200 Subject: [PATCH 12/39] database -> kts --- buildSrc/src/main/kotlin/Libs.kt | 13 ++++- .../kotlin/all-open-dependencies.gradle.kts | 1 - database/entities/build.gradle | 36 ------------- database/entities/build.gradle.kts | 25 +++++++++ database/impl/build.gradle | 52 ------------------- database/impl/build.gradle.kts | 50 ++++++++++++++++++ .../database/annotations/DbOpenForTesting.kt | 15 ------ .../app/aaps/database/impl/AppRepository.kt | 7 +-- .../database/annotations/DbOpenForTesting.kt | 8 --- 9 files changed, 90 insertions(+), 117 deletions(-) delete mode 100644 database/entities/build.gradle create mode 100644 database/entities/build.gradle.kts delete mode 100644 database/impl/build.gradle create mode 100644 database/impl/build.gradle.kts delete mode 100644 database/impl/src/debug/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt delete mode 100644 database/impl/src/release/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index f975fa505d..2f1a0b33d3 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -7,6 +7,7 @@ object Libs { const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin" const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin" + const val reflect = "org.jetbrains.kotlin:kotlin-reflect:$kotlin" } object KotlinX { @@ -39,6 +40,15 @@ object Libs { const val uiAutomator = "androidx.test.uiautomator:uiautomator:2.2.0" } + object Room { + private const val roomVersion = "2.5.2" + + const val room = "androidx.room:room-ktx:$roomVersion" + const val compiler = "androidx.room:room-compiler:$roomVersion" + const val runtime = "androidx.room:room-runtime:$roomVersion" + const val rxJava3 = "androidx.room:room-rxjava3:$roomVersion" + const val testing = "androidx.room:room-testing:$roomVersion" + } object Wear { const val wear = "androidx.wear:wear:1.3.0" @@ -63,6 +73,7 @@ object Libs { } const val truth = "com.google.truth:truth:1.1.5" + const val gson = "com.google.code.gson:gson:2.10.1" } object Dagger { @@ -113,13 +124,11 @@ object Libs { const val json = "org.json:json:20230618" const val jsonAssert = "org.skyscreamer:jsonassert:1.5.0" - const val room = "2.5.2" const val lifecycle = "2.6.2" const val coroutines = "1.7.3" const val activity = "1.8.0" const val fragmentktx = "1.6.1" const val ormLite = "4.46" - const val gson = "2.10.1" const val nav = "2.7.4" const val material = "1.10.0" const val gridlayout = "1.0.0" diff --git a/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts b/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts index 756dbced71..6041077214 100644 --- a/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts @@ -1,4 +1,3 @@ - plugins { id("com.android.library") id("kotlin-android") diff --git a/database/entities/build.gradle b/database/entities/build.gradle deleted file mode 100644 index eb9e59ed72..0000000000 --- a/database/entities/build.gradle +++ /dev/null @@ -1,36 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" - -android { - - namespace 'app.aaps.database.entities' - defaultConfig { - minSdkVersion 26 // for wear - } - - buildFeatures { - buildConfig = false - } -} - -dependencies { - api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - - api "androidx.core:core-ktx:$core_version" - - kapt "androidx.room:room-compiler:$room_version" - api "androidx.room:room-ktx:$room_version" - -} - -allOpen { - // allows mocking for classes w/o directly opening them for release builds - annotation 'app.aaps.database.annotations.DbOpenForTesting' -} diff --git a/database/entities/build.gradle.kts b/database/entities/build.gradle.kts new file mode 100644 index 0000000000..3831333d35 --- /dev/null +++ b/database/entities/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-allopen") + id("android-module-dependencies") + id("all-open-dependencies") + id("test-dependencies") +} + +android { + + namespace = "app.aaps.database.entities" + defaultConfig { + minSdk = Versions.wearMinSdk // for wear + } +} + +dependencies { + api(Libs.Kotlin.stdlibJdk8) + api(Libs.AndroidX.core) + api(Libs.AndroidX.Room.room) + + kapt(Libs.AndroidX.Room.compiler) +} \ No newline at end of file diff --git a/database/impl/build.gradle b/database/impl/build.gradle deleted file mode 100644 index 5c830ec3c4..0000000000 --- a/database/impl/build.gradle +++ /dev/null @@ -1,52 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.database.impl' - - defaultConfig { - kapt { - arguments { - arg("room.incremental", "true") - arg("room.schemaLocation", "$projectDir/schemas") - } - } - } - sourceSets { - androidTest.assets.srcDirs += files("$projectDir/schemas") - } -} - -dependencies { - implementation project(':database:entities') - - api "androidx.core:core-ktx:$core_version" - api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - - api "io.reactivex.rxjava3:rxjava:$rxjava_version" - api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" - api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version" - - api "com.google.code.gson:gson:$gson_version" - - api "androidx.room:room-runtime:$room_version" - kapt "androidx.room:room-compiler:$room_version" - /* Database schema export */ - kapt "androidx.room:room-compiler:$room_version" - api "androidx.room:room-ktx:$room_version" - api "androidx.room:room-rxjava3:$room_version" - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - androidTestImplementation "androidx.room:room-testing:$room_version" -} \ No newline at end of file diff --git a/database/impl/build.gradle.kts b/database/impl/build.gradle.kts new file mode 100644 index 0000000000..08daa20c40 --- /dev/null +++ b/database/impl/build.gradle.kts @@ -0,0 +1,50 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-allopen") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.database.impl" + + defaultConfig { + kapt { + arguments { + arg("room.incremental", "true") + arg("room.schemaLocation", "$projectDir/schemas") + } + } + } + sourceSets { + getByName("androidTest").assets.srcDirs("$projectDir/schemas") + } +} + +dependencies { + implementation(project(":database:entities")) + + api(Libs.Kotlin.stdlibJdk8) + api(Libs.Kotlin.reflect) + api(Libs.AndroidX.core) + + api(Libs.Rx.rxJava) + api(Libs.Rx.rxAndroid) + api(Libs.Rx.rxKotlin) + + api(Libs.Google.gson) + + api(Libs.AndroidX.Room.room) + api(Libs.AndroidX.Room.runtime) + api(Libs.AndroidX.Room.rxJava3) + kapt(Libs.AndroidX.Room.compiler) + + api(Libs.Dagger.android) + api(Libs.Dagger.androidSupport) + + androidTestImplementation(Libs.AndroidX.Room.testing) +} \ No newline at end of file diff --git a/database/impl/src/debug/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt b/database/impl/src/debug/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt deleted file mode 100644 index 4d71733d52..0000000000 --- a/database/impl/src/debug/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt +++ /dev/null @@ -1,15 +0,0 @@ -package app.aaps.database.annotations - -/** - * This is the actual annotation that makes the class open. Don't use it directly, only through [DbOpenForTesting] - * which has a NOOP replacement in production. - */ -@Target(AnnotationTarget.ANNOTATION_CLASS) -annotation class DbOpenClass - -/** - * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. - */ -@DbOpenClass -@Target(AnnotationTarget.CLASS) -annotation class DbOpenForTesting \ No newline at end of file diff --git a/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt b/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt index 7cccd799e3..b7a546f229 100644 --- a/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt +++ b/database/impl/src/main/java/app/aaps/database/impl/AppRepository.kt @@ -1,7 +1,7 @@ package app.aaps.database.impl +import androidx.annotation.OpenForTesting import app.aaps.database.ValueWrapper -import app.aaps.database.annotations.DbOpenForTesting import app.aaps.database.entities.Bolus import app.aaps.database.entities.BolusCalculatorResult import app.aaps.database.entities.Carbs @@ -34,8 +34,9 @@ import javax.inject.Inject import javax.inject.Singleton import kotlin.math.roundToInt -@DbOpenForTesting -@Singleton class AppRepository @Inject internal constructor( +@OpenForTesting +@Singleton +class AppRepository @Inject internal constructor( internal val database: AppDatabase ) { diff --git a/database/impl/src/release/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt b/database/impl/src/release/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt deleted file mode 100644 index f00a7a2ff0..0000000000 --- a/database/impl/src/release/kotlin/app/aaps/database/annotations/DbOpenForTesting.kt +++ /dev/null @@ -1,8 +0,0 @@ -package app.aaps.database.annotations - -/** - * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. - * In production the class remains final. - */ -@Target(AnnotationTarget.CLASS) -annotation class DbOpenForTesting \ No newline at end of file From a7b904d7425e454b056a457cd6172595abff3849 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 16 Oct 2023 17:24:01 +0200 Subject: [PATCH 13/39] fix tests --- .../logger/AndroidAPS.2018-01-01_01-01-00.1.zip | 0 .../logger/AndroidAPS.2018-01-02_01-01-00.1.zip | 0 .../logger/AndroidAPS.2018-01-03_01-01-00.1.zip | 0 .../src/test/{res => assets}/logger/AndroidAPS.log | 0 .../aaps/configuration/maintenance/MaintenancePluginTest.kt | 4 ++-- 5 files changed, 2 insertions(+), 2 deletions(-) rename plugins/configuration/src/test/{res => assets}/logger/AndroidAPS.2018-01-01_01-01-00.1.zip (100%) rename plugins/configuration/src/test/{res => assets}/logger/AndroidAPS.2018-01-02_01-01-00.1.zip (100%) rename plugins/configuration/src/test/{res => assets}/logger/AndroidAPS.2018-01-03_01-01-00.1.zip (100%) rename plugins/configuration/src/test/{res => assets}/logger/AndroidAPS.log (100%) diff --git a/plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip b/plugins/configuration/src/test/assets/logger/AndroidAPS.2018-01-01_01-01-00.1.zip similarity index 100% rename from plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-01_01-01-00.1.zip rename to plugins/configuration/src/test/assets/logger/AndroidAPS.2018-01-01_01-01-00.1.zip diff --git a/plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip b/plugins/configuration/src/test/assets/logger/AndroidAPS.2018-01-02_01-01-00.1.zip similarity index 100% rename from plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-02_01-01-00.1.zip rename to plugins/configuration/src/test/assets/logger/AndroidAPS.2018-01-02_01-01-00.1.zip diff --git a/plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip b/plugins/configuration/src/test/assets/logger/AndroidAPS.2018-01-03_01-01-00.1.zip similarity index 100% rename from plugins/configuration/src/test/res/logger/AndroidAPS.2018-01-03_01-01-00.1.zip rename to plugins/configuration/src/test/assets/logger/AndroidAPS.2018-01-03_01-01-00.1.zip diff --git a/plugins/configuration/src/test/res/logger/AndroidAPS.log b/plugins/configuration/src/test/assets/logger/AndroidAPS.log similarity index 100% rename from plugins/configuration/src/test/res/logger/AndroidAPS.log rename to plugins/configuration/src/test/assets/logger/AndroidAPS.log diff --git a/plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt b/plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt index 91e256be1b..5a66958b46 100644 --- a/plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt +++ b/plugins/configuration/src/test/kotlin/app/aaps/configuration/maintenance/MaintenancePluginTest.kt @@ -34,8 +34,8 @@ class MaintenancePluginTest : TestBase() { fun mock() { sut = MaintenancePlugin(injector, context, rh, sp, nsSettingsStatus, aapsLogger, config, fileListProvider, loggerUtils) `when`(loggerUtils.suffix).thenReturn(".log.zip") - `when`(loggerUtils.logDirectory).thenReturn("src/test/res/logger") - `when`(fileListProvider.ensureTempDirExists()).thenReturn(File("src/test/res/logger")) + `when`(loggerUtils.logDirectory).thenReturn("src/test/assets/logger") + `when`(fileListProvider.ensureTempDirExists()).thenReturn(File("src/test/assets/logger")) } @Test fun logFilesTest() { From 92be75150f2b0cd93c5055320f2b54cf55d82cd3 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 18 Oct 2023 15:14:14 +0200 Subject: [PATCH 14/39] gradle -> kts --- app/build.gradle.kts | 2 - buildSrc/src/main/kotlin/Libs.kt | 69 ++++++++++++++----- .../kotlin/all-open-dependencies.gradle.kts | 2 - .../android-module-dependencies.gradle.kts | 8 +-- .../main/kotlin/test-dependencies.gradle.kts | 2 +- core/graphview/build.gradle.kts | 1 - core/interfaces/build.gradle.kts | 8 ++- core/main/build.gradle | 41 ----------- core/main/build.gradle.kts | 41 +++++++++++ core/nssdk/build.gradle | 37 ---------- core/nssdk/build.gradle.kts | 31 +++++++++ core/ui/build.gradle | 27 -------- core/ui/build.gradle.kts | 20 ++++++ core/utils/build.gradle | 40 ----------- core/utils/build.gradle.kts | 39 +++++++++++ core/validators/build.gradle | 25 ------- core/validators/build.gradle.kts | 25 +++++++ database/entities/build.gradle.kts | 2 - database/impl/build.gradle.kts | 2 + implementation/build.gradle | 31 --------- implementation/build.gradle.kts | 33 +++++++++ insight/build.gradle | 40 ----------- insight/build.gradle.kts | 39 +++++++++++ plugins/aps/build.gradle | 36 ---------- plugins/aps/build.gradle.kts | 36 ++++++++++ plugins/automation/build.gradle | 34 --------- plugins/automation/build.gradle.kts | 35 ++++++++++ plugins/source/build.gradle | 29 -------- plugins/source/build.gradle.kts | 30 ++++++++ 29 files changed, 388 insertions(+), 377 deletions(-) delete mode 100644 core/main/build.gradle create mode 100644 core/main/build.gradle.kts delete mode 100644 core/nssdk/build.gradle create mode 100644 core/nssdk/build.gradle.kts delete mode 100644 core/ui/build.gradle create mode 100644 core/ui/build.gradle.kts delete mode 100644 core/utils/build.gradle create mode 100644 core/utils/build.gradle.kts delete mode 100644 core/validators/build.gradle create mode 100644 core/validators/build.gradle.kts delete mode 100644 implementation/build.gradle create mode 100644 implementation/build.gradle.kts delete mode 100644 insight/build.gradle create mode 100644 insight/build.gradle.kts delete mode 100644 plugins/aps/build.gradle create mode 100644 plugins/aps/build.gradle.kts delete mode 100644 plugins/automation/build.gradle create mode 100644 plugins/automation/build.gradle.kts delete mode 100644 plugins/source/build.gradle create mode 100644 plugins/source/build.gradle.kts diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4ce07fba79..24d6e741de 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,8 +7,6 @@ plugins { id("com.android.application") id("kotlin-android") id("kotlin-kapt") - id("kotlin-allopen") - id("kotlinx-serialization") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") id("android-app-dependencies") diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 2f1a0b33d3..0adcca23ac 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -19,6 +19,7 @@ object Libs { const val serializationProtobuf = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization" const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" + const val coroutinesRx3 = "org.jetbrains.kotlinx:kotlinx-coroutines-rx3:$coroutinesVersion" const val coroutinesGuava = "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutinesVersion" const val coroutinesPlayServices = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutinesVersion" const val datetime = "org.jetbrains.kotlinx:kotlinx-datetime:0.4.1" @@ -28,9 +29,12 @@ object Libs { const val core = "androidx.core:core-ktx:1.12.0" const val appCompat = "androidx.appcompat:appcompat:1.6.1" + const val activity = "androidx.activity:activity-ktx:1.8.0" const val preference = "androidx.preference:preference-ktx:1.2.1" const val workRuntimeKtx = "androidx.work:work-runtime-ktx:2.8.1" const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.4" + const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" + const val gridLayout = "androidx.gridlayout:gridlayout:1.0.0" object Test { @@ -41,6 +45,7 @@ object Libs { } object Room { + private const val roomVersion = "2.5.2" const val room = "androidx.room:room-ktx:$roomVersion" @@ -49,11 +54,14 @@ object Libs { const val rxJava3 = "androidx.room:room-rxjava3:$roomVersion" const val testing = "androidx.room:room-testing:$roomVersion" } + object Wear { const val wear = "androidx.wear:wear:1.3.0" const val tiles = "androidx.wear.tiles:tiles:1.2.0" } + + const val biometric = "androidx.biometric:biometric:1.1.0" } object Google { @@ -63,6 +71,7 @@ object Libs { const val measurementApi = "com.google.android.gms:play-services-measurement-api:21.3.0" const val wearable = "com.google.android.gms:play-services-wearable:18.1.0" + const val location = "com.google.android.gms:play-services-location:21.0.1" } object Wearable { @@ -70,10 +79,24 @@ object Libs { const val wearable = "com.google.android.wearable:wearable:2.9.0" const val wearableSupport = "com.google.android.support:wearable:2.9.0" } + + const val material = "com.google.android.material:material:1.10.0" + } + + object Firebase { + + const val firebaseBom = "com.google.firebase:firebase-bom:32.3.1" + const val analytics = "com.google.firebase:firebase-analytics-ktx" + const val crashlytics = "com.google.firebase:firebase-crashlytics-ktx" + const val messaging = "com.google.firebase:firebase-messaging-ktx" + const val auth = "com.google.firebase:firebase-auth-ktx" + const val database = "com.google.firebase:firebase-database-ktx" } const val truth = "com.google.truth:truth:1.1.5" const val gson = "com.google.code.gson:gson:2.10.1" + const val guava = "com.google.guava:guava:32.1.3-jre" + const val tinkAndroid = "com.google.crypto.tink:tink-android:1.10.0" } object Dagger { @@ -119,33 +142,46 @@ object Libs { const val kotlin = "org.mockito.kotlin:mockito-kotlin:5.1.0" } + object Squareup { + object Retrofit2 { + + private const val retrofitVersion = "2.9.0" + + const val retrofit = "com.squareup.retrofit2:retrofit:$retrofitVersion" + const val adapterRxJava3 = "com.squareup.retrofit2:adapter-rxjava3:$retrofitVersion" + const val converterGson = "com.squareup.retrofit2:converter-gson:$retrofitVersion" + } + + object Okhttp3 { + + private const val okhttpVersion = "4.11.0" + + const val okhttp = "com.squareup.okhttp3:okhttp:$okhttpVersion" + const val loggingInterceptor = "com.squareup.okhttp3:logging-interceptor:$okhttpVersion" + } + } + + object Mozilla { + + const val rhino = "org.mozilla:rhino:1.7.14" + } + + const val spongycastleCore = "com.madgag.spongycastle:core:1.58.0.0" const val androidSvg = "com.caverock:androidsvg:1.4" - const val joda = "net.danlew:android.joda:2.12.5" + const val jodaTimeAndroid = "net.danlew:android.joda:2.12.5" + const val jodaTime = "joda-time:joda-time:2.12.5" const val json = "org.json:json:20230618" const val jsonAssert = "org.skyscreamer:jsonassert:1.5.0" const val lifecycle = "2.6.2" - const val coroutines = "1.7.3" - const val activity = "1.8.0" const val fragmentktx = "1.6.1" const val ormLite = "4.46" const val nav = "2.7.4" - const val material = "1.10.0" - const val gridlayout = "1.0.0" - const val constraintlayout = "2.1.4" - const val preferencektx = "1.2.1" - const val commonslang3 = "3.13.0" const val commonscodec = "1.16.0" - const val guava = "32.1.3-jre" - const val work = "2.8.1" - const val tink = "1.10.0" - const val swipe = "1.1.0" const val junit = "4.13.2" const val mockito = "5.6.0" const val dexmaker = "1.2" - const val retrofit2 = "2.9.0" - const val okhttp3 = "4.11.0" const val byteBuddy = "1.12.8" const val androidx_junit = "1.1.5" @@ -154,11 +190,6 @@ object Libs { const val rxandroidble = "1.12.1" const val replayshare = "2.2.0" - const val wearable = "2.9.0" - const val play_services_wearable = "18.1.0" - const val play_services_location = "21.0.1" - const val play_services_measurement = "21.3.0" - const val kotlinx_datetime = "0.4.1" const val kotlinx_serialization = "1.6.0" diff --git a/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts b/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts index 6041077214..439fb3ed9e 100644 --- a/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/all-open-dependencies.gradle.kts @@ -1,7 +1,5 @@ plugins { id("com.android.library") - id("kotlin-android") - id("kotlin-kapt") id("kotlin-allopen") } diff --git a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts index 32fb83ce04..4e6f9b7a76 100644 --- a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts @@ -1,7 +1,6 @@ plugins { id("com.android.library") id("kotlin-android") - id("kotlin-kapt") } android { @@ -60,9 +59,4 @@ android { buildConfig = false viewBinding = true } -} - -dependencies { - kapt(Libs.Dagger.androidProcessor) - kapt(Libs.Dagger.compiler) -} +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/test-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-dependencies.gradle.kts index 78272f8852..bd895eef5d 100644 --- a/buildSrc/src/main/kotlin/test-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/test-dependencies.gradle.kts @@ -13,7 +13,7 @@ dependencies { testImplementation(Libs.json) testImplementation(Libs.Mockito.jupiter) testImplementation(Libs.Mockito.kotlin) - testImplementation(Libs.joda) + testImplementation(Libs.jodaTime) testImplementation(Libs.Google.truth) testImplementation(Libs.jsonAssert) diff --git a/core/graphview/build.gradle.kts b/core/graphview/build.gradle.kts index 256ed30a16..8a9f212ffd 100644 --- a/core/graphview/build.gradle.kts +++ b/core/graphview/build.gradle.kts @@ -1,7 +1,6 @@ plugins { id("com.android.library") id("kotlin-android") - id("kotlin-kapt") id("android-module-dependencies") } diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index cc0fd15617..158b52a2a8 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -2,11 +2,9 @@ plugins { id("com.android.library") id("kotlin-android") id("kotlin-kapt") - //id("kotlin-allopen") id("kotlin-parcelize") id("kotlinx-serialization") id("android-module-dependencies") - id("all-open-dependencies") id("test-dependencies") } @@ -25,7 +23,7 @@ dependencies { api(Libs.AndroidX.appCompat) api(Libs.AndroidX.preference) - api(Libs.joda) + api(Libs.jodaTimeAndroid) api(Libs.Dagger.androidSupport) @@ -48,4 +46,8 @@ dependencies { // WorkerClasses api(Libs.AndroidX.workRuntimeKtx) + + // TODO eliminate kapt from low level modules + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) } \ No newline at end of file diff --git a/core/main/build.gradle b/core/main/build.gradle deleted file mode 100644 index ea5c49ec5b..0000000000 --- a/core/main/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-parcelize' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -dependencies { - implementation project(':database:entities') - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:ui') - implementation project(':core:utils') - - testImplementation project(':shared:tests') - testImplementation project(':shared:impl') - - api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - - api "com.google.guava:guava:$guava_version" - - api "androidx.activity:activity-ktx:$activity_version" - api "androidx.appcompat:appcompat:$appcompat_version" - api "com.google.android.material:material:$material_version" - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - //WorkManager - api "androidx.work:work-runtime-ktx:$work_version" // DataWorkerStorage -} - -android { - namespace 'app.aaps.core.main' -} diff --git a/core/main/build.gradle.kts b/core/main/build.gradle.kts new file mode 100644 index 0000000000..146ed375ba --- /dev/null +++ b/core/main/build.gradle.kts @@ -0,0 +1,41 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-parcelize") + id("android-module-dependencies") + id("all-open-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.core.main" +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":shared:impl")) + + api(Libs.Kotlin.stdlibJdk8) + api(Libs.Google.Android.material) + api(Libs.Google.guava) + api(Libs.AndroidX.activity) + api(Libs.AndroidX.appCompat) + + api(Libs.Dagger.android) + api(Libs.Dagger.androidSupport) + + //WorkManager + api(Libs.AndroidX.workRuntimeKtx) // DataWorkerStorage + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/core/nssdk/build.gradle b/core/nssdk/build.gradle deleted file mode 100644 index a4fbc5a740..0000000000 --- a/core/nssdk/build.gradle +++ /dev/null @@ -1,37 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlinx-serialization' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" - -android { - namespace 'app.aaps.core.nssdk' -} - -dependencies { - api "com.squareup.retrofit2:retrofit:$retrofit2_version" - api "com.squareup.retrofit2:adapter-rxjava3:$retrofit2_version" - api "com.squareup.retrofit2:converter-gson:$retrofit2_version" - api "com.squareup.okhttp3:okhttp:$okhttp3_version" - api "com.squareup.okhttp3:logging-interceptor:$okhttp3_version" - - api "com.google.code.gson:gson:$gson_version" - - api "net.danlew:android.joda:$joda_version" - - api "io.reactivex.rxjava3:rxjava:$rxjava_version" - api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" - api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version" - - api "androidx.core:core-ktx:$core_version" - api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-rx3:$coroutines_version" - - api "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_version" -} diff --git a/core/nssdk/build.gradle.kts b/core/nssdk/build.gradle.kts new file mode 100644 index 0000000000..45b53a5da8 --- /dev/null +++ b/core/nssdk/build.gradle.kts @@ -0,0 +1,31 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlinx-serialization") + id("android-module-dependencies") + id("test-dependencies") +} + +android { + namespace = "app.aaps.core.nssdk" +} + +dependencies { + api(Libs.Squareup.Retrofit2.retrofit) + api(Libs.Squareup.Retrofit2.adapterRxJava3) + api(Libs.Squareup.Retrofit2.converterGson) + api(Libs.Squareup.Okhttp3.okhttp) + api(Libs.Squareup.Okhttp3.loggingInterceptor) + api(Libs.Google.gson) + api(Libs.jodaTimeAndroid) + api(Libs.Rx.rxJava) + //api(Libs.Rx.rxAndroid) + api(Libs.Rx.rxKotlin) + + api(Libs.AndroidX.core) + api(Libs.Kotlin.stdlibJdk8) + api(Libs.KotlinX.coroutinesCore) + api(Libs.KotlinX.coroutinesAndroid) + api(Libs.KotlinX.coroutinesRx3) + api(Libs.KotlinX.serializationJson) +} \ No newline at end of file diff --git a/core/ui/build.gradle b/core/ui/build.gradle deleted file mode 100644 index d5ed2279d6..0000000000 --- a/core/ui/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" - -android { - namespace 'app.aaps.core.ui' - - buildFeatures { - viewBinding true - } -} - -dependencies { - - api "androidx.core:core-ktx:$core_version" - api "androidx.appcompat:appcompat:$appcompat_version" - api "androidx.preference:preference-ktx:$preferencektx_version" - - api "com.google.android.material:material:$material_version" - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" -} \ No newline at end of file diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts new file mode 100644 index 0000000000..0237acb232 --- /dev/null +++ b/core/ui/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("android-module-dependencies") +} + +android { + namespace = "app.aaps.core.ui" +} + +dependencies { + api(Libs.AndroidX.core) + api(Libs.AndroidX.appCompat) + api(Libs.AndroidX.preference) + + api(Libs.Google.Android.material) + + api(Libs.Dagger.android) + api(Libs.Dagger.androidSupport) +} \ No newline at end of file diff --git a/core/utils/build.gradle b/core/utils/build.gradle deleted file mode 100644 index 5afcf3b70c..0000000000 --- a/core/utils/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'app.aaps.core.utils' -} - -dependencies { - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - api "net.danlew:android.joda:$joda_version" - - //Firebase - api platform('com.google.firebase:firebase-bom:32.3.1') - api "com.google.firebase:firebase-analytics-ktx" - api "com.google.firebase:firebase-crashlytics-ktx" - // StatsActivity not in use now - // api "com.google.firebase:firebase-messaging-ktx" - // api 'com.google.firebase:firebase-auth-ktx' - // api 'com.google.firebase:firebase-database-ktx' - - //CryptoUtil - api 'com.madgag.spongycastle:core:1.58.0.0' - api "com.google.crypto.tink:tink-android:$tink_version" - - //WorkManager - api "androidx.work:work-runtime-ktx:$work_version" // DataWorkerStorage -} \ No newline at end of file diff --git a/core/utils/build.gradle.kts b/core/utils/build.gradle.kts new file mode 100644 index 0000000000..b747c2ec7e --- /dev/null +++ b/core/utils/build.gradle.kts @@ -0,0 +1,39 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-allopen") + id("android-module-dependencies") + id("all-open-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.core.utils" +} + +dependencies { + + api(Libs.jodaTimeAndroid) + + //Firebase + api(platform(Libs.Google.Firebase.firebaseBom)) + api(Libs.Google.Firebase.analytics) + api(Libs.Google.Firebase.crashlytics) + // StatsActivity not in use now + // api(Libs.Google.Firebase.messaging) + // api(Libs.Google.Firebase.auth) + // api(Libs.Google.Firebase.database) + + //CryptoUtil + api(Libs.spongycastleCore) + api(Libs.Google.tinkAndroid) + + //WorkManager + api(Libs.AndroidX.workRuntimeKtx) // DataWorkerStorage + + api(Libs.Dagger.android) + api(Libs.Dagger.androidSupport) +} \ No newline at end of file diff --git a/core/validators/build.gradle b/core/validators/build.gradle deleted file mode 100644 index 7b98cfe3d3..0000000000 --- a/core/validators/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.core.validators' -} - - -dependencies { - implementation project(':core:interfaces') - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - api "com.google.android.material:material:$material_version" -} \ No newline at end of file diff --git a/core/validators/build.gradle.kts b/core/validators/build.gradle.kts new file mode 100644 index 0000000000..a9d7b72177 --- /dev/null +++ b/core/validators/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.core.validators" +} + + +dependencies { + implementation(project(":core:interfaces")) + + api(Libs.Dagger.android) + api(Libs.Dagger.androidSupport) + api(Libs.Google.Android.material) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/database/entities/build.gradle.kts b/database/entities/build.gradle.kts index 3831333d35..d2bb87a15b 100644 --- a/database/entities/build.gradle.kts +++ b/database/entities/build.gradle.kts @@ -2,9 +2,7 @@ plugins { id("com.android.library") id("kotlin-android") id("kotlin-kapt") - id("kotlin-allopen") id("android-module-dependencies") - id("all-open-dependencies") id("test-dependencies") } diff --git a/database/impl/build.gradle.kts b/database/impl/build.gradle.kts index 08daa20c40..8186202d78 100644 --- a/database/impl/build.gradle.kts +++ b/database/impl/build.gradle.kts @@ -47,4 +47,6 @@ dependencies { api(Libs.Dagger.androidSupport) androidTestImplementation(Libs.AndroidX.Room.testing) + + kapt(Libs.Dagger.compiler) } \ No newline at end of file diff --git a/implementation/build.gradle b/implementation/build.gradle deleted file mode 100644 index 91e04b3be1..0000000000 --- a/implementation/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'app.aaps.implementation' -} - -dependencies { - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:main') - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:ui') - implementation project(':core:utils') - - testImplementation project(':shared:tests') - testImplementation project(':plugins:aps') - testImplementation project(':pump:virtual') - - // Protection - api 'androidx.biometric:biometric:1.1.0' -} \ No newline at end of file diff --git a/implementation/build.gradle.kts b/implementation/build.gradle.kts new file mode 100644 index 0000000000..83062288a5 --- /dev/null +++ b/implementation/build.gradle.kts @@ -0,0 +1,33 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("all-open-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.implementation" +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:main")) + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":plugins:aps")) + testImplementation(project(":pump:virtual")) + // Protection + api(Libs.AndroidX.biometric) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/insight/build.gradle b/insight/build.gradle deleted file mode 100644 index 95fd95d085..0000000000 --- a/insight/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'info.nightscout.androidaps.insight' - defaultConfig { - kapt { - arguments { - arg("room.incremental", "true") - arg("room.schemaLocation", "$projectDir/schemas") - } - } - } -} - -dependencies { - - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':pump:pump-common') - - api "androidx.room:room-ktx:$room_version" - api "androidx.room:room-runtime:$room_version" - api "androidx.room:room-rxjava3:$room_version" - kapt "androidx.room:room-compiler:$room_version" - - api "com.google.android.material:material:$material_version" -} \ No newline at end of file diff --git a/insight/build.gradle.kts b/insight/build.gradle.kts new file mode 100644 index 0000000000..f611ef6082 --- /dev/null +++ b/insight/build.gradle.kts @@ -0,0 +1,39 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") +android { + + namespace = "info.nightscout.androidaps.insight" + defaultConfig { + kapt { + arguments { + arg("room.incremental", "true") + arg("room.schemaLocation", "$projectDir/schemas") + } + } + } +} + +dependencies { + + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":pump:pump-common")) + + api(Libs.Google.Android.material) + api(Libs.AndroidX.Room.room) + api(Libs.AndroidX.Room.runtime) + api(Libs.AndroidX.Room.rxJava3) + + kapt(Libs.AndroidX.Room.compiler) + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/aps/build.gradle b/plugins/aps/build.gradle deleted file mode 100644 index 51bfc41d02..0000000000 --- a/plugins/aps/build.gradle +++ /dev/null @@ -1,36 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.aps' -} - -dependencies { - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:main') - implementation project(':core:interfaces') - implementation project(':core:nssdk') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - - testImplementation project(':pump:virtual') - testImplementation project(':shared:tests') - - api "androidx.appcompat:appcompat:$appcompat_version" - api "androidx.swiperefreshlayout:swiperefreshlayout:$swipe_version" - api "androidx.gridlayout:gridlayout:$gridlayout_version" - - // APS - api 'org.mozilla:rhino:1.7.14' -} \ No newline at end of file diff --git a/plugins/aps/build.gradle.kts b/plugins/aps/build.gradle.kts new file mode 100644 index 0000000000..4c9d8fa02c --- /dev/null +++ b/plugins/aps/build.gradle.kts @@ -0,0 +1,36 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.aps" +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:main")) + implementation(project(":core:interfaces")) + implementation(project(":core:nssdk")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + + testImplementation(project(":pump:virtual")) + testImplementation(project(":shared:tests")) + + api(Libs.AndroidX.appCompat) + api(Libs.AndroidX.swipeRefreshLayout) + api(Libs.AndroidX.gridLayout) + + // APS + api(Libs.Mozilla.rhino) + + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/automation/build.gradle b/plugins/automation/build.gradle deleted file mode 100644 index acf1ff0282..0000000000 --- a/plugins/automation/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.automation' -} - -dependencies { - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - implementation project(':database:entities') - implementation project(':database:impl') - - testImplementation project(':shared:tests') - testImplementation project(':shared:impl') - testImplementation project(':implementation') - testImplementation project(':plugins:main') - - api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" - api "com.google.android.gms:play-services-location:$play_services_location_version" -} \ No newline at end of file diff --git a/plugins/automation/build.gradle.kts b/plugins/automation/build.gradle.kts new file mode 100644 index 0000000000..e58073ddfe --- /dev/null +++ b/plugins/automation/build.gradle.kts @@ -0,0 +1,35 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.automation" +} + +dependencies { + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + implementation(project(":database:entities")) + implementation(project(":database:impl")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":shared:impl")) + testImplementation(project(":implementation")) + testImplementation(project(":plugins:main")) + + api(Libs.AndroidX.constraintLayout) + api(Libs.Google.Android.PlayServices.location) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/source/build.gradle b/plugins/source/build.gradle deleted file mode 100644 index 96e0678b7f..0000000000 --- a/plugins/source/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.source' -} - - -dependencies { - implementation project(':shared:impl') - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:nssdk') - implementation project(':core:ui') - implementation project(':core:utils') - - testImplementation project(':shared:tests') -} \ No newline at end of file diff --git a/plugins/source/build.gradle.kts b/plugins/source/build.gradle.kts new file mode 100644 index 0000000000..6fdf1fce31 --- /dev/null +++ b/plugins/source/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.source" +} + + +dependencies { + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":shared:impl")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:nssdk")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + testImplementation(project(":shared:tests")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file From 4ddef7a508d12da24e4cc152601585899fb6b9df Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 18 Oct 2023 17:04:02 +0200 Subject: [PATCH 15/39] gradle -> kts --- buildSrc/src/main/kotlin/Libs.kt | 20 ++++++- core/interfaces/build.gradle.kts | 2 +- core/main/build.gradle.kts | 2 +- core/utils/build.gradle.kts | 2 +- plugins/configuration/build.gradle | 34 ------------ plugins/configuration/build.gradle.kts | 35 ++++++++++++ plugins/constraints/build.gradle | 39 -------------- plugins/constraints/build.gradle.kts | 41 ++++++++++++++ plugins/insulin/build.gradle | 28 ---------- plugins/insulin/build.gradle.kts | 30 +++++++++++ plugins/main/build.gradle | 47 ---------------- plugins/main/build.gradle.kts | 49 +++++++++++++++++ plugins/sensitivity/build.gradle | 27 ---------- plugins/sensitivity/build.gradle.kts | 28 ++++++++++ plugins/smoothing/build.gradle | 22 -------- plugins/smoothing/build.gradle.kts | 23 ++++++++ plugins/sync/build.gradle | 54 ------------------- plugins/sync/build.gradle.kts | 54 +++++++++++++++++++ pump/combo/build.gradle | 31 ----------- pump/combo/build.gradle.kts | 33 ++++++++++++ .../{build.gradle => build.gradle.kts} | 48 +++++++++-------- pump/combov2/comboctl/build.gradle | 33 ------------ pump/combov2/comboctl/build.gradle.kts | 33 ++++++++++++ 23 files changed, 372 insertions(+), 343 deletions(-) delete mode 100644 plugins/configuration/build.gradle create mode 100644 plugins/configuration/build.gradle.kts delete mode 100644 plugins/constraints/build.gradle create mode 100644 plugins/constraints/build.gradle.kts delete mode 100644 plugins/insulin/build.gradle create mode 100644 plugins/insulin/build.gradle.kts delete mode 100644 plugins/main/build.gradle create mode 100644 plugins/main/build.gradle.kts delete mode 100644 plugins/sensitivity/build.gradle create mode 100644 plugins/sensitivity/build.gradle.kts delete mode 100644 plugins/smoothing/build.gradle create mode 100644 plugins/smoothing/build.gradle.kts delete mode 100644 plugins/sync/build.gradle create mode 100644 plugins/sync/build.gradle.kts delete mode 100644 pump/combo/build.gradle create mode 100644 pump/combo/build.gradle.kts rename pump/combov2/{build.gradle => build.gradle.kts} (51%) delete mode 100644 pump/combov2/comboctl/build.gradle create mode 100644 pump/combov2/comboctl/build.gradle.kts diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 0adcca23ac..d11d242eb2 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -5,8 +5,10 @@ object Libs { const val kotlin = "1.9.10" + const val platformBom = "org.jetbrains.kotlin:kotlin-bom" const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin" const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin" + const val testJunit5 = "org.jetbrains.kotlin:kotlin-test-junit5" const val reflect = "org.jetbrains.kotlin:kotlin-reflect:$kotlin" } @@ -17,11 +19,13 @@ object Libs { const val serializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization" const val serializationProtobuf = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization" + const val serializationCore = "org.jetbrains.kotlinx:kotlinx-serialization-core:$serialization" const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" const val coroutinesRx3 = "org.jetbrains.kotlinx:kotlinx-coroutines-rx3:$coroutinesVersion" const val coroutinesGuava = "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutinesVersion" const val coroutinesPlayServices = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutinesVersion" + const val coroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion" const val datetime = "org.jetbrains.kotlinx:kotlinx-datetime:0.4.1" } @@ -31,11 +35,17 @@ object Libs { const val appCompat = "androidx.appcompat:appcompat:1.6.1" const val activity = "androidx.activity:activity-ktx:1.8.0" const val preference = "androidx.preference:preference-ktx:1.2.1" - const val workRuntimeKtx = "androidx.work:work-runtime-ktx:2.8.1" const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.4" const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" const val gridLayout = "androidx.gridlayout:gridlayout:1.0.0" + const val browser = "androidx.browser:browser:1.6.0" + const val lifecycleViewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2" + object Work { + private const val workVersion = "2.8.1" + const val runtimeKtx = "androidx.work:work-runtime-ktx:$workVersion" + const val testing = "androidx.work:work-testing:$workVersion" + } object Test { const val espressoCore = "androidx.test.espresso:espresso-core:3.5.1" @@ -81,6 +91,7 @@ object Libs { } const val material = "com.google.android.material:material:1.10.0" + const val flexbox = "com.google.android.flexbox:flexbox:3.0.0" } object Firebase { @@ -134,6 +145,7 @@ object Libs { const val jupiter = "org.junit.jupiter:junit-jupiter:$junitVersion" const val jupiterApi = "org.junit.jupiter:junit-jupiter-api:$junitVersion" + const val jupiterEngine = "org.junit.jupiter:junit-jupiter-engine:$junitVersion" } object Mockito { @@ -172,8 +184,12 @@ object Libs { const val jodaTime = "joda-time:joda-time:2.12.5" const val json = "org.json:json:20230618" const val jsonAssert = "org.skyscreamer:jsonassert:1.5.0" + const val rootBeer = "com.scottyab:rootbeer-lib:0.1.0" + const val javaOtp = "com.eatthepath:java-otp:0.4.0" + const val qrGen = "com.github.kenglxn.QRGen:android:3.0.1" + const val socketIo = "io.socket:socket.io-client:2.1.0" + const val kotlinTestRunner = "io.kotlintest:kotlintest-runner-junit5:3.4.2" - const val lifecycle = "2.6.2" const val fragmentktx = "1.6.1" const val ormLite = "4.46" const val nav = "2.7.4" diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index 158b52a2a8..31c56ff239 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -45,7 +45,7 @@ dependencies { api(Libs.Rx.rxAndroid) // WorkerClasses - api(Libs.AndroidX.workRuntimeKtx) + api(Libs.AndroidX.Work.runtimeKtx) // TODO eliminate kapt from low level modules kapt(Libs.Dagger.compiler) diff --git a/core/main/build.gradle.kts b/core/main/build.gradle.kts index 146ed375ba..34b07c21e5 100644 --- a/core/main/build.gradle.kts +++ b/core/main/build.gradle.kts @@ -34,7 +34,7 @@ dependencies { api(Libs.Dagger.androidSupport) //WorkManager - api(Libs.AndroidX.workRuntimeKtx) // DataWorkerStorage + api(Libs.AndroidX.Work.runtimeKtx) // DataWorkerStorage kapt(Libs.Dagger.compiler) kapt(Libs.Dagger.androidProcessor) diff --git a/core/utils/build.gradle.kts b/core/utils/build.gradle.kts index b747c2ec7e..b6d17b87dc 100644 --- a/core/utils/build.gradle.kts +++ b/core/utils/build.gradle.kts @@ -32,7 +32,7 @@ dependencies { api(Libs.Google.tinkAndroid) //WorkManager - api(Libs.AndroidX.workRuntimeKtx) // DataWorkerStorage + api(Libs.AndroidX.Work.runtimeKtx) // DataWorkerStorage api(Libs.Dagger.android) api(Libs.Dagger.androidSupport) diff --git a/plugins/configuration/build.gradle b/plugins/configuration/build.gradle deleted file mode 100644 index b4272f7011..0000000000 --- a/plugins/configuration/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' - id 'kotlin-parcelize' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.configuration' -} - - -dependencies { - implementation project(':database:entities') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:nssdk') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - - testImplementation project(':shared:tests') - - //WorkManager - api "androidx.work:work-runtime-ktx:$work_version" - // Maintenance - api "androidx.gridlayout:gridlayout:$gridlayout_version" -} \ No newline at end of file diff --git a/plugins/configuration/build.gradle.kts b/plugins/configuration/build.gradle.kts new file mode 100644 index 0000000000..e9d67916f8 --- /dev/null +++ b/plugins/configuration/build.gradle.kts @@ -0,0 +1,35 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("kotlin-parcelize") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.configuration" +} + + +dependencies { + implementation(project(":database:entities")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:nssdk")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + + testImplementation(project(":shared:tests")) + + //WorkManager + api(Libs.AndroidX.Work.runtimeKtx) + // Maintenance + api(Libs.AndroidX.gridLayout) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/constraints/build.gradle b/plugins/constraints/build.gradle deleted file mode 100644 index 7bfbc09f70..0000000000 --- a/plugins/constraints/build.gradle +++ /dev/null @@ -1,39 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.constraints' -} - -dependencies { - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':core:validators') - implementation project(':database:entities') - - testImplementation project(':database:impl') - testImplementation project(':implementation') - testImplementation project(':insight') - testImplementation project(':plugins:aps') - testImplementation project(':plugins:source') - testImplementation project(':pump:combo') - testImplementation project(':pump:dana') - testImplementation project(':pump:danar') - testImplementation project(':pump:danars') - testImplementation project(':pump:virtual') - testImplementation project(':shared:tests') - - // Phone checker - api 'com.scottyab:rootbeer-lib:0.1.0' -} \ No newline at end of file diff --git a/plugins/constraints/build.gradle.kts b/plugins/constraints/build.gradle.kts new file mode 100644 index 0000000000..dce49e2eb0 --- /dev/null +++ b/plugins/constraints/build.gradle.kts @@ -0,0 +1,41 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") + id("all-open-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.constraints" +} + +dependencies { + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":core:validators")) + implementation(project(":database:entities")) + + testImplementation(project(":database:impl")) + testImplementation(project(":implementation")) + testImplementation(project(":insight")) + testImplementation(project(":plugins:aps")) + testImplementation(project(":plugins:source")) + testImplementation(project(":pump:combo")) + testImplementation(project(":pump:dana")) + testImplementation(project(":pump:danar")) + testImplementation(project(":pump:danars")) + testImplementation(project(":pump:virtual")) + testImplementation(project(":shared:tests")) + + // Phone checker + api(Libs.rootBeer) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/insulin/build.gradle b/plugins/insulin/build.gradle deleted file mode 100644 index 68909827ec..0000000000 --- a/plugins/insulin/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'app.aaps.plugins.insulin' -} - - -dependencies { - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':core:validators') - implementation project(':database:entities') - - testImplementation project(':shared:tests') - testImplementation project(':core:main') -} \ No newline at end of file diff --git a/plugins/insulin/build.gradle.kts b/plugins/insulin/build.gradle.kts new file mode 100644 index 0000000000..961a2b22c5 --- /dev/null +++ b/plugins/insulin/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.insulin" +} + + +dependencies { + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":core:validators")) + implementation(project(":database:entities")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":core:main")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/main/build.gradle b/plugins/main/build.gradle deleted file mode 100644 index 488b128ba5..0000000000 --- a/plugins/main/build.gradle +++ /dev/null @@ -1,47 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'app.aaps.plugins.main' -} - -dependencies { - implementation project(':shared:impl') - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:nssdk') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':core:validators') - - testImplementation project(':implementation') - testImplementation project(':plugins:insulin') - testImplementation project(':shared:tests') - - api "androidx.appcompat:appcompat:$appcompat_version" - api "com.google.android.material:material:$material_version" - - // Actions - api "androidx.gridlayout:gridlayout:$gridlayout_version" - - //SmsCommunicator - api 'com.eatthepath:java-otp:0.4.0' - api 'com.github.kenglxn.QRGen:android:3.0.1' - - // Overview - api 'com.google.android.flexbox:flexbox:3.0.0' - - // Food - api "androidx.work:work-runtime-ktx:$work_version" -} \ No newline at end of file diff --git a/plugins/main/build.gradle.kts b/plugins/main/build.gradle.kts new file mode 100644 index 0000000000..078f015b96 --- /dev/null +++ b/plugins/main/build.gradle.kts @@ -0,0 +1,49 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.main" +} + +dependencies { + implementation(project(":shared:impl")) + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:nssdk")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":core:validators")) + + testImplementation(project(":implementation")) + testImplementation(project(":plugins:insulin")) + testImplementation(project(":shared:tests")) + + api(Libs.AndroidX.appCompat) + api(Libs.Google.Android.material) + + // Actions + api(Libs.AndroidX.gridLayout) + + //SmsCommunicator + api(Libs.javaOtp) + api(Libs.qrGen) + + // Overview + api(Libs.Google.Android.flexbox) + + // Food + api(Libs.AndroidX.Work.runtimeKtx) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/sensitivity/build.gradle b/plugins/sensitivity/build.gradle deleted file mode 100644 index 76cc87e9d1..0000000000 --- a/plugins/sensitivity/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.sensitivity' -} - - -dependencies { - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:interfaces') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - - testImplementation project(':shared:tests') -} \ No newline at end of file diff --git a/plugins/sensitivity/build.gradle.kts b/plugins/sensitivity/build.gradle.kts new file mode 100644 index 0000000000..b853e4ee2f --- /dev/null +++ b/plugins/sensitivity/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.sensitivity" +} + + +dependencies { + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:interfaces")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + + testImplementation(project(":shared:tests")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/smoothing/build.gradle b/plugins/smoothing/build.gradle deleted file mode 100644 index 6001033f59..0000000000 --- a/plugins/smoothing/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.smoothing' -} - - -dependencies { - implementation project(':database:entities') - implementation project(':core:interfaces') - implementation project(':core:ui') -} \ No newline at end of file diff --git a/plugins/smoothing/build.gradle.kts b/plugins/smoothing/build.gradle.kts new file mode 100644 index 0000000000..830fe628af --- /dev/null +++ b/plugins/smoothing/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.smoothing" +} + + +dependencies { + implementation(project(":database:entities")) + implementation(project(":core:interfaces")) + implementation(project(":core:ui")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/plugins/sync/build.gradle b/plugins/sync/build.gradle deleted file mode 100644 index bf7bf2ad92..0000000000 --- a/plugins/sync/build.gradle +++ /dev/null @@ -1,54 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.plugins.sync' -} - -dependencies { - implementation project(':shared:impl') - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:nssdk') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':core:validators') - - testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version" - testImplementation "androidx.work:work-testing:$work_version" - - testImplementation project(':shared:tests') - testImplementation project(':implementation') - testImplementation project(':plugins:aps') - - // OpenHuman - api "com.squareup.okhttp3:okhttp:$okhttp3_version" - api "com.squareup.retrofit2:retrofit:$retrofit2_version" - api "androidx.browser:browser:1.6.0" - api "androidx.work:work-runtime-ktx:$work_version" - api "com.google.android.material:material:$material_version" - - // NSClient, Tidepool - api("io.socket:socket.io-client:2.1.0") - api "com.squareup.okhttp3:okhttp:$okhttp3_version" - api "com.squareup.okhttp3:logging-interceptor:$okhttp3_version" - api "com.squareup.retrofit2:adapter-rxjava3:$retrofit2_version" - api "com.squareup.retrofit2:converter-gson:$retrofit2_version" - - api "com.google.code.gson:gson:$gson_version" - - // DataLayerListenerService - api "com.google.android.gms:play-services-wearable:$play_services_wearable_version" -} \ No newline at end of file diff --git a/plugins/sync/build.gradle.kts b/plugins/sync/build.gradle.kts new file mode 100644 index 0000000000..37249f8397 --- /dev/null +++ b/plugins/sync/build.gradle.kts @@ -0,0 +1,54 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.plugins.sync" +} + +dependencies { + implementation(project(":shared:impl")) + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:nssdk")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":core:validators")) + + + testImplementation(Libs.KotlinX.coroutinesTest) + testImplementation(Libs.AndroidX.Work.testing) + + testImplementation(project(":shared:tests")) + testImplementation(project(":implementation")) + testImplementation(project(":plugins:aps")) + + // OpenHuman + api(Libs.Squareup.Okhttp3.okhttp) + api(Libs.Squareup.Retrofit2.retrofit) + api(Libs.AndroidX.browser) + api(Libs.AndroidX.Work.runtimeKtx) + api(Libs.Google.Android.material) + + // NSClient, Tidepool + api(Libs.socketIo) + api(Libs.Squareup.Okhttp3.loggingInterceptor) + api(Libs.Squareup.Retrofit2.adapterRxJava3) + api(Libs.Squareup.Retrofit2.converterGson) + api(Libs.Google.gson) + + // DataLayerListenerService + api(Libs.Google.Android.PlayServices.wearable) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle deleted file mode 100644 index 30b6112f1a..0000000000 --- a/pump/combo/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - - buildFeatures { - aidl true - } - namespace 'info.nightscout.pump.combo' -} - -dependencies { - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - - testImplementation project(':shared:tests') - - // RuffyScripter - api "com.google.guava:guava:$guava_version" -} \ No newline at end of file diff --git a/pump/combo/build.gradle.kts b/pump/combo/build.gradle.kts new file mode 100644 index 0000000000..95adcc9f27 --- /dev/null +++ b/pump/combo/build.gradle.kts @@ -0,0 +1,33 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + + buildFeatures { + aidl = true + } + namespace = "info.nightscout.pump.combo" +} + +dependencies { + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + testImplementation(project(":shared:tests")) + + // RuffyScripter + api(Libs.Google.guava) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/combov2/build.gradle b/pump/combov2/build.gradle.kts similarity index 51% rename from pump/combov2/build.gradle rename to pump/combov2/build.gradle.kts index e1bd39696a..8dc33ec5e1 100644 --- a/pump/combov2/build.gradle +++ b/pump/combov2/build.gradle.kts @@ -1,30 +1,36 @@ plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") } -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.pump.combov2" + buildFeatures { + dataBinding = true + } +} dependencies { - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) implementation(project(":pump:combov2:comboctl")) - api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" - api "org.jetbrains.kotlinx:kotlinx-datetime:$kotlinx_datetime_version" + api(Libs.AndroidX.lifecycleViewmodel) + api(Libs.KotlinX.datetime) // This is necessary to avoid errors like these which otherwise come up often at runtime: // "WARNING: Failed to transform class kotlinx/datetime/TimeZone$Companion // java.lang.NoClassDefFoundError: kotlinx/serialization/KSerializer" // - // "Rejecting re-init on previously-failed class java.lang.Class< + // "Rejecting re-init on(previously-failed class java.lang.Class< // kotlinx.datetime.serializers.LocalDateTimeIso8601Serializer>: // java.lang.NoClassDefFoundError: Failed resolution of: Lkotlinx/serialization/KSerializer" // @@ -34,12 +40,8 @@ dependencies { // // Source: https://github.com/mockk/mockk/issues/685#issuecomment-907076353: // TODO: Revisit this when upgrading kotlinx-datetime - runtimeOnly("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinx_serialization_version") -} + runtimeOnly(Libs.KotlinX.serializationCore) -android { - namespace 'info.nightscout.pump.combov2' - buildFeatures { - dataBinding true - } -} + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/combov2/comboctl/build.gradle b/pump/combov2/comboctl/build.gradle deleted file mode 100644 index c3744c2d9f..0000000000 --- a/pump/combov2/comboctl/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'info.nightscout.comboctl' - sourceSets { - main { - kotlin.srcDirs += ['src/commonMain/kotlin', 'src/androidMain/kotlin'] - manifest.srcFile 'src/androidMain/AndroidManifest.xml' - } - test { - kotlin.srcDirs += ['src/jvmTest/kotlin'] - } - } -} - -dependencies { - implementation platform("org.jetbrains.kotlin:kotlin-bom") - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-datetime:$kotlinx_datetime_version" - implementation "androidx.core:core-ktx:$core_version" - testImplementation 'org.jetbrains.kotlin:kotlin-test' - testImplementation 'org.jetbrains.kotlin:kotlin-test-junit5' - testImplementation "io.kotlintest:kotlintest-runner-junit5:3.4.2" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_jupiter_version" -} \ No newline at end of file diff --git a/pump/combov2/comboctl/build.gradle.kts b/pump/combov2/comboctl/build.gradle.kts new file mode 100644 index 0000000000..c26cf210ed --- /dev/null +++ b/pump/combov2/comboctl/build.gradle.kts @@ -0,0 +1,33 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.comboctl" + sourceSets.getByName("main") { + kotlin.srcDir("src/commonMain/kotlin") + kotlin.srcDir("src/androidMain/kotlin") + manifest.srcFile("src/androidMain/AndroidManifest.xml") + } + sourceSets.getByName("test") { + kotlin.srcDir("src/jvmTest/kotlin") + } +} + +dependencies { + implementation(platform(Libs.Kotlin.platformBom)) + testImplementation(Libs.Kotlin.test) + testImplementation(Libs.Kotlin.testJunit5) + + + api(Libs.KotlinX.coroutinesCore) + api(Libs.KotlinX.datetime) + api(Libs.AndroidX.core) + testImplementation(Libs.kotlinTestRunner) + testRuntimeOnly(Libs.JUnit.jupiterEngine) +} \ No newline at end of file From 532ad29ab05c7ef7c46bdcfdafa45cfd960ec41f Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 19 Oct 2023 17:05:51 +0200 Subject: [PATCH 16/39] gradle -> kts --- buildSrc/src/main/kotlin/Libs.kt | 13 +++++---- pump/dana/build.gradle | 40 -------------------------- pump/dana/build.gradle.kts | 41 ++++++++++++++++++++++++++ pump/danar/build.gradle | 28 ------------------ pump/danar/build.gradle.kts | 30 +++++++++++++++++++ pump/danars/build.gradle | 41 -------------------------- pump/danars/build.gradle.kts | 39 +++++++++++++++++++++++++ pump/diaconn/build.gradle | 42 --------------------------- pump/diaconn/build.gradle.kts | 43 ++++++++++++++++++++++++++++ pump/eopatch-core/build.gradle | 2 -- pump/eopatch-core/build.gradle.kts | 2 ++ pump/eopatch/build.gradle | 34 ---------------------- pump/eopatch/build.gradle.kts | 35 ++++++++++++++++++++++ pump/medtronic/build.gradle | 28 ------------------ pump/medtronic/build.gradle.kts | 30 +++++++++++++++++++ pump/medtrum/build.gradle | 32 --------------------- pump/medtrum/build.gradle.kts | 33 +++++++++++++++++++++ pump/omnipod-common/build.gradle | 28 ------------------ pump/omnipod-common/build.gradle.kts | 28 ++++++++++++++++++ 19 files changed, 289 insertions(+), 280 deletions(-) delete mode 100644 pump/dana/build.gradle create mode 100644 pump/dana/build.gradle.kts delete mode 100644 pump/danar/build.gradle create mode 100644 pump/danar/build.gradle.kts delete mode 100644 pump/danars/build.gradle create mode 100644 pump/danars/build.gradle.kts delete mode 100644 pump/diaconn/build.gradle create mode 100644 pump/diaconn/build.gradle.kts delete mode 100644 pump/eopatch-core/build.gradle create mode 100644 pump/eopatch-core/build.gradle.kts delete mode 100644 pump/eopatch/build.gradle create mode 100644 pump/eopatch/build.gradle.kts delete mode 100644 pump/medtronic/build.gradle create mode 100644 pump/medtronic/build.gradle.kts delete mode 100644 pump/medtrum/build.gradle create mode 100644 pump/medtrum/build.gradle.kts delete mode 100644 pump/omnipod-common/build.gradle create mode 100644 pump/omnipod-common/build.gradle.kts diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index d11d242eb2..29a4f92449 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -40,12 +40,16 @@ object Libs { const val gridLayout = "androidx.gridlayout:gridlayout:1.0.0" const val browser = "androidx.browser:browser:1.6.0" const val lifecycleViewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2" + const val fragment = "androidx.fragment:fragment-ktx:1.6.1" + const val navigationFragment = "androidx.navigation:navigation-fragment-ktx:2.7.4" object Work { - private const val workVersion = "2.8.1" + + private const val workVersion = "2.8.1" const val runtimeKtx = "androidx.work:work-runtime-ktx:$workVersion" const val testing = "androidx.work:work-testing:$workVersion" } + object Test { const val espressoCore = "androidx.test.espresso:espresso-core:3.5.1" @@ -72,6 +76,7 @@ object Libs { } const val biometric = "androidx.biometric:biometric:1.1.0" + const val media3 = "androidx.media3:media3-common:1.1.1" } object Google { @@ -189,8 +194,9 @@ object Libs { const val qrGen = "com.github.kenglxn.QRGen:android:3.0.1" const val socketIo = "io.socket:socket.io-client:2.1.0" const val kotlinTestRunner = "io.kotlintest:kotlintest-runner-junit5:3.4.2" + const val rxandroidBle = "com.polidea.rxandroidble3:rxandroidble:1.17.2" + const val rx3ReplayingShare = "com.jakewharton.rx3:replaying-share:3.0.0" - const val fragmentktx = "1.6.1" const val ormLite = "4.46" const val nav = "2.7.4" const val commonscodec = "1.16.0" @@ -203,9 +209,6 @@ object Libs { const val androidx_junit = "1.1.5" const val androidx_rules = "1.5.0" - const val rxandroidble = "1.12.1" - const val replayshare = "2.2.0" - const val kotlinx_datetime = "0.4.1" const val kotlinx_serialization = "1.6.0" diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle deleted file mode 100644 index 9f985c5304..0000000000 --- a/pump/dana/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'info.nightscout.pump.dana' - defaultConfig { - kapt { - arguments { - arg("room.incremental", "true") - arg("room.schemaLocation", "$projectDir/schemas") - } - } - } -} - -dependencies { - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - - api "androidx.room:room-ktx:$room_version" - api "androidx.room:room-runtime:$room_version" - api "androidx.room:room-rxjava3:$room_version" - kapt "androidx.room:room-compiler:$room_version" - - testImplementation project(':shared:tests') - testImplementation project(':core:main') // create profile from json -} \ No newline at end of file diff --git a/pump/dana/build.gradle.kts b/pump/dana/build.gradle.kts new file mode 100644 index 0000000000..b30ba3fcec --- /dev/null +++ b/pump/dana/build.gradle.kts @@ -0,0 +1,41 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + + namespace = "info.nightscout.pump.dana" + defaultConfig { + kapt { + arguments { + arg("room.incremental", "true") + arg("room.schemaLocation", "$projectDir/schemas") + } + } + } +} + +dependencies { + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + api(Libs.AndroidX.Room.room) + api(Libs.AndroidX.Room.runtime) + api(Libs.AndroidX.Room.rxJava3) + kapt(Libs.AndroidX.Room.compiler) + + testImplementation(project(":shared:tests")) + testImplementation(project(":core:main")) // create profile from json + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle deleted file mode 100644 index 04b0b7415d..0000000000 --- a/pump/danar/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'info.nightscout.androidaps.danar' -} - -dependencies { - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - implementation project(':pump:dana') - - api 'androidx.media3:media3-common:1.1.1' - - testImplementation project(':shared:tests') - testImplementation project(':core:main') -} \ No newline at end of file diff --git a/pump/danar/build.gradle.kts b/pump/danar/build.gradle.kts new file mode 100644 index 0000000000..1bc5d9dbc5 --- /dev/null +++ b/pump/danar/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.androidaps.danar" +} + +dependencies { + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + implementation(project(":pump:dana")) + + api(Libs.AndroidX.media3) + + testImplementation(project(":shared:tests")) + testImplementation(project(":core:main")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle deleted file mode 100644 index 472aa0545c..0000000000 --- a/pump/danars/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - ndkVersion "21.1.6352462" - namespace 'info.nightscout.pump.danars' - - defaultConfig { - - ndk { - moduleName "BleCommandUtil" - } - } - - sourceSets { - main { - jniLibs.srcDirs = ['src/main/jniLibs'] - } - } -} - -dependencies { - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - implementation project(':pump:dana') - - testImplementation project(':shared:tests') - testImplementation project(':core:main') -} \ No newline at end of file diff --git a/pump/danars/build.gradle.kts b/pump/danars/build.gradle.kts new file mode 100644 index 0000000000..360b7b6036 --- /dev/null +++ b/pump/danars/build.gradle.kts @@ -0,0 +1,39 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.pump.danars" + ndkVersion = Versions.ndkVersion + + defaultConfig { + ndk { + moduleName = "BleCommandUtil" + } + } + + sourceSets.getByName("main") { + jniLibs.srcDirs("src/main/jniLibs") + } +} + +dependencies { + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + implementation(project(":pump:dana")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":core:main")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle deleted file mode 100644 index c49e08945e..0000000000 --- a/pump/diaconn/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'info.nightscout.pump.diaconn' - defaultConfig { - kapt { - arguments { - arg("room.incremental", "true") - arg("room.schemaLocation", "$projectDir/schemas") - } - } - } -} - -dependencies { - implementation project(':shared:impl') - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - - api "androidx.room:room-ktx:$room_version" - api "androidx.room:room-runtime:$room_version" - api "androidx.room:room-rxjava3:$room_version" - kapt "androidx.room:room-compiler:$room_version" - - api "com.squareup.okhttp3:okhttp:$okhttp3_version" - api "com.squareup.retrofit2:retrofit:$retrofit2_version" - api "com.squareup.retrofit2:converter-gson:$retrofit2_version" -} \ No newline at end of file diff --git a/pump/diaconn/build.gradle.kts b/pump/diaconn/build.gradle.kts new file mode 100644 index 0000000000..396afb8e30 --- /dev/null +++ b/pump/diaconn/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + + namespace = "info.nightscout.pump.diaconn" + defaultConfig { + kapt { + arguments { + arg("room.incremental", "true") + arg("room.schemaLocation", "$projectDir/schemas") + } + } + } +} + +dependencies { + implementation(project(":shared:impl")) + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + + api(Libs.AndroidX.Room.room) + api(Libs.AndroidX.Room.runtime) + api(Libs.AndroidX.Room.rxJava3) + kapt(Libs.AndroidX.Room.compiler) + + api(Libs.Squareup.Okhttp3.okhttp) + api(Libs.Squareup.Retrofit2.retrofit) + api(Libs.Squareup.Retrofit2.converterGson) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/eopatch-core/build.gradle b/pump/eopatch-core/build.gradle deleted file mode 100644 index 37621a5a2b..0000000000 --- a/pump/eopatch-core/build.gradle +++ /dev/null @@ -1,2 +0,0 @@ -configurations.create("default") -artifacts.add("default", file('libs/eopatch_core.aar')) \ No newline at end of file diff --git a/pump/eopatch-core/build.gradle.kts b/pump/eopatch-core/build.gradle.kts new file mode 100644 index 0000000000..9ab3aa190d --- /dev/null +++ b/pump/eopatch-core/build.gradle.kts @@ -0,0 +1,2 @@ +configurations.create("default") +artifacts.add("default", file("libs/eopatch_core.aar")) \ No newline at end of file diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle deleted file mode 100644 index 6c35f41c74..0000000000 --- a/pump/eopatch/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'info.nightscout.androidaps.plugins.pump.eopatch' - dataBinding { - enabled = true - } -} - -dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation project(':pump:eopatch-core') - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':database:entities') - - api "com.google.guava:guava:$guava_version" - - //RxAndroidBle - implementation "com.polidea.rxandroidble3:rxandroidble:1.17.2" - implementation "com.jakewharton.rx3:replaying-share:3.0.0" -} \ No newline at end of file diff --git a/pump/eopatch/build.gradle.kts b/pump/eopatch/build.gradle.kts new file mode 100644 index 0000000000..159d00f8d1 --- /dev/null +++ b/pump/eopatch/build.gradle.kts @@ -0,0 +1,35 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.androidaps.plugins.pump.eopatch" + buildFeatures { + dataBinding = true + } +} + +dependencies { + implementation(project(":pump:eopatch-core")) + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":database:entities")) + + api(Libs.Google.guava) + + //RxAndroidBle + api(Libs.rxandroidBle) + api(Libs.rx3ReplayingShare) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle deleted file mode 100644 index fc3de1bb8c..0000000000 --- a/pump/medtronic/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'info.nightscout.androidaps.plugins.pump.medtronic' -} - -dependencies { - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':core:validators') - implementation project(':pump:pump-common') - implementation project(':pump:rileylink') - - testImplementation project(':shared:tests') - testImplementation project(':database:impl') -} diff --git a/pump/medtronic/build.gradle.kts b/pump/medtronic/build.gradle.kts new file mode 100644 index 0000000000..11c5ba4c10 --- /dev/null +++ b/pump/medtronic/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.androidaps.plugins.pump.medtronic" +} + +dependencies { + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":core:validators")) + implementation(project(":pump:pump-common")) + implementation(project(":pump:rileylink")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":database:impl")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} diff --git a/pump/medtrum/build.gradle b/pump/medtrum/build.gradle deleted file mode 100644 index afb4c23eb0..0000000000 --- a/pump/medtrum/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'info.nightscout.pump.medtrum' - dataBinding { - enabled = true - } -} - -dependencies { - implementation project(':database:entities') - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':core:validators') - implementation project(':pump:pump-common') - - testImplementation project(':shared:tests') - testImplementation project(':core:main') -} diff --git a/pump/medtrum/build.gradle.kts b/pump/medtrum/build.gradle.kts new file mode 100644 index 0000000000..c55212ca05 --- /dev/null +++ b/pump/medtrum/build.gradle.kts @@ -0,0 +1,33 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.pump.medtrum" + buildFeatures { + dataBinding = true + } +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":core:validators")) + implementation(project(":pump:pump-common")) + + testImplementation(project(":shared:tests")) + testImplementation(project(":core:main")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle deleted file mode 100644 index 3acdc8943a..0000000000 --- a/pump/omnipod-common/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'info.nightscout.androidaps.plugins.pump.omnipod.common' -} - -dependencies { - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:ui') - implementation project(':core:utils') - - api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" - api "androidx.fragment:fragment-ktx:$fragmentktx_version" - api "androidx.navigation:navigation-fragment-ktx:$nav_version" - - api "com.google.android.material:material:$material_version" -} \ No newline at end of file diff --git a/pump/omnipod-common/build.gradle.kts b/pump/omnipod-common/build.gradle.kts new file mode 100644 index 0000000000..b08a13e331 --- /dev/null +++ b/pump/omnipod-common/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.androidaps.plugins.pump.omnipod.common" +} + +dependencies { + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + api(Libs.AndroidX.constraintLayout) + api(Libs.AndroidX.fragment) + api(Libs.AndroidX.navigationFragment) + api(Libs.Google.Android.material) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file From de7a1ee51afce34ee8269871f9476f2b913d758e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 19 Oct 2023 21:18:14 +0200 Subject: [PATCH 17/39] gradle -> kts --- buildSrc/src/main/kotlin/Libs.kt | 5 +- core/main/allopen_dependencies.gradle | 4 -- core/main/android_module_dependencies.gradle | 61 -------------------- pump/omnipod-dash/build.gradle | 48 --------------- pump/omnipod-dash/build.gradle.kts | 48 +++++++++++++++ pump/omnipod-eros/build.gradle | 50 ---------------- pump/omnipod-eros/build.gradle.kts | 52 +++++++++++++++++ pump/pump-common/build.gradle | 26 --------- pump/pump-common/build.gradle.kts | 25 ++++++++ pump/rileylink/build.gradle | 22 ------- pump/rileylink/build.gradle.kts | 24 ++++++++ pump/virtual/build.gradle | 26 --------- pump/virtual/build.gradle.kts | 26 +++++++++ shared/impl/build.gradle | 24 -------- shared/impl/build.gradle.kts | 23 ++++++++ shared/tests/build.gradle | 34 ----------- shared/tests/build.gradle.kts | 29 ++++++++++ ui/build.gradle | 27 --------- ui/build.gradle.kts | 29 ++++++++++ workflow/build.gradle | 26 --------- workflow/build.gradle.kts | 28 +++++++++ 21 files changed, 287 insertions(+), 350 deletions(-) delete mode 100644 core/main/allopen_dependencies.gradle delete mode 100644 core/main/android_module_dependencies.gradle delete mode 100644 pump/omnipod-dash/build.gradle create mode 100644 pump/omnipod-dash/build.gradle.kts delete mode 100644 pump/omnipod-eros/build.gradle create mode 100644 pump/omnipod-eros/build.gradle.kts delete mode 100644 pump/pump-common/build.gradle create mode 100644 pump/pump-common/build.gradle.kts delete mode 100644 pump/rileylink/build.gradle create mode 100644 pump/rileylink/build.gradle.kts delete mode 100644 pump/virtual/build.gradle create mode 100644 pump/virtual/build.gradle.kts delete mode 100644 shared/impl/build.gradle create mode 100644 shared/impl/build.gradle.kts delete mode 100644 shared/tests/build.gradle create mode 100644 shared/tests/build.gradle.kts delete mode 100644 ui/build.gradle create mode 100644 ui/build.gradle.kts delete mode 100644 workflow/build.gradle create mode 100644 workflow/build.gradle.kts diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 29a4f92449..afc21096a3 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -196,10 +196,11 @@ object Libs { const val kotlinTestRunner = "io.kotlintest:kotlintest-runner-junit5:3.4.2" const val rxandroidBle = "com.polidea.rxandroidble3:rxandroidble:1.17.2" const val rx3ReplayingShare = "com.jakewharton.rx3:replaying-share:3.0.0" + const val commonCodecs = "commons-codec:commons-codec:1.16.0" + const val kulid = "com.github.guepardoapps:kulid:2.0.0.0" + const val xstream = "com.thoughtworks.xstream:xstream:1.4.20" const val ormLite = "4.46" - const val nav = "2.7.4" - const val commonscodec = "1.16.0" const val junit = "4.13.2" const val mockito = "5.6.0" diff --git a/core/main/allopen_dependencies.gradle b/core/main/allopen_dependencies.gradle deleted file mode 100644 index 14416d2e8c..0000000000 --- a/core/main/allopen_dependencies.gradle +++ /dev/null @@ -1,4 +0,0 @@ -allOpen { - // allows mocking for classes w/o directly opening them for release builds - annotation 'app.aaps.annotations.OpenForTesting' -} diff --git a/core/main/android_module_dependencies.gradle b/core/main/android_module_dependencies.gradle deleted file mode 100644 index f28776b8b1..0000000000 --- a/core/main/android_module_dependencies.gradle +++ /dev/null @@ -1,61 +0,0 @@ -android { - compileSdk 34 - defaultConfig { - minSdkVersion 28 - targetSdkVersion 28 - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - flavorDimensions = ["standard"] - productFlavors { - full { - getIsDefault().set(true) - dimension "standard" - } - pumpcontrol { - dimension "standard" - } - aapsclient { - dimension "standard" - } - aapsclient2 { - dimension "standard" - } - } - - // disable for modules here - buildFeatures { - viewBinding = true - buildConfig = false - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - - sourceSets { - main { - jniLibs.srcDirs = ['src/main/jniLibs'] - } - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } - - lint { - checkReleaseBuilds false - disable 'MissingTranslation' - disable 'ExtraTranslation' - } -} - -dependencies { - kapt "com.google.dagger:dagger-android-processor:$dagger_version" - kapt "com.google.dagger:dagger-compiler:$dagger_version" -} diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle deleted file mode 100644 index d414b36f9c..0000000000 --- a/pump/omnipod-dash/build.gradle +++ /dev/null @@ -1,48 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'info.nightscout.androidaps.plugins.pump.omnipod.dash' - defaultConfig { - kapt { - arguments { - arg("room.incremental", "true") - arg("room.schemaLocation", "$projectDir/schemas") - } - } - } -} - -dependencies { - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - implementation project(':pump:pump-common') - implementation project(':pump:omnipod-common') - - api "androidx.room:room-ktx:$room_version" - api "androidx.room:room-runtime:$room_version" - api "androidx.room:room-rxjava3:$room_version" - kapt "androidx.room:room-compiler:$room_version" - - androidTestImplementation project(':shared:tests') - testImplementation project(':shared:tests') - testImplementation "commons-codec:commons-codec:$commonscodec_version" - - api 'com.github.guepardoapps:kulid:2.0.0.0' -} diff --git a/pump/omnipod-dash/build.gradle.kts b/pump/omnipod-dash/build.gradle.kts new file mode 100644 index 0000000000..4b68eb3abf --- /dev/null +++ b/pump/omnipod-dash/build.gradle.kts @@ -0,0 +1,48 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + + namespace = "info.nightscout.androidaps.plugins.pump.omnipod.dash" + defaultConfig { + kapt { + arguments { + arg("room.incremental", "true") + arg("room.schemaLocation", "$projectDir/schemas") + } + } + } +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + implementation(project(":pump:pump-common")) + implementation(project(":pump:omnipod-common")) + + api(Libs.AndroidX.Room.room) + api(Libs.AndroidX.Room.runtime) + api(Libs.AndroidX.Room.rxJava3) + api(Libs.kulid) + + androidTestImplementation(project(":shared:tests")) + testImplementation(project(":shared:tests")) + testImplementation(Libs.commonCodecs) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) + kapt(Libs.AndroidX.Room.compiler) +} diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle deleted file mode 100644 index bed6dd815c..0000000000 --- a/pump/omnipod-eros/build.gradle +++ /dev/null @@ -1,50 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'info.nightscout.androidaps.plugins.pump.omnipod.eros' - defaultConfig { - kapt { - arguments { - arg("room.incremental", "true") - arg("room.schemaLocation", "$projectDir/schemas") - } - } - } -} - -dependencies { - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:libraries') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':core:ui') - implementation project(':core:validators') - implementation project(':pump:pump-common') - implementation project(':pump:rileylink') - implementation project(':pump:omnipod-common') - - testImplementation project(':shared:impl') - - api "androidx.room:room-ktx:$room_version" - api "androidx.room:room-runtime:$room_version" - api "androidx.room:room-rxjava3:$room_version" - kapt "androidx.room:room-compiler:$room_version" - - testImplementation project(':shared:tests') - // optional - Test helpers - testImplementation("androidx.room:room-testing:$room_version") - testImplementation project(':implementation') -} diff --git a/pump/omnipod-eros/build.gradle.kts b/pump/omnipod-eros/build.gradle.kts new file mode 100644 index 0000000000..1ebe77cd39 --- /dev/null +++ b/pump/omnipod-eros/build.gradle.kts @@ -0,0 +1,52 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + + namespace = "info.nightscout.androidaps.plugins.pump.omnipod.eros" + defaultConfig { + kapt { + arguments { + arg("room.incremental", "true") + arg("room.schemaLocation", "$projectDir/schemas") + } + } + } +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:libraries")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + implementation(project(":core:validators")) + implementation(project(":pump:pump-common")) + implementation(project(":pump:rileylink")) + implementation(project(":pump:omnipod-common")) + + api(Libs.AndroidX.Room.room) + api(Libs.AndroidX.Room.runtime) + api(Libs.AndroidX.Room.rxJava3) + + androidTestImplementation(project(":shared:tests")) + // optional - Test helpers + testImplementation(Libs.AndroidX.Room.testing) + testImplementation(project(":implementation")) + testImplementation(project(":shared:impl")) + testImplementation(project(":shared:tests")) + + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) + kapt(Libs.AndroidX.Room.compiler) +} diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle deleted file mode 100644 index 0844ae07a0..0000000000 --- a/pump/pump-common/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'info.nightscout.pump.common' -} - -dependencies { - implementation project(':core:interfaces') - implementation project(':core:utils') - - implementation('com.thoughtworks.xstream:xstream:1.4.20') { - exclude group: 'xmlpull', module: 'xmlpull' - } - - api "com.google.code.gson:gson:$gson_version" - implementation project(path: ':core:ui') -} diff --git a/pump/pump-common/build.gradle.kts b/pump/pump-common/build.gradle.kts new file mode 100644 index 0000000000..284ce51fa2 --- /dev/null +++ b/pump/pump-common/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.pump.common" +} + +dependencies { + implementation(project(":core:interfaces")) + implementation(project(":core:utils")) + implementation(project(":core:ui")) + + api(Libs.xstream) + api(Libs.Google.gson) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle deleted file mode 100644 index 773f5663f7..0000000000 --- a/pump/rileylink/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" -android { - namespace 'info.nightscout.androidaps.plugins.pump.common.hw.rileylink' -} - -dependencies { - implementation project(':core:interfaces') - implementation project(':core:ui') - implementation project(':pump:pump-common') - - testImplementation project(':shared:tests') -} diff --git a/pump/rileylink/build.gradle.kts b/pump/rileylink/build.gradle.kts new file mode 100644 index 0000000000..0305f4c1e4 --- /dev/null +++ b/pump/rileylink/build.gradle.kts @@ -0,0 +1,24 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "info.nightscout.androidaps.plugins.pump.common.hw.rileylink" +} + +dependencies { + implementation(project(":core:interfaces")) + implementation(project(":core:ui")) + implementation(project(":pump:pump-common")) + + testImplementation(project(":shared:tests")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} diff --git a/pump/virtual/build.gradle b/pump/virtual/build.gradle deleted file mode 100644 index d5c8563d53..0000000000 --- a/pump/virtual/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'app.aaps.pump.virtual' -} - -dependencies { - implementation project(':database:entities') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - - testImplementation project(':shared:tests') -} \ No newline at end of file diff --git a/pump/virtual/build.gradle.kts b/pump/virtual/build.gradle.kts new file mode 100644 index 0000000000..9f3855284f --- /dev/null +++ b/pump/virtual/build.gradle.kts @@ -0,0 +1,26 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.pump.virtual" +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + testImplementation(project(":shared:tests")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/shared/impl/build.gradle b/shared/impl/build.gradle deleted file mode 100644 index 9c5e3762a3..0000000000 --- a/shared/impl/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' - id 'kotlinx-serialization' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - - namespace 'app.aaps.shared.impl' - defaultConfig { - minSdkVersion 26 // for wear - } -} - -dependencies { - implementation project(':core:interfaces') -} \ No newline at end of file diff --git a/shared/impl/build.gradle.kts b/shared/impl/build.gradle.kts new file mode 100644 index 0000000000..999428294e --- /dev/null +++ b/shared/impl/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.shared.impl" + defaultConfig { + minSdk = Versions.wearMinSdk // for wear + } +} + +dependencies { + implementation(project(":core:interfaces")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/shared/tests/build.gradle b/shared/tests/build.gradle deleted file mode 100644 index 43bce750c4..0000000000 --- a/shared/tests/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlinx-serialization' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.shared.tests' -} - -dependencies { - implementation project(':database:entities') - implementation project(':shared:impl') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:utils') - implementation project(':implementation') - - - api "org.mockito:mockito-junit-jupiter:$mockito_version" - api "org.mockito.kotlin:mockito-kotlin:5.1.0" - api "org.junit.jupiter:junit-jupiter-api:$junit_jupiter_version" - - api "com.google.dagger:dagger:$dagger_version" - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" -} \ No newline at end of file diff --git a/shared/tests/build.gradle.kts b/shared/tests/build.gradle.kts new file mode 100644 index 0000000000..56da924512 --- /dev/null +++ b/shared/tests/build.gradle.kts @@ -0,0 +1,29 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("android-module-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.shared.tests" +} + +dependencies { + implementation(project(":database:entities")) + implementation(project(":shared:impl")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:utils")) + implementation(project(":implementation")) + + + api(Libs.Mockito.jupiter) + api(Libs.Mockito.kotlin) + api(Libs.JUnit.jupiterApi) + + //api "com.google.dagger:dagger:$dagger_version" + //api "com.google.dagger:dagger-android:$dagger_version" + //api "com.google.dagger:dagger-android-support:$dagger_version" +} \ No newline at end of file diff --git a/ui/build.gradle b/ui/build.gradle deleted file mode 100644 index 27e4a0fe55..0000000000 --- a/ui/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.ui' -} - -dependencies { - implementation project(':core:libraries') - implementation project(':core:graphview') - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - - testImplementation project(':shared:tests') -} \ No newline at end of file diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts new file mode 100644 index 0000000000..f368bab011 --- /dev/null +++ b/ui/build.gradle.kts @@ -0,0 +1,29 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.ui" +} + +dependencies { + implementation(project(":core:libraries")) + implementation(project(":core:graphview")) + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + + testImplementation(project(":shared:tests")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file diff --git a/workflow/build.gradle b/workflow/build.gradle deleted file mode 100644 index 50c3189809..0000000000 --- a/workflow/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'com.android.library' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - -android { - namespace 'app.aaps.workflow' -} - -dependencies { - implementation project(':core:libraries') - implementation project(':core:graphview') - implementation project(':core:interfaces') - implementation project(':core:main') - implementation project(':core:ui') - implementation project(':core:utils') - implementation project(':database:entities') - implementation project(':database:impl') - implementation project(':plugins:main') -} \ No newline at end of file diff --git a/workflow/build.gradle.kts b/workflow/build.gradle.kts new file mode 100644 index 0000000000..eb7a2a47fd --- /dev/null +++ b/workflow/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("kotlin-kapt") + id("android-module-dependencies") + id("test-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +android { + namespace = "app.aaps.workflow" +} + +dependencies { + implementation(project(":core:libraries")) + implementation(project(":core:graphview")) + implementation(project(":core:interfaces")) + implementation(project(":core:main")) + implementation(project(":core:ui")) + implementation(project(":core:utils")) + implementation(project(":database:entities")) + implementation(project(":database:impl")) + implementation(project(":plugins:main")) + + kapt(Libs.Dagger.compiler) + kapt(Libs.Dagger.androidProcessor) +} \ No newline at end of file From 741f3a92024985d402a3fc9b5d857dccb18ebfeb Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 19 Oct 2023 22:48:49 +0200 Subject: [PATCH 18/39] wear gradle -> kts --- app/build.gradle.kts | 3 - buildSrc/src/main/kotlin/Libs.kt | 1 + .../android-app-dependencies.gradle.kts | 4 + .../android-module-dependencies.gradle.kts | 8 +- .../kotlin/test-app-dependencies.gradle.kts | 53 ++++++ ...ts => test-module-dependencies.gradle.kts} | 0 core/interfaces/build.gradle.kts | 2 +- core/main/build.gradle.kts | 2 +- core/main/jacoco_global.gradle | 7 - core/main/test_dependencies.gradle | 40 ---- core/nssdk/build.gradle.kts | 2 +- core/utils/build.gradle.kts | 2 +- core/validators/build.gradle.kts | 2 +- database/entities/build.gradle.kts | 2 +- database/impl/build.gradle.kts | 2 +- implementation/build.gradle.kts | 2 +- insight/build.gradle.kts | 2 +- plugins/aps/build.gradle.kts | 2 +- plugins/automation/build.gradle.kts | 2 +- plugins/configuration/build.gradle.kts | 2 +- plugins/constraints/build.gradle.kts | 2 +- plugins/insulin/build.gradle.kts | 2 +- plugins/main/build.gradle.kts | 2 +- plugins/sensitivity/build.gradle.kts | 2 +- plugins/smoothing/build.gradle.kts | 2 +- plugins/source/build.gradle.kts | 2 +- plugins/sync/build.gradle.kts | 2 +- pump/combo/build.gradle.kts | 2 +- pump/combov2/build.gradle.kts | 2 +- pump/combov2/comboctl/build.gradle.kts | 2 +- pump/dana/build.gradle.kts | 2 +- pump/danar/build.gradle.kts | 2 +- pump/danars/build.gradle.kts | 2 +- pump/diaconn/build.gradle.kts | 2 +- pump/eopatch/build.gradle.kts | 2 +- pump/medtronic/build.gradle.kts | 4 +- pump/medtrum/build.gradle.kts | 2 +- pump/omnipod-common/build.gradle.kts | 2 +- pump/omnipod-dash/build.gradle.kts | 2 +- pump/omnipod-eros/build.gradle.kts | 2 +- pump/pump-common/build.gradle.kts | 2 +- pump/rileylink/build.gradle.kts | 2 +- pump/virtual/build.gradle.kts | 2 +- shared/impl/build.gradle.kts | 2 +- ui/build.gradle.kts | 2 +- wear/build.gradle | 174 ------------------ wear/build.gradle.kts | 116 ++++++++++++ .../libs/hellocharts-library-1.5.8.aar | Bin .../libs/ustwo-clockwise-debug.aar | Bin .../libs/wearpreferenceactivity-0.5.0.aar | Bin workflow/build.gradle.kts | 2 +- 51 files changed, 219 insertions(+), 265 deletions(-) create mode 100644 buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts rename buildSrc/src/main/kotlin/{test-dependencies.gradle.kts => test-module-dependencies.gradle.kts} (100%) delete mode 100644 core/main/test_dependencies.gradle delete mode 100644 wear/build.gradle create mode 100644 wear/build.gradle.kts rename {core/libraries => wear}/libs/hellocharts-library-1.5.8.aar (100%) rename {core/libraries => wear}/libs/ustwo-clockwise-debug.aar (100%) rename {core/libraries => wear}/libs/wearpreferenceactivity-0.5.0.aar (100%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 24d6e741de..cb7502e773 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,7 +1,6 @@ import java.io.ByteArrayOutputStream import java.text.SimpleDateFormat import java.util.Date -import kotlin.io.println plugins { id("com.android.application") @@ -13,8 +12,6 @@ plugins { } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") -apply(from = "${project.rootDir}/core/main/test_dependencies.gradle") - repositories { mavenCentral() diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 20cd87da5b..cff5e2d34f 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -42,6 +42,7 @@ object Libs { const val lifecycleViewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2" const val fragment = "androidx.fragment:fragment-ktx:1.6.1" const val navigationFragment = "androidx.navigation:navigation-fragment-ktx:2.7.4" + const val legacySupport = "androidx.legacy:legacy-support-v13:1.0.0" object Work { diff --git a/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts index 2229c8d87e..a134c05e76 100644 --- a/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/android-app-dependencies.gradle.kts @@ -22,6 +22,10 @@ android { isMinifyEnabled = false setProguardFiles(listOf(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")) } + named("debug") { + enableUnitTestCoverage = true + enableAndroidTestCoverage = true + } } compileOptions { diff --git a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts index 4e6f9b7a76..c95e263536 100644 --- a/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/android-module-dependencies.gradle.kts @@ -6,9 +6,9 @@ plugins { android { compileSdk = Versions.compileSdk defaultConfig { - minSdk = 28 + minSdk = Versions.minSdk @Suppress("DEPRECATION") - targetSdk = 28 + targetSdk = Versions.targetSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -18,6 +18,10 @@ android { isMinifyEnabled = false setProguardFiles(listOf(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")) } + named("debug") { + enableUnitTestCoverage = true + enableAndroidTestCoverage = true + } } sourceSets { diff --git a/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts new file mode 100644 index 0000000000..87209655de --- /dev/null +++ b/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts @@ -0,0 +1,53 @@ +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLogEvent + +plugins { + id("com.android.application") + id("kotlin-android") +} + +dependencies { + testImplementation(Libs.Kotlin.test) + testImplementation(Libs.JUnit.jupiter) + testImplementation(Libs.JUnit.jupiterApi) + testImplementation(Libs.json) + testImplementation(Libs.Mockito.jupiter) + testImplementation(Libs.Mockito.kotlin) + testImplementation(Libs.jodaTime) + testImplementation(Libs.Google.truth) + testImplementation(Libs.jsonAssert) + + androidTestImplementation(Libs.AndroidX.Test.espressoCore) + androidTestImplementation(Libs.AndroidX.Test.extKtx) + androidTestImplementation(Libs.AndroidX.Test.rules) + //androidTestImplementation(Libs.AndroidX.Test.uiAutomator) +} + +tasks.withType { + // use to display stdout in travis + testLogging { + // set options for log level LIFECYCLE + events = setOf( + TestLogEvent.FAILED, + TestLogEvent.STARTED, + TestLogEvent.SKIPPED, + TestLogEvent.STANDARD_OUT + ) + exceptionFormat = TestExceptionFormat.FULL + useJUnitPlatform() + } +} + +tasks.withType().configureEach { + maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1) + forkEvery = 20 +} + +android { + testOptions { + unitTests { + isReturnDefaultValues = true + isIncludeAndroidResources = true + } + } +} diff --git a/buildSrc/src/main/kotlin/test-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts similarity index 100% rename from buildSrc/src/main/kotlin/test-dependencies.gradle.kts rename to buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index 31c56ff239..6454e6befb 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("kotlin-parcelize") id("kotlinx-serialization") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/core/main/build.gradle.kts b/core/main/build.gradle.kts index 34b07c21e5..48aef57a52 100644 --- a/core/main/build.gradle.kts +++ b/core/main/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("kotlin-parcelize") id("android-module-dependencies") id("all-open-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/core/main/jacoco_global.gradle b/core/main/jacoco_global.gradle index 3863fd0102..bad27e4fe7 100644 --- a/core/main/jacoco_global.gradle +++ b/core/main/jacoco_global.gradle @@ -93,10 +93,3 @@ def setupAndroidReporting() { } } -android { - buildTypes { - debug { - testCoverageEnabled true - } - } -} \ No newline at end of file diff --git a/core/main/test_dependencies.gradle b/core/main/test_dependencies.gradle deleted file mode 100644 index 800cb42b2e..0000000000 --- a/core/main/test_dependencies.gradle +++ /dev/null @@ -1,40 +0,0 @@ -dependencies { - //testImplementation "junit:junit:$junit_version" - testImplementation 'org.jetbrains.kotlin:kotlin-test:1.9.10' - testImplementation "org.junit.jupiter:junit-jupiter:$junit_jupiter_version" - testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_jupiter_version" - testImplementation "org.json:json:$json_version" - testImplementation "org.mockito:mockito-junit-jupiter:$mockito_version" - testImplementation "org.mockito.kotlin:mockito-kotlin:4.1.0" - testImplementation "joda-time:joda-time:$jodatime_version" - testImplementation 'com.google.truth:truth:1.1.5' - testImplementation "org.skyscreamer:jsonassert:1.5.0" - - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' - androidTestImplementation "androidx.test.ext:junit-ktx:$androidx_junit_version" - androidTestImplementation "androidx.test:rules:$androidx_rules_version" - - androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' -} - -tasks.matching { it instanceof Test }.all { - //testLogging.events = ["failed", "skipped", "started"] - // use to display stdout in travis - testLogging.events = ["failed", "skipped", "started", "standard_out"] - testLogging.exceptionFormat = "full" - useJUnitPlatform() -} - -android { - testOptions { - unitTests { - returnDefaultValues = true - includeAndroidResources = true - - all { - maxParallelForks = 10 - forkEvery = 20 - } - } - } -} diff --git a/core/nssdk/build.gradle.kts b/core/nssdk/build.gradle.kts index 45b53a5da8..b166503a10 100644 --- a/core/nssdk/build.gradle.kts +++ b/core/nssdk/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlinx-serialization") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } android { diff --git a/core/utils/build.gradle.kts b/core/utils/build.gradle.kts index b6d17b87dc..71d7d96f7c 100644 --- a/core/utils/build.gradle.kts +++ b/core/utils/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("kotlin-allopen") id("android-module-dependencies") id("all-open-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/core/validators/build.gradle.kts b/core/validators/build.gradle.kts index a9d7b72177..a0bbdfeb45 100644 --- a/core/validators/build.gradle.kts +++ b/core/validators/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/database/entities/build.gradle.kts b/database/entities/build.gradle.kts index d2bb87a15b..db37ef8927 100644 --- a/database/entities/build.gradle.kts +++ b/database/entities/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } android { diff --git a/database/impl/build.gradle.kts b/database/impl/build.gradle.kts index 8186202d78..297ece9cc4 100644 --- a/database/impl/build.gradle.kts +++ b/database/impl/build.gradle.kts @@ -4,7 +4,7 @@ plugins { id("kotlin-kapt") id("kotlin-allopen") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/implementation/build.gradle.kts b/implementation/build.gradle.kts index 83062288a5..c68a3211cd 100644 --- a/implementation/build.gradle.kts +++ b/implementation/build.gradle.kts @@ -4,7 +4,7 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("all-open-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/insight/build.gradle.kts b/insight/build.gradle.kts index f611ef6082..b62eae7095 100644 --- a/insight/build.gradle.kts +++ b/insight/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/aps/build.gradle.kts b/plugins/aps/build.gradle.kts index 4c9d8fa02c..1bad435573 100644 --- a/plugins/aps/build.gradle.kts +++ b/plugins/aps/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/automation/build.gradle.kts b/plugins/automation/build.gradle.kts index e58073ddfe..6c5615cfe5 100644 --- a/plugins/automation/build.gradle.kts +++ b/plugins/automation/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/configuration/build.gradle.kts b/plugins/configuration/build.gradle.kts index e9d67916f8..ffa40d3556 100644 --- a/plugins/configuration/build.gradle.kts +++ b/plugins/configuration/build.gradle.kts @@ -4,7 +4,7 @@ plugins { id("kotlin-kapt") id("kotlin-parcelize") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/constraints/build.gradle.kts b/plugins/constraints/build.gradle.kts index dce49e2eb0..cdaa7fdc04 100644 --- a/plugins/constraints/build.gradle.kts +++ b/plugins/constraints/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") id("all-open-dependencies") } diff --git a/plugins/insulin/build.gradle.kts b/plugins/insulin/build.gradle.kts index 961a2b22c5..56bd432a5a 100644 --- a/plugins/insulin/build.gradle.kts +++ b/plugins/insulin/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/main/build.gradle.kts b/plugins/main/build.gradle.kts index 078f015b96..b7a2184282 100644 --- a/plugins/main/build.gradle.kts +++ b/plugins/main/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/sensitivity/build.gradle.kts b/plugins/sensitivity/build.gradle.kts index b853e4ee2f..8d97c7db2f 100644 --- a/plugins/sensitivity/build.gradle.kts +++ b/plugins/sensitivity/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/smoothing/build.gradle.kts b/plugins/smoothing/build.gradle.kts index 830fe628af..9d612710a5 100644 --- a/plugins/smoothing/build.gradle.kts +++ b/plugins/smoothing/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/source/build.gradle.kts b/plugins/source/build.gradle.kts index 6fdf1fce31..244cdb7b47 100644 --- a/plugins/source/build.gradle.kts +++ b/plugins/source/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/plugins/sync/build.gradle.kts b/plugins/sync/build.gradle.kts index 37249f8397..5db40cd140 100644 --- a/plugins/sync/build.gradle.kts +++ b/plugins/sync/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/combo/build.gradle.kts b/pump/combo/build.gradle.kts index 95adcc9f27..aceaa5418b 100644 --- a/pump/combo/build.gradle.kts +++ b/pump/combo/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/combov2/build.gradle.kts b/pump/combov2/build.gradle.kts index 8dc33ec5e1..3e3d7ed73e 100644 --- a/pump/combov2/build.gradle.kts +++ b/pump/combov2/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/combov2/comboctl/build.gradle.kts b/pump/combov2/comboctl/build.gradle.kts index c26cf210ed..545ce3fdf2 100644 --- a/pump/combov2/comboctl/build.gradle.kts +++ b/pump/combov2/comboctl/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("com.android.library") id("kotlin-android") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/dana/build.gradle.kts b/pump/dana/build.gradle.kts index b30ba3fcec..3f223198cd 100644 --- a/pump/dana/build.gradle.kts +++ b/pump/dana/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/danar/build.gradle.kts b/pump/danar/build.gradle.kts index 1bc5d9dbc5..fb0644393e 100644 --- a/pump/danar/build.gradle.kts +++ b/pump/danar/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/danars/build.gradle.kts b/pump/danars/build.gradle.kts index 360b7b6036..f76b29187c 100644 --- a/pump/danars/build.gradle.kts +++ b/pump/danars/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/diaconn/build.gradle.kts b/pump/diaconn/build.gradle.kts index 396afb8e30..b05c29cfa2 100644 --- a/pump/diaconn/build.gradle.kts +++ b/pump/diaconn/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/eopatch/build.gradle.kts b/pump/eopatch/build.gradle.kts index 159d00f8d1..b8317c64d7 100644 --- a/pump/eopatch/build.gradle.kts +++ b/pump/eopatch/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/medtronic/build.gradle.kts b/pump/medtronic/build.gradle.kts index 11c5ba4c10..c17f1a63d6 100644 --- a/pump/medtronic/build.gradle.kts +++ b/pump/medtronic/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") @@ -24,7 +24,7 @@ dependencies { testImplementation(project(":shared:tests")) testImplementation(project(":database:impl")) - + kapt(Libs.Dagger.compiler) kapt(Libs.Dagger.androidProcessor) } diff --git a/pump/medtrum/build.gradle.kts b/pump/medtrum/build.gradle.kts index c55212ca05..242c15cd71 100644 --- a/pump/medtrum/build.gradle.kts +++ b/pump/medtrum/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/omnipod-common/build.gradle.kts b/pump/omnipod-common/build.gradle.kts index b08a13e331..d1aa2127a4 100644 --- a/pump/omnipod-common/build.gradle.kts +++ b/pump/omnipod-common/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/omnipod-dash/build.gradle.kts b/pump/omnipod-dash/build.gradle.kts index 4b68eb3abf..5af1097055 100644 --- a/pump/omnipod-dash/build.gradle.kts +++ b/pump/omnipod-dash/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/omnipod-eros/build.gradle.kts b/pump/omnipod-eros/build.gradle.kts index 1ebe77cd39..3e72a54c88 100644 --- a/pump/omnipod-eros/build.gradle.kts +++ b/pump/omnipod-eros/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/pump-common/build.gradle.kts b/pump/pump-common/build.gradle.kts index 284ce51fa2..601102d151 100644 --- a/pump/pump-common/build.gradle.kts +++ b/pump/pump-common/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/rileylink/build.gradle.kts b/pump/rileylink/build.gradle.kts index 0305f4c1e4..3682f1c5b4 100644 --- a/pump/rileylink/build.gradle.kts +++ b/pump/rileylink/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/pump/virtual/build.gradle.kts b/pump/virtual/build.gradle.kts index 9f3855284f..e2350981c1 100644 --- a/pump/virtual/build.gradle.kts +++ b/pump/virtual/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/shared/impl/build.gradle.kts b/shared/impl/build.gradle.kts index 999428294e..25056e51bf 100644 --- a/shared/impl/build.gradle.kts +++ b/shared/impl/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index f368bab011..759741ad6f 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") diff --git a/wear/build.gradle b/wear/build.gradle deleted file mode 100644 index 11c4ddad0f..0000000000 --- a/wear/build.gradle +++ /dev/null @@ -1,174 +0,0 @@ -buildscript { - repositories { - google() - mavenCentral() - } - - dependencies { - classpath "org.jacoco:org.jacoco.core:0.8.11" - } -} - -plugins { - id 'com.android.application' - id 'kotlin-android' - id 'kotlin-kapt' - id 'kotlin-allopen' -} - -apply from: "${project.rootDir}/core/main/test_dependencies.gradle" -apply from: "${project.rootDir}/core/main/jacoco_global.gradle" - - -def generateGitBuild = { -> - - StringBuilder stringBuilder = new StringBuilder() - stringBuilder.append('"') - try { - def stdout = new ByteArrayOutputStream() - exec { - commandLine 'git', 'describe', '--always' - standardOutput = stdout - } - String commitObject = stdout.toString().trim() - stringBuilder.append(commitObject) - } catch (ignored) { - stringBuilder.append('NoGitSystemAvailable') - } - stringBuilder.append('-') - stringBuilder.append((new Date()).format('yyyy.MM.dd')) - stringBuilder.append('"') - return stringBuilder.toString() -} - -android { - namespace 'app.aaps.wear' - - compileSdk 34 - - defaultConfig { - minSdkVersion 26 - targetSdkVersion 29 - versionCode 2 - versionName "1.0.3" - buildConfigField "String", "BUILDVERSION", generateGitBuild() - } - - buildFeatures { - viewBinding true - } - - flavorDimensions = ["standard"] - productFlavors { - full { - isDefault = true - applicationId "info.nightscout.androidaps" - dimension "standard" - versionName version - } - pumpcontrol { - applicationId "info.nightscout.aapspumpcontrol" - dimension "standard" - versionName version + "-pumpcontrol" - } - aapsclient { - applicationId "info.nightscout.aapsclient" - dimension "standard" - versionName version + "-aapsclient" - } - aapsclient2 { - applicationId "info.nightscout.aapsclient2" - dimension "standard" - versionName version + "-aapsclient" - } - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - - sourceSets { - main { - jniLibs.srcDirs = ['src/main/jniLibs'] - } - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } - - lint { - checkReleaseBuilds false - disable 'MissingTranslation' - disable 'ExtraTranslation' - } -} - -allprojects { - repositories { - google() - mavenCentral() - } - apply plugin: 'jacoco' -} - - -dependencies { - implementation project(':shared:impl') - implementation project(':core:interfaces') - - implementation fileTree(include: ['*.jar'], dir: 'libs') - - implementation "androidx.appcompat:appcompat:$appcompat_version" - implementation "androidx.core:core-ktx:$core_version" - implementation 'androidx.legacy:legacy-support-v13:1.0.0' - implementation "androidx.preference:preference-ktx:$preferencektx_version" - implementation 'androidx.wear:wear:1.3.0' - implementation 'androidx.wear.tiles:tiles:1.2.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - testImplementation project(':shared:tests') - - compileOnly "com.google.android.wearable:wearable:$wearable_version" - implementation "com.google.android.support:wearable:$wearable_version" - implementation "com.google.android.gms:play-services-wearable:$play_services_wearable_version" - implementation(files("${rootProject.rootDir}/core/libraries/libs/ustwo-clockwise-debug.aar")) - implementation(files("${rootProject.rootDir}/core/libraries/libs/wearpreferenceactivity-0.5.0.aar")) - implementation(files("${rootProject.rootDir}/core/libraries/libs/hellocharts-library-1.5.8.aar")) - - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-datetime:$kotlinx_datetime_version" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - - // for old fashioned support-app version - implementation "com.google.dagger:dagger:$dagger_version" - implementation "com.google.dagger:dagger-android:$dagger_version" - implementation "com.google.dagger:dagger-android-support:$dagger_version" - - kapt "com.google.dagger:dagger-android-processor:$dagger_version" - kapt "com.google.dagger:dagger-compiler:$dagger_version" -} -repositories { - mavenCentral() -} - -// 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' - } -} diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts new file mode 100644 index 0000000000..851d3be7b4 --- /dev/null +++ b/wear/build.gradle.kts @@ -0,0 +1,116 @@ +import java.io.ByteArrayOutputStream +import java.text.SimpleDateFormat +import java.util.Date + +plugins { + id("com.android.application") + id("kotlin-android") + id("kotlin-kapt") + id("android-app-dependencies") + id("test-app-dependencies") +} + +apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") + +repositories { + google() + mavenCentral() +} + +fun generateGitBuild(): String { + val stringBuilder: StringBuilder = StringBuilder() + try { + val stdout = ByteArrayOutputStream() + exec { + commandLine("git", "describe", "--always") + standardOutput = stdout + } + val commitObject = stdout.toString().trim() + stringBuilder.append(commitObject) + } catch (ignored: Exception) { + stringBuilder.append("NoGitSystemAvailable") + } + return stringBuilder.toString() +} + +fun generateDate(): String { + val stringBuilder: StringBuilder = StringBuilder() + // showing only date prevents app to rebuild everytime + stringBuilder.append(SimpleDateFormat("yyyy.MM.dd").format(Date())) + return stringBuilder.toString() +} + + +android { + namespace = "app.aaps.wear" + + defaultConfig { + minSdk = Versions.wearMinSdk + targetSdk = Versions.wearTargetSdk + + buildConfigField("String", "BUILDVERSION", "\"${generateGitBuild()}-${generateDate()}\"") + } + + flavorDimensions.add("standard") + productFlavors { + create("full") { + isDefault = true + applicationId = "info.nightscout.androidaps" + dimension = "standard" + versionName = Versions.appVersion + } + create("pumpcontrol") { + applicationId = "info.nightscout.aapspumpcontrol" + dimension = "standard" + versionName = Versions.appVersion + "-pumpcontrol" + } + create("aapsclient") { + applicationId = "info.nightscout.aapsclient" + dimension = "standard" + versionName = Versions.appVersion + "-aapsclient" + } + create("aapsclient2") { + applicationId = "info.nightscout.aapsclient2" + dimension = "standard" + versionName = Versions.appVersion + "-aapsclient2" + } + } +} + +allprojects { + repositories { + } +} + + +dependencies { + implementation(project(":shared:impl")) + implementation(project(":core:interfaces")) + + implementation(Libs.AndroidX.appCompat) + implementation(Libs.AndroidX.core) + implementation(Libs.AndroidX.legacySupport) + implementation(Libs.AndroidX.preference) + implementation(Libs.AndroidX.Wear.wear) + implementation(Libs.AndroidX.Wear.tiles) + implementation(Libs.AndroidX.constraintLayout) + + testImplementation(project(":shared:tests")) + + compileOnly(Libs.Google.Android.Wearable.wearable) + implementation(Libs.Google.Android.Wearable.wearableSupport) + implementation(Libs.Google.Android.PlayServices.wearable) + implementation(files("${rootDir}/wear/libs/ustwo-clockwise-debug.aar")) + implementation(files("${rootDir}/wear/libs/wearpreferenceactivity-0.5.0.aar")) + implementation(files("${rootDir}/wear/libs/hellocharts-library-1.5.8.aar")) + + implementation(Libs.KotlinX.coroutinesCore) + implementation(Libs.KotlinX.coroutinesAndroid) + implementation(Libs.KotlinX.coroutinesGuava) + implementation(Libs.KotlinX.coroutinesPlayServices) + implementation(Libs.KotlinX.datetime) + implementation(Libs.Kotlin.stdlibJdk8) + + kapt(Libs.Dagger.androidProcessor) + kapt(Libs.Dagger.compiler) +} diff --git a/core/libraries/libs/hellocharts-library-1.5.8.aar b/wear/libs/hellocharts-library-1.5.8.aar similarity index 100% rename from core/libraries/libs/hellocharts-library-1.5.8.aar rename to wear/libs/hellocharts-library-1.5.8.aar diff --git a/core/libraries/libs/ustwo-clockwise-debug.aar b/wear/libs/ustwo-clockwise-debug.aar similarity index 100% rename from core/libraries/libs/ustwo-clockwise-debug.aar rename to wear/libs/ustwo-clockwise-debug.aar diff --git a/core/libraries/libs/wearpreferenceactivity-0.5.0.aar b/wear/libs/wearpreferenceactivity-0.5.0.aar similarity index 100% rename from core/libraries/libs/wearpreferenceactivity-0.5.0.aar rename to wear/libs/wearpreferenceactivity-0.5.0.aar diff --git a/workflow/build.gradle.kts b/workflow/build.gradle.kts index eb7a2a47fd..3a6016a28a 100644 --- a/workflow/build.gradle.kts +++ b/workflow/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-dependencies") + id("test-module-dependencies") } apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") From 9bd4a06b18ba4b68b2b046cbc8176634a5291cca Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Oct 2023 10:49:54 +0200 Subject: [PATCH 19/39] migrate to global kts plugin --- app/build.gradle.kts | 3 +- buildSrc/src/main/kotlin/Libs.kt | 3 - buildSrc/src/main/kotlin/Versions.kt | 1 + .../kotlin/jacoco-app-dependencies.gradle.kts | 207 ++++++++++++++++++ .../jacoco-module-dependencies.gradle.kts | 207 ++++++++++++++++++ .../kotlin/test-app-dependencies.gradle.kts | 2 +- .../test-module-dependencies.gradle.kts | 2 +- core/interfaces/build.gradle.kts | 3 +- core/main/build.gradle.kts | 3 +- core/main/jacoco_global.gradle | 95 -------- core/utils/build.gradle.kts | 3 +- core/validators/build.gradle.kts | 3 +- database/impl/build.gradle.kts | 3 +- implementation/build.gradle.kts | 3 +- insight/build.gradle.kts | 2 +- plugins/aps/build.gradle.kts | 3 +- plugins/automation/build.gradle.kts | 3 +- plugins/configuration/build.gradle.kts | 3 +- plugins/constraints/build.gradle.kts | 3 +- plugins/insulin/build.gradle.kts | 3 +- plugins/main/build.gradle.kts | 3 +- plugins/sensitivity/build.gradle.kts | 3 +- plugins/smoothing/build.gradle.kts | 4 +- plugins/source/build.gradle.kts | 3 +- plugins/sync/build.gradle.kts | 3 +- pump/combo/build.gradle.kts | 3 +- pump/combov2/build.gradle.kts | 4 +- pump/combov2/comboctl/build.gradle.kts | 10 +- pump/dana/build.gradle.kts | 3 +- pump/danar/build.gradle.kts | 4 +- pump/danars/build.gradle.kts | 3 +- pump/diaconn/build.gradle.kts | 4 +- pump/eopatch/build.gradle.kts | 4 +- pump/medtronic/build.gradle.kts | 3 +- pump/medtrum/build.gradle.kts | 3 +- pump/omnipod-common/build.gradle.kts | 4 +- pump/omnipod-dash/build.gradle.kts | 3 +- pump/omnipod-eros/build.gradle.kts | 3 +- pump/pump-common/build.gradle.kts | 3 +- pump/rileylink/build.gradle.kts | 3 +- pump/virtual/build.gradle.kts | 3 +- shared/impl/build.gradle.kts | 3 +- shared/tests/build.gradle.kts | 3 +- ui/build.gradle.kts | 3 +- wear/build.gradle.kts | 3 +- workflow/build.gradle.kts | 4 +- 46 files changed, 458 insertions(+), 189 deletions(-) create mode 100644 buildSrc/src/main/kotlin/jacoco-app-dependencies.gradle.kts create mode 100644 buildSrc/src/main/kotlin/jacoco-module-dependencies.gradle.kts delete mode 100644 core/main/jacoco_global.gradle diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cb7502e773..94fcf31e70 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -9,10 +9,9 @@ plugins { id("com.google.gms.google-services") id("com.google.firebase.crashlytics") id("android-app-dependencies") + id("jacoco-app-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - repositories { mavenCentral() google() diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index cff5e2d34f..719175d1a0 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -5,10 +5,7 @@ object Libs { const val kotlin = "1.9.10" - const val platformBom = "org.jetbrains.kotlin:kotlin-bom" const val stdlibJdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin" - const val test = "org.jetbrains.kotlin:kotlin-test:$kotlin" - const val testJunit5 = "org.jetbrains.kotlin:kotlin-test-junit5" const val reflect = "org.jetbrains.kotlin:kotlin-reflect:$kotlin" } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index f90a3d5a98..7eacef9f80 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -14,4 +14,5 @@ object Versions { const val wearTargetSdk = 29 val javaVersion = JavaVersion.VERSION_11 + const val jacoco = "0.8.11" } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/jacoco-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/jacoco-app-dependencies.gradle.kts new file mode 100644 index 0000000000..db9a293e9e --- /dev/null +++ b/buildSrc/src/main/kotlin/jacoco-app-dependencies.gradle.kts @@ -0,0 +1,207 @@ +import groovy.xml.XmlSlurper +import groovy.xml.slurpersupport.NodeChild +import java.io.File +import java.util.Locale +import org.gradle.api.GradleException +import org.gradle.api.Project +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.extra +import org.gradle.kotlin.dsl.register +import org.gradle.testing.jacoco.tasks.JacocoReport +import kotlin.math.roundToInt + +plugins { + id("com.android.application") + id("jacoco") +} + +private val limits = mutableMapOf( + "instruction" to 0.0, + "branch" to 0.0, + "line" to 0.0, + "complexity" to 0.0, + "method" to 0.0, + "class" to 0.0 +) + +extra.set("limits", limits) + +dependencies { + "implementation"("org.jacoco:org.jacoco.core:${Versions.jacoco}") +} + +project.afterEvaluate { + val buildTypes = android.buildTypes.map { type -> type.name } + var productFlavors = android.productFlavors.map { flavor -> flavor.name } + + if (productFlavors.isEmpty()) { + productFlavors = productFlavors + "" + } + + productFlavors.forEach { flavorName -> + buildTypes.forEach { buildTypeName -> + val sourceName: String + val sourcePath: String + + if (flavorName.isEmpty()) { + sourceName = buildTypeName + sourcePath = buildTypeName + } else { + sourceName = "${flavorName}${buildTypeName.replaceFirstChar(Char::titlecase)}" + sourcePath = "${flavorName}/${buildTypeName}" + } + + val testTaskName = "test${sourceName.replaceFirstChar(Char::titlecase)}UnitTest" + //println("Task -> $testTaskName") + + registerCodeCoverageTask( + testTaskName = testTaskName, + sourceName = sourceName, + sourcePath = sourcePath, + flavorName = flavorName, + buildTypeName = buildTypeName + ) + } + } +} + +val excludedFiles = mutableSetOf( + // data binding + "android/databinding/**/*.class", + "**/android/databinding/*Binding.class", + "**/android/databinding/*", + "**/androidx/databinding/*", + "**/BR.*", + // android + "**/R.class", + "**/R$*.class", + "**/BuildConfig.*", + "**/Manifest*.*", + "**/*Test*.*", + "android/**/*.*", + // kotlin + "**/*MapperImpl*.*", + "**/*\$ViewInjector*.*", + "**/*\$ViewBinder*.*", + "**/BuildConfig.*", + "**/*Component*.*", + "**/*BR*.*", + "**/Manifest*.*", + "**/*\$Lambda\$*.*", + "**/*Companion*.*", + "**/*Module*.*", + "**/*Dagger*.*", + "**/*Hilt*.*", + "**/*MembersInjector*.*", + "**/*_MembersInjector.class", + "**/*_Factory*.*", + "**/*_Provide*Factory*.*", + "**/*Extensions*.*", + // sealed and data classes + "**/*\$Result.*", + "**/*\$Result\$*.*", + // adapters generated by moshi + "**/*JsonAdapter.*" +) + +fun Project.registerCodeCoverageTask( + testTaskName: String, + sourceName: String, + sourcePath: String, + flavorName: String, + buildTypeName: String +) { + tasks.register("${testTaskName}Coverage") { + dependsOn(testTaskName) + group = "Reporting" + description = "Generate Jacoco coverage reports on the ${sourceName.replaceFirstChar(Char::titlecase)} build." + + val javaDirectories = fileTree( + "${project.buildDir}/intermediates/classes/${sourcePath}" + ) { exclude(excludedFiles) } + + val kotlinDirectories = fileTree( + "${project.buildDir}/tmp/kotlin-classes/${sourcePath}" + ) { exclude(excludedFiles) } + + val coverageSrcDirectories = listOf( + "src/main/java", + "src/main/kotlin", + "src/$flavorName/java", + "src/$flavorName/kotlin", + "src/$buildTypeName/java", + "src/$buildTypeName/kotlin" + ) + + classDirectories.setFrom(files(javaDirectories, kotlinDirectories)) + additionalClassDirs.setFrom(files(coverageSrcDirectories)) + sourceDirectories.setFrom(files(coverageSrcDirectories)) + executionData.setFrom( + files("${project.buildDir}/jacoco/${testTaskName}.exec") + ) + + reports { + xml.required.set(true) + html.required.set(true) + } + + doLast { + jacocoTestReport("${testTaskName}Coverage") + } + } +} + +@Suppress("UNCHECKED_CAST") +fun Project.jacocoTestReport(testTaskName: String) { + val reportsDirectory = jacoco.reportsDirectory.asFile.get() + val report = file("$reportsDirectory/${testTaskName}/${testTaskName}.xml") + + logger.lifecycle("Checking coverage results: $report") + + val metrics = report.extractTestsCoveredByType() + val limits = project.extra["limits"] as Map + + val failures = metrics.filter { entry -> + entry.value < limits[entry.key]!! + }.map { entry -> + "- ${entry.key} coverage rate is: ${entry.value}%, minimum is ${limits[entry.key]}%" + } + + if (failures.isNotEmpty()) { + logger.quiet("------------------ Code Coverage Failed -----------------------") + failures.forEach { logger.quiet(it) } + logger.quiet("---------------------------------------------------------------") + throw GradleException("Code coverage failed") + } + + logger.quiet("------------------ Code Coverage Success -----------------------") + metrics.forEach { entry -> + logger.quiet("- ${entry.key} coverage rate is: ${entry.value}%") + } + logger.quiet("---------------------------------------------------------------") +} + +@Suppress("UNCHECKED_CAST") +fun File.extractTestsCoveredByType(): Map { + val xmlReader = XmlSlurper().apply { + setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false) + setFeature("http://apache.org/xml/features/disallow-doctype-decl", false) + } + + val counterNodes: List = xmlReader + .parse(this).parent() + .children() + .filter { + (it as NodeChild).name() == "counter" + } as List + + return counterNodes.associate { nodeChild -> + val type = nodeChild.attributes()["type"].toString().lowercase(Locale.ENGLISH) + + val covered = nodeChild.attributes()["covered"].toString().toDouble() + val missed = nodeChild.attributes()["missed"].toString().toDouble() + val percentage = ((covered / (covered + missed)) * 10000.0).roundToInt() / 100.0 + + Pair(type, percentage) + } +} diff --git a/buildSrc/src/main/kotlin/jacoco-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/jacoco-module-dependencies.gradle.kts new file mode 100644 index 0000000000..e199e8ff78 --- /dev/null +++ b/buildSrc/src/main/kotlin/jacoco-module-dependencies.gradle.kts @@ -0,0 +1,207 @@ +import groovy.xml.XmlSlurper +import groovy.xml.slurpersupport.NodeChild +import java.io.File +import java.util.Locale +import org.gradle.api.GradleException +import org.gradle.api.Project +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.extra +import org.gradle.kotlin.dsl.register +import org.gradle.testing.jacoco.tasks.JacocoReport +import kotlin.math.roundToInt + +plugins { + id("com.android.library") + id("jacoco") +} + +private val limits = mutableMapOf( + "instruction" to 0.0, + "branch" to 0.0, + "line" to 0.0, + "complexity" to 0.0, + "method" to 0.0, + "class" to 0.0 +) + +extra.set("limits", limits) + +dependencies { + "implementation"("org.jacoco:org.jacoco.core:${Versions.jacoco}") +} + +project.afterEvaluate { + val buildTypes = android.buildTypes.map { type -> type.name } + var productFlavors = android.productFlavors.map { flavor -> flavor.name } + + if (productFlavors.isEmpty()) { + productFlavors = productFlavors + "" + } + + productFlavors.forEach { flavorName -> + buildTypes.forEach { buildTypeName -> + val sourceName: String + val sourcePath: String + + if (flavorName.isEmpty()) { + sourceName = buildTypeName + sourcePath = buildTypeName + } else { + sourceName = "${flavorName}${buildTypeName.replaceFirstChar(Char::titlecase)}" + sourcePath = "${flavorName}/${buildTypeName}" + } + + val testTaskName = "test${sourceName.replaceFirstChar(Char::titlecase)}UnitTest" + //println("Task -> $testTaskName") + + registerCodeCoverageTask( + testTaskName = testTaskName, + sourceName = sourceName, + sourcePath = sourcePath, + flavorName = flavorName, + buildTypeName = buildTypeName + ) + } + } +} + +val excludedFiles = mutableSetOf( + // data binding + "android/databinding/**/*.class", + "**/android/databinding/*Binding.class", + "**/android/databinding/*", + "**/androidx/databinding/*", + "**/BR.*", + // android + "**/R.class", + "**/R$*.class", + "**/BuildConfig.*", + "**/Manifest*.*", + "**/*Test*.*", + "android/**/*.*", + // kotlin + "**/*MapperImpl*.*", + "**/*\$ViewInjector*.*", + "**/*\$ViewBinder*.*", + "**/BuildConfig.*", + "**/*Component*.*", + "**/*BR*.*", + "**/Manifest*.*", + "**/*\$Lambda\$*.*", + "**/*Companion*.*", + "**/*Module*.*", + "**/*Dagger*.*", + "**/*Hilt*.*", + "**/*MembersInjector*.*", + "**/*_MembersInjector.class", + "**/*_Factory*.*", + "**/*_Provide*Factory*.*", + "**/*Extensions*.*", + // sealed and data classes + "**/*\$Result.*", + "**/*\$Result\$*.*", + // adapters generated by moshi + "**/*JsonAdapter.*" +) + +fun Project.registerCodeCoverageTask( + testTaskName: String, + sourceName: String, + sourcePath: String, + flavorName: String, + buildTypeName: String +) { + tasks.register("${testTaskName}Coverage") { + dependsOn(testTaskName) + group = "Reporting" + description = "Generate Jacoco coverage reports on the ${sourceName.replaceFirstChar(Char::titlecase)} build." + + val javaDirectories = fileTree( + "${project.buildDir}/intermediates/classes/${sourcePath}" + ) { exclude(excludedFiles) } + + val kotlinDirectories = fileTree( + "${project.buildDir}/tmp/kotlin-classes/${sourcePath}" + ) { exclude(excludedFiles) } + + val coverageSrcDirectories = listOf( + "src/main/java", + "src/main/kotlin", + "src/$flavorName/java", + "src/$flavorName/kotlin", + "src/$buildTypeName/java", + "src/$buildTypeName/kotlin" + ) + + classDirectories.setFrom(files(javaDirectories, kotlinDirectories)) + additionalClassDirs.setFrom(files(coverageSrcDirectories)) + sourceDirectories.setFrom(files(coverageSrcDirectories)) + executionData.setFrom( + files("${project.buildDir}/jacoco/${testTaskName}.exec") + ) + + reports { + xml.required.set(true) + html.required.set(true) + } + + doLast { + jacocoTestReport("${testTaskName}Coverage") + } + } +} + +@Suppress("UNCHECKED_CAST") +fun Project.jacocoTestReport(testTaskName: String) { + val reportsDirectory = jacoco.reportsDirectory.asFile.get() + val report = file("$reportsDirectory/${testTaskName}/${testTaskName}.xml") + + logger.lifecycle("Checking coverage results: $report") + + val metrics = report.extractTestsCoveredByType() + val limits = project.extra["limits"] as Map + + val failures = metrics.filter { entry -> + entry.value < limits[entry.key]!! + }.map { entry -> + "- ${entry.key} coverage rate is: ${entry.value}%, minimum is ${limits[entry.key]}%" + } + + if (failures.isNotEmpty()) { + logger.quiet("------------------ Code Coverage Failed -----------------------") + failures.forEach { logger.quiet(it) } + logger.quiet("---------------------------------------------------------------") + throw GradleException("Code coverage failed") + } + + logger.quiet("------------------ Code Coverage Success -----------------------") + metrics.forEach { entry -> + logger.quiet("- ${entry.key} coverage rate is: ${entry.value}%") + } + logger.quiet("---------------------------------------------------------------") +} + +@Suppress("UNCHECKED_CAST") +fun File.extractTestsCoveredByType(): Map { + val xmlReader = XmlSlurper().apply { + setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false) + setFeature("http://apache.org/xml/features/disallow-doctype-decl", false) + } + + val counterNodes: List = xmlReader + .parse(this).parent() + .children() + .filter { + (it as NodeChild).name() == "counter" + } as List + + return counterNodes.associate { nodeChild -> + val type = nodeChild.attributes()["type"].toString().lowercase(Locale.ENGLISH) + + val covered = nodeChild.attributes()["covered"].toString().toDouble() + val missed = nodeChild.attributes()["missed"].toString().toDouble() + val percentage = ((covered / (covered + missed)) * 10000.0).roundToInt() / 100.0 + + Pair(type, percentage) + } +} diff --git a/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts index 87209655de..ed3ccac3b6 100644 --- a/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts @@ -7,7 +7,7 @@ plugins { } dependencies { - testImplementation(Libs.Kotlin.test) + testImplementation(kotlin("test")) testImplementation(Libs.JUnit.jupiter) testImplementation(Libs.JUnit.jupiterApi) testImplementation(Libs.json) diff --git a/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts index bd895eef5d..f3c04f1680 100644 --- a/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts @@ -7,7 +7,7 @@ plugins { } dependencies { - testImplementation(Libs.Kotlin.test) + testImplementation(kotlin("test")) testImplementation(Libs.JUnit.jupiter) testImplementation(Libs.JUnit.jupiterApi) testImplementation(Libs.json) diff --git a/core/interfaces/build.gradle.kts b/core/interfaces/build.gradle.kts index 6454e6befb..4e62e26615 100644 --- a/core/interfaces/build.gradle.kts +++ b/core/interfaces/build.gradle.kts @@ -6,10 +6,9 @@ plugins { id("kotlinx-serialization") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.core.interfaces" diff --git a/core/main/build.gradle.kts b/core/main/build.gradle.kts index 48aef57a52..8968e8631d 100644 --- a/core/main/build.gradle.kts +++ b/core/main/build.gradle.kts @@ -6,10 +6,9 @@ plugins { id("android-module-dependencies") id("all-open-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.core.main" } diff --git a/core/main/jacoco_global.gradle b/core/main/jacoco_global.gradle deleted file mode 100644 index bad27e4fe7..0000000000 --- a/core/main/jacoco_global.gradle +++ /dev/null @@ -1,95 +0,0 @@ -project.afterEvaluate { project -> - setupAndroidReporting() -} - -def setupAndroidReporting() { - tasks.withType(Test) { - // Whether or not classes without source location should be instrumented - jacoco.includeNoLocationClasses = true - jacoco.excludes = ['jdk.internal.*'] - } - - def buildTypes = ["debug", "fullDebug"] - - def productFlavors = android.productFlavors.collect { flavor -> - flavor.name - } - // When no product flavors defined, use empty - if (!productFlavors) productFlavors.add('') - productFlavors.each { productFlavorName -> - buildTypes.each { buildTypeName -> - def sourceName, sourcePath - if (!productFlavorName) { - sourceName = sourcePath = "${buildTypeName}" - } else { - sourceName = "${productFlavorName}${buildTypeName.capitalize()}" - sourcePath = "${productFlavorName}/${buildTypeName}" - } - def testTaskName = "test${sourceName.capitalize()}UnitTest" - // System.out.println("Task -> $testTaskName") - - // Create coverage task of form 'testFlavorTypeCoverage' depending on 'testFlavorTypeUnitTest' - task "${testTaskName}Coverage"(type: JacocoReport, dependsOn: "$testTaskName") { - group = "Reporting" - description = "Generate Jacoco coverage reports on the ${sourceName.capitalize()} build." - - def fileFilter = [ - // data binding - 'android/databinding/**/*.class', - '**/android/databinding/*Binding.class', - '**/android/databinding/*', - '**/androidx/databinding/*', - '**/BR.*', - // android - '**/R.class', - '**/R$*.class', - '**/BuildConfig.*', - '**/Manifest*.*', - '**/*Test*.*', - 'android/**/*.*', - // kotlin - '**/*MapperImpl*.*', - '**/*$ViewInjector*.*', - '**/*$ViewBinder*.*', - '**/BuildConfig.*', - '**/*Component*.*', - '**/*BR*.*', - '**/Manifest*.*', - '**/*$Lambda$*.*', - '**/*Companion*.*', - '**/*Module*.*', - '**/*Dagger*.*', - '**/*Hilt*.*', - '**/*MembersInjector*.*', - '**/*_MembersInjector.class', - '**/*_Factory*.*', - '**/*_Provide*Factory*.*', - '**/*Extensions*.*', - // sealed and data classes - '**/*$Result.*', - '**/*$Result$*.*', - // adapters generated by moshi - '**/*JsonAdapter.*', - ] - - def javaTree = fileTree(dir: "${project.buildDir}/intermediates/javac/$sourceName/classes", excludes: fileFilter) - def kotlinTree = fileTree(dir: "${project.buildDir}/tmp/kotlin-classes/$sourceName", excludes: fileFilter) - classDirectories.from = files([javaTree], [kotlinTree]) - executionData.from = files("${project.buildDir}/jacoco/${testTaskName}.exec") - def coverageSourceDirs = ["src/main/java", - "src/$productFlavorName/java", - "src/$buildTypeName/java"] - - sourceDirectories.setFrom(files(coverageSourceDirs)) - additionalSourceDirs.setFrom(files(coverageSourceDirs)) - - reports { - csv.required = false - xml.required = true - html.required = true - } - } - } - } -} - diff --git a/core/utils/build.gradle.kts b/core/utils/build.gradle.kts index 71d7d96f7c..f5366c8fd6 100644 --- a/core/utils/build.gradle.kts +++ b/core/utils/build.gradle.kts @@ -6,10 +6,9 @@ plugins { id("android-module-dependencies") id("all-open-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.core.utils" } diff --git a/core/validators/build.gradle.kts b/core/validators/build.gradle.kts index a0bbdfeb45..8b82e097e5 100644 --- a/core/validators/build.gradle.kts +++ b/core/validators/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.core.validators" } diff --git a/database/impl/build.gradle.kts b/database/impl/build.gradle.kts index 297ece9cc4..612b649d93 100644 --- a/database/impl/build.gradle.kts +++ b/database/impl/build.gradle.kts @@ -5,10 +5,9 @@ plugins { id("kotlin-allopen") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.database.impl" diff --git a/implementation/build.gradle.kts b/implementation/build.gradle.kts index c68a3211cd..1e42bffd00 100644 --- a/implementation/build.gradle.kts +++ b/implementation/build.gradle.kts @@ -5,10 +5,9 @@ plugins { id("android-module-dependencies") id("all-open-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.implementation" } diff --git a/insight/build.gradle.kts b/insight/build.gradle.kts index b62eae7095..4e2a561932 100644 --- a/insight/build.gradle.kts +++ b/insight/build.gradle.kts @@ -4,9 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") android { namespace = "info.nightscout.androidaps.insight" diff --git a/plugins/aps/build.gradle.kts b/plugins/aps/build.gradle.kts index 1bad435573..fae1e7a91d 100644 --- a/plugins/aps/build.gradle.kts +++ b/plugins/aps/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.aps" } diff --git a/plugins/automation/build.gradle.kts b/plugins/automation/build.gradle.kts index 6c5615cfe5..a0d4361dd5 100644 --- a/plugins/automation/build.gradle.kts +++ b/plugins/automation/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.automation" } diff --git a/plugins/configuration/build.gradle.kts b/plugins/configuration/build.gradle.kts index ffa40d3556..0a16c630da 100644 --- a/plugins/configuration/build.gradle.kts +++ b/plugins/configuration/build.gradle.kts @@ -5,10 +5,9 @@ plugins { id("kotlin-parcelize") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.configuration" } diff --git a/plugins/constraints/build.gradle.kts b/plugins/constraints/build.gradle.kts index cdaa7fdc04..3bd3c95a85 100644 --- a/plugins/constraints/build.gradle.kts +++ b/plugins/constraints/build.gradle.kts @@ -5,10 +5,9 @@ plugins { id("android-module-dependencies") id("test-module-dependencies") id("all-open-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.constraints" } diff --git a/plugins/insulin/build.gradle.kts b/plugins/insulin/build.gradle.kts index 56bd432a5a..33e7514873 100644 --- a/plugins/insulin/build.gradle.kts +++ b/plugins/insulin/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.insulin" } diff --git a/plugins/main/build.gradle.kts b/plugins/main/build.gradle.kts index b7a2184282..62f7951e91 100644 --- a/plugins/main/build.gradle.kts +++ b/plugins/main/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.main" } diff --git a/plugins/sensitivity/build.gradle.kts b/plugins/sensitivity/build.gradle.kts index 8d97c7db2f..c81647e025 100644 --- a/plugins/sensitivity/build.gradle.kts +++ b/plugins/sensitivity/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.sensitivity" } diff --git a/plugins/smoothing/build.gradle.kts b/plugins/smoothing/build.gradle.kts index 9d612710a5..8acf11e836 100644 --- a/plugins/smoothing/build.gradle.kts +++ b/plugins/smoothing/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.smoothing" } diff --git a/plugins/source/build.gradle.kts b/plugins/source/build.gradle.kts index 244cdb7b47..df0c6cf34a 100644 --- a/plugins/source/build.gradle.kts +++ b/plugins/source/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.source" } diff --git a/plugins/sync/build.gradle.kts b/plugins/sync/build.gradle.kts index 5db40cd140..e0b7a0d1ad 100644 --- a/plugins/sync/build.gradle.kts +++ b/plugins/sync/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.plugins.sync" } diff --git a/pump/combo/build.gradle.kts b/pump/combo/build.gradle.kts index aceaa5418b..a7948278fd 100644 --- a/pump/combo/build.gradle.kts +++ b/pump/combo/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { buildFeatures { diff --git a/pump/combov2/build.gradle.kts b/pump/combov2/build.gradle.kts index 3e3d7ed73e..014d99c473 100644 --- a/pump/combov2/build.gradle.kts +++ b/pump/combov2/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.pump.combov2" buildFeatures { diff --git a/pump/combov2/comboctl/build.gradle.kts b/pump/combov2/comboctl/build.gradle.kts index 545ce3fdf2..2f194b6acb 100644 --- a/pump/combov2/comboctl/build.gradle.kts +++ b/pump/combov2/comboctl/build.gradle.kts @@ -2,11 +2,9 @@ plugins { id("com.android.library") id("kotlin-android") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.comboctl" sourceSets.getByName("main") { @@ -20,14 +18,12 @@ android { } dependencies { - implementation(platform(Libs.Kotlin.platformBom)) - testImplementation(Libs.Kotlin.test) - testImplementation(Libs.Kotlin.testJunit5) - api(Libs.KotlinX.coroutinesCore) api(Libs.KotlinX.datetime) api(Libs.AndroidX.core) + + testImplementation(kotlin("test")) testImplementation(Libs.kotlinTestRunner) testRuntimeOnly(Libs.JUnit.jupiterEngine) } \ No newline at end of file diff --git a/pump/dana/build.gradle.kts b/pump/dana/build.gradle.kts index 3f223198cd..1b030af2b3 100644 --- a/pump/dana/build.gradle.kts +++ b/pump/dana/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.pump.dana" diff --git a/pump/danar/build.gradle.kts b/pump/danar/build.gradle.kts index fb0644393e..da6ca39c80 100644 --- a/pump/danar/build.gradle.kts +++ b/pump/danar/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.danar" } diff --git a/pump/danars/build.gradle.kts b/pump/danars/build.gradle.kts index f76b29187c..76b977c0ca 100644 --- a/pump/danars/build.gradle.kts +++ b/pump/danars/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.pump.danars" ndkVersion = Versions.ndkVersion diff --git a/pump/diaconn/build.gradle.kts b/pump/diaconn/build.gradle.kts index b05c29cfa2..e349993b8c 100644 --- a/pump/diaconn/build.gradle.kts +++ b/pump/diaconn/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.pump.diaconn" diff --git a/pump/eopatch/build.gradle.kts b/pump/eopatch/build.gradle.kts index b8317c64d7..e745baa5f1 100644 --- a/pump/eopatch/build.gradle.kts +++ b/pump/eopatch/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.plugins.pump.eopatch" buildFeatures { diff --git a/pump/medtronic/build.gradle.kts b/pump/medtronic/build.gradle.kts index c17f1a63d6..0c38a6f7f5 100644 --- a/pump/medtronic/build.gradle.kts +++ b/pump/medtronic/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.plugins.pump.medtronic" } diff --git a/pump/medtrum/build.gradle.kts b/pump/medtrum/build.gradle.kts index 242c15cd71..d39da5f847 100644 --- a/pump/medtrum/build.gradle.kts +++ b/pump/medtrum/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.pump.medtrum" buildFeatures { diff --git a/pump/omnipod-common/build.gradle.kts b/pump/omnipod-common/build.gradle.kts index d1aa2127a4..aae2bad174 100644 --- a/pump/omnipod-common/build.gradle.kts +++ b/pump/omnipod-common/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.plugins.pump.omnipod.common" } diff --git a/pump/omnipod-dash/build.gradle.kts b/pump/omnipod-dash/build.gradle.kts index 5af1097055..ca97eb800b 100644 --- a/pump/omnipod-dash/build.gradle.kts +++ b/pump/omnipod-dash/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.plugins.pump.omnipod.dash" diff --git a/pump/omnipod-eros/build.gradle.kts b/pump/omnipod-eros/build.gradle.kts index 3e72a54c88..ddecc8e592 100644 --- a/pump/omnipod-eros/build.gradle.kts +++ b/pump/omnipod-eros/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.plugins.pump.omnipod.eros" diff --git a/pump/pump-common/build.gradle.kts b/pump/pump-common/build.gradle.kts index 601102d151..27572c08cd 100644 --- a/pump/pump-common/build.gradle.kts +++ b/pump/pump-common/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.pump.common" } diff --git a/pump/rileylink/build.gradle.kts b/pump/rileylink/build.gradle.kts index 3682f1c5b4..6dec816cf3 100644 --- a/pump/rileylink/build.gradle.kts +++ b/pump/rileylink/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "info.nightscout.androidaps.plugins.pump.common.hw.rileylink" } diff --git a/pump/virtual/build.gradle.kts b/pump/virtual/build.gradle.kts index e2350981c1..eafad6764e 100644 --- a/pump/virtual/build.gradle.kts +++ b/pump/virtual/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.pump.virtual" } diff --git a/shared/impl/build.gradle.kts b/shared/impl/build.gradle.kts index 25056e51bf..59baf7a5a9 100644 --- a/shared/impl/build.gradle.kts +++ b/shared/impl/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.shared.impl" defaultConfig { diff --git a/shared/tests/build.gradle.kts b/shared/tests/build.gradle.kts index 56da924512..7229eec8dd 100644 --- a/shared/tests/build.gradle.kts +++ b/shared/tests/build.gradle.kts @@ -2,10 +2,9 @@ plugins { id("com.android.library") id("kotlin-android") id("android-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.shared.tests" } diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index 759741ad6f..447b448b3e 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -4,10 +4,9 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.ui" } diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index 851d3be7b4..9e074ec8c1 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -8,10 +8,9 @@ plugins { id("kotlin-kapt") id("android-app-dependencies") id("test-app-dependencies") + id("jacoco-app-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - repositories { google() mavenCentral() diff --git a/workflow/build.gradle.kts b/workflow/build.gradle.kts index 3a6016a28a..bc6c9d8d12 100644 --- a/workflow/build.gradle.kts +++ b/workflow/build.gradle.kts @@ -3,11 +3,9 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") + id("jacoco-module-dependencies") } -apply(from = "${project.rootDir}/core/main/jacoco_global.gradle") - android { namespace = "app.aaps.workflow" } From 5e28accfc999c31bb51d4fa8990703b4b1d32310 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Oct 2023 18:32:29 +0200 Subject: [PATCH 20/39] integrate androidTests --- .circleci/config.yml | 4 +-- app/build.gradle.kts | 3 +-- .../kotlin/test-app-dependencies.gradle.kts | 11 +++++++- .../test-module-dependencies.gradle.kts | 11 +++++++- database/impl/build.gradle.kts | 2 +- .../omnipod/dash/history/DashHistoryTest.kt | 5 ++-- pump/omnipod-eros/build.gradle.kts | 2 +- .../omnipod/eros/history/ErosHistoryTest.kt | 25 +++++++++++-------- 8 files changed, 42 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bd2004e921..b66ac53c71 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,8 +25,8 @@ jobs: - android/start-emulator-and-run-tests: system-image: system-images;android-29;google_apis;x86 # Compile while the emulator starts to use the time. - post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources - test-command: ./gradlew database:impl:connectedFullDebugAndroidTest + post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources compileFullDebugAndroidTestSources + test-command: ./gradlew connectedFullDebugAndroidTest - android/run-tests: test-command: ./gradlew testFullDebugUnitTest diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 94fcf31e70..352061a921 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -9,6 +9,7 @@ plugins { id("com.google.gms.google-services") id("com.google.firebase.crashlytics") id("android-app-dependencies") + id("test-app-dependencies") id("jacoco-app-dependencies") } @@ -207,8 +208,6 @@ dependencies { testImplementation(project(":shared:tests")) -// implementation(fileTree (include: listOf("*.jar"), dir = "libs")) - /* Dagger2 - We are going to use dagger.android which includes * support for Activity and fragment injection so we need to include * the following dependencies */ diff --git a/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts index ed3ccac3b6..15db69e88d 100644 --- a/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/test-app-dependencies.gradle.kts @@ -20,7 +20,8 @@ dependencies { androidTestImplementation(Libs.AndroidX.Test.espressoCore) androidTestImplementation(Libs.AndroidX.Test.extKtx) androidTestImplementation(Libs.AndroidX.Test.rules) - //androidTestImplementation(Libs.AndroidX.Test.uiAutomator) + androidTestImplementation(Libs.AndroidX.Test.uiAutomator) + androidTestImplementation(Libs.Google.truth) } tasks.withType { @@ -50,4 +51,12 @@ android { isIncludeAndroidResources = true } } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + excludes += "META-INF/COPYRIGHT" + excludes += "META-INF/LICENSE.md" + excludes += "META-INF/LICENSE-notice.md" + } + } } diff --git a/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts b/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts index f3c04f1680..22fc2175b7 100644 --- a/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts +++ b/buildSrc/src/main/kotlin/test-module-dependencies.gradle.kts @@ -20,7 +20,8 @@ dependencies { androidTestImplementation(Libs.AndroidX.Test.espressoCore) androidTestImplementation(Libs.AndroidX.Test.extKtx) androidTestImplementation(Libs.AndroidX.Test.rules) - //androidTestImplementation(Libs.AndroidX.Test.uiAutomator) + androidTestImplementation(Libs.Google.truth) + androidTestImplementation(Libs.AndroidX.Test.uiAutomator) } tasks.withType { @@ -50,4 +51,12 @@ android { isIncludeAndroidResources = true } } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + excludes += "META-INF/COPYRIGHT" + excludes += "META-INF/LICENSE.md" + excludes += "META-INF/LICENSE-notice.md" + } + } } diff --git a/database/impl/build.gradle.kts b/database/impl/build.gradle.kts index 612b649d93..0a780f1976 100644 --- a/database/impl/build.gradle.kts +++ b/database/impl/build.gradle.kts @@ -40,7 +40,6 @@ dependencies { api(Libs.AndroidX.Room.room) api(Libs.AndroidX.Room.runtime) api(Libs.AndroidX.Room.rxJava3) - kapt(Libs.AndroidX.Room.compiler) api(Libs.Dagger.android) api(Libs.Dagger.androidSupport) @@ -48,4 +47,5 @@ dependencies { androidTestImplementation(Libs.AndroidX.Room.testing) kapt(Libs.Dagger.compiler) + kapt(Libs.AndroidX.Room.compiler) } \ No newline at end of file diff --git a/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt b/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt index 5cb3de649e..f4f8b72415 100644 --- a/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt +++ b/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt @@ -9,8 +9,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.Omnipod import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.HistoryRecordDao import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.mapper.HistoryMapper +import org.junit.After import org.junit.Before -import org.junit.jupiter.api.Test +import org.junit.Test import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) @@ -61,7 +62,7 @@ class DashHistoryTest { } } - @org.junit.jupiter.api.AfterEach + @After fun tearDown() { database.close() } diff --git a/pump/omnipod-eros/build.gradle.kts b/pump/omnipod-eros/build.gradle.kts index ddecc8e592..9002b16444 100644 --- a/pump/omnipod-eros/build.gradle.kts +++ b/pump/omnipod-eros/build.gradle.kts @@ -8,8 +8,8 @@ plugins { } android { - namespace = "info.nightscout.androidaps.plugins.pump.omnipod.eros" + defaultConfig { kapt { arguments { diff --git a/pump/omnipod-eros/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/history/ErosHistoryTest.kt b/pump/omnipod-eros/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/history/ErosHistoryTest.kt index d8c0da7cae..ad9235fcdd 100644 --- a/pump/omnipod-eros/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/history/ErosHistoryTest.kt +++ b/pump/omnipod-eros/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/history/ErosHistoryTest.kt @@ -3,22 +3,25 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.history import android.content.Context import androidx.room.Room import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat import info.nightscout.androidaps.plugins.pump.omnipod.eros.definition.PodHistoryEntryType import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryRecordDao import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryRecordEntity -import org.junit.Assert.assertNotNull -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Test +import org.junit.After +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +@RunWith(AndroidJUnit4::class) class ErosHistoryTest { private lateinit var dao: ErosHistoryRecordDao private lateinit var database: ErosHistoryDatabase private lateinit var erosHistory: ErosHistory - @BeforeEach + @Before fun setUp() { val context = ApplicationProvider.getApplicationContext() database = Room.inMemoryDatabaseBuilder( @@ -32,7 +35,7 @@ class ErosHistoryTest { @Test fun testInsertionAndRetrieval() { var history = erosHistory.getAllErosHistoryRecordsFromTimestamp(0L) - assert(history.isEmpty()) + assertThat(history).isEmpty() val type = PodHistoryEntryType.SET_BOLUS.code.toLong() val entity = ErosHistoryRecordEntity(1000L, type) @@ -40,15 +43,15 @@ class ErosHistoryTest { erosHistory.create(ErosHistoryRecordEntity(3000L, PodHistoryEntryType.CANCEL_BOLUS.code.toLong())) history = erosHistory.getAllErosHistoryRecordsFromTimestamp(0L) - assert(history.size == 2) - assert(type == history.first().podEntryTypeCode) + assertThat(history.size).isEqualTo(2) + assertThat(type).isEqualTo(history.first().podEntryTypeCode) val returnedEntity = erosHistory.findErosHistoryRecordByPumpId(entity.pumpId) - assertNotNull(returnedEntity) - assert(type == returnedEntity?.podEntryTypeCode) + assertThat(returnedEntity).isNotNull() + assertThat(type).isEqualTo(returnedEntity?.podEntryTypeCode) } - @AfterEach + @After fun tearDown() { database.close() } From b8edfb58a8185f03061304c67b397e75565d0d6b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Oct 2023 19:27:48 +0200 Subject: [PATCH 21/39] test only :database:impl for now --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b66ac53c71..bd2004e921 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,8 +25,8 @@ jobs: - android/start-emulator-and-run-tests: system-image: system-images;android-29;google_apis;x86 # Compile while the emulator starts to use the time. - post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources compileFullDebugAndroidTestSources - test-command: ./gradlew connectedFullDebugAndroidTest + post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources + test-command: ./gradlew database:impl:connectedFullDebugAndroidTest - android/run-tests: test-command: ./gradlew testFullDebugUnitTest From 50a6fe524a77eb453fa3f63277eca2c7c05626b1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Oct 2023 22:09:45 +0200 Subject: [PATCH 22/39] remove android test from ci --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bd2004e921..bbbc874ccb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,11 +22,11 @@ jobs: - android/change-java-version: java-version: 17 - - android/start-emulator-and-run-tests: - system-image: system-images;android-29;google_apis;x86 + #- android/start-emulator-and-run-tests: + #system-image: system-images;android-29;google_apis;x86 # Compile while the emulator starts to use the time. - post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources - test-command: ./gradlew database:impl:connectedFullDebugAndroidTest + #post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources + #test-command: ./gradlew database:impl:connectedFullDebugAndroidTest - android/run-tests: test-command: ./gradlew testFullDebugUnitTest From 6f78223c0b01e355f9283dba36137db5bfe98e06 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Oct 2023 20:33:03 +0200 Subject: [PATCH 23/39] add missing dependencies --- core/nssdk/build.gradle.kts | 1 + database/entities/build.gradle.kts | 1 + plugins/constraints/build.gradle.kts | 2 +- plugins/smoothing/build.gradle.kts | 1 + pump/combov2/build.gradle.kts | 1 + pump/combov2/comboctl/build.gradle.kts | 1 + pump/danar/build.gradle.kts | 1 + pump/diaconn/build.gradle.kts | 1 + pump/eopatch/build.gradle.kts | 1 + pump/omnipod-common/build.gradle.kts | 1 + shared/tests/build.gradle.kts | 1 + workflow/build.gradle.kts | 1 + 12 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core/nssdk/build.gradle.kts b/core/nssdk/build.gradle.kts index b166503a10..2b645915f9 100644 --- a/core/nssdk/build.gradle.kts +++ b/core/nssdk/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("kotlinx-serialization") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } android { diff --git a/database/entities/build.gradle.kts b/database/entities/build.gradle.kts index db37ef8927..7fd6633bd4 100644 --- a/database/entities/build.gradle.kts +++ b/database/entities/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("kotlin-kapt") id("android-module-dependencies") id("test-module-dependencies") + id("jacoco-module-dependencies") } android { diff --git a/plugins/constraints/build.gradle.kts b/plugins/constraints/build.gradle.kts index 3bd3c95a85..fd111e8de4 100644 --- a/plugins/constraints/build.gradle.kts +++ b/plugins/constraints/build.gradle.kts @@ -3,8 +3,8 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") - id("test-module-dependencies") id("all-open-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/plugins/smoothing/build.gradle.kts b/plugins/smoothing/build.gradle.kts index 8acf11e836..8dfc72e9d9 100644 --- a/plugins/smoothing/build.gradle.kts +++ b/plugins/smoothing/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/pump/combov2/build.gradle.kts b/pump/combov2/build.gradle.kts index 014d99c473..fe3c1ecd4c 100644 --- a/pump/combov2/build.gradle.kts +++ b/pump/combov2/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/pump/combov2/comboctl/build.gradle.kts b/pump/combov2/comboctl/build.gradle.kts index 2f194b6acb..cac2014d43 100644 --- a/pump/combov2/comboctl/build.gradle.kts +++ b/pump/combov2/comboctl/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.library") id("kotlin-android") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/pump/danar/build.gradle.kts b/pump/danar/build.gradle.kts index da6ca39c80..7812d48af7 100644 --- a/pump/danar/build.gradle.kts +++ b/pump/danar/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/pump/diaconn/build.gradle.kts b/pump/diaconn/build.gradle.kts index e349993b8c..3ed5b4c666 100644 --- a/pump/diaconn/build.gradle.kts +++ b/pump/diaconn/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/pump/eopatch/build.gradle.kts b/pump/eopatch/build.gradle.kts index e745baa5f1..8cfddc991b 100644 --- a/pump/eopatch/build.gradle.kts +++ b/pump/eopatch/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/pump/omnipod-common/build.gradle.kts b/pump/omnipod-common/build.gradle.kts index aae2bad174..7c6bf09f47 100644 --- a/pump/omnipod-common/build.gradle.kts +++ b/pump/omnipod-common/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/shared/tests/build.gradle.kts b/shared/tests/build.gradle.kts index 7229eec8dd..6d06190352 100644 --- a/shared/tests/build.gradle.kts +++ b/shared/tests/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.library") id("kotlin-android") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } diff --git a/workflow/build.gradle.kts b/workflow/build.gradle.kts index bc6c9d8d12..af157054d4 100644 --- a/workflow/build.gradle.kts +++ b/workflow/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("kotlin-android") id("kotlin-kapt") id("android-module-dependencies") + id("test-module-dependencies") id("jacoco-module-dependencies") } From cf2393a51c59875015f4f50fbcd4dd93929b96aa Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Oct 2023 21:17:52 +0200 Subject: [PATCH 24/39] add androidTest coverage data --- .circleci/config.yml | 8 ++++---- jacoco_aggregation.gradle.kts | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bbbc874ccb..bd2004e921 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,11 +22,11 @@ jobs: - android/change-java-version: java-version: 17 - #- android/start-emulator-and-run-tests: - #system-image: system-images;android-29;google_apis;x86 + - android/start-emulator-and-run-tests: + system-image: system-images;android-29;google_apis;x86 # Compile while the emulator starts to use the time. - #post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources - #test-command: ./gradlew database:impl:connectedFullDebugAndroidTest + post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources + test-command: ./gradlew database:impl:connectedFullDebugAndroidTest - android/run-tests: test-command: ./gradlew testFullDebugUnitTest diff --git a/jacoco_aggregation.gradle.kts b/jacoco_aggregation.gradle.kts index a9edacebe9..23a2da0531 100644 --- a/jacoco_aggregation.gradle.kts +++ b/jacoco_aggregation.gradle.kts @@ -76,6 +76,12 @@ project.afterEvaluate { it.add(path) println("Collecting execution data from: $path") } + val androidPath = "${proj.buildDir}/outputs/code_coverage/${variant}AndroidTest/connected/" + val androidFiles = fileTree(androidPath) + androidFiles.forEach { file -> + it.add(file.path) + println("Collecting android execution data from: ${file.path}") + } } } } From a98eb6f23355db5f0d284e2197ebbd1784b7d5fa Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 22 Oct 2023 00:11:14 +0200 Subject: [PATCH 25/39] enable all androidTests --- .circleci/config.yml | 8 ++++---- .../plugins/pump/omnipod/dash/history/DashHistoryTest.kt | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bbbc874ccb..b66ac53c71 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,11 +22,11 @@ jobs: - android/change-java-version: java-version: 17 - #- android/start-emulator-and-run-tests: - #system-image: system-images;android-29;google_apis;x86 + - android/start-emulator-and-run-tests: + system-image: system-images;android-29;google_apis;x86 # Compile while the emulator starts to use the time. - #post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources database:impl:compileFullDebugAndroidTestSources - #test-command: ./gradlew database:impl:connectedFullDebugAndroidTest + post-emulator-launch-assemble-command: ./gradlew compileFullDebugUnitTestSources compileFullDebugAndroidTestSources + test-command: ./gradlew connectedFullDebugAndroidTest - android/run-tests: test-command: ./gradlew testFullDebugUnitTest diff --git a/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt b/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt index f4f8b72415..33bce4c817 100644 --- a/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt +++ b/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt @@ -5,6 +5,7 @@ import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import app.aaps.shared.tests.AAPSLoggerTest +import com.github.guepardoapps.kulid.ULID import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.HistoryRecordDao @@ -38,9 +39,9 @@ class DashHistoryTest { assertValue { it.isEmpty() } } - // dashHistory.createRecord(commandType = OmnipodCommandType.CANCEL_BOLUS, 0L).test().apply { - // assertValue { ULID.isValid(it) } - // } + dashHistory.createRecord(commandType = OmnipodCommandType.CANCEL_BOLUS, 0L).test().apply { + assertValue { it != 0L } + } dashHistory.getRecords().test().apply { assertValue { it.size == 1 } From 7afd4239c9fe0605e024ada3002051bf7f8ffee5 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 22 Oct 2023 09:56:30 +0200 Subject: [PATCH 26/39] rearrange resources to prevent failed build --- core/interfaces/src/main/res/values/colors.xml | 16 ---------------- core/ui/src/main/res/values/colors.xml | 13 +++++++++++++ 2 files changed, 13 insertions(+), 16 deletions(-) delete mode 100644 core/interfaces/src/main/res/values/colors.xml diff --git a/core/interfaces/src/main/res/values/colors.xml b/core/interfaces/src/main/res/values/colors.xml deleted file mode 100644 index 3f06959c5b..0000000000 --- a/core/interfaces/src/main/res/values/colors.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - #66BB6A - #FF8C00 - #FF5555 - - - #666666 - #000000 - #77dd77 - #ff0400 - #FF8C00 - #03A9F4 - - \ No newline at end of file diff --git a/core/ui/src/main/res/values/colors.xml b/core/ui/src/main/res/values/colors.xml index 91179d4355..0e61c5c936 100644 --- a/core/ui/src/main/res/values/colors.xml +++ b/core/ui/src/main/res/values/colors.xml @@ -360,4 +360,17 @@ #ff0400 #00ffff + + #66BB6A + #FF8C00 + #FF5555 + + + #666666 + #000000 + #77dd77 + #ff0400 + #FF8C00 + #03A9F4 + From edac7c390153c976940e0200556c045699cc9473 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 22 Oct 2023 10:41:11 +0200 Subject: [PATCH 27/39] add missing dependence --- build.gradle.kts | 52 ----------------------------------- plugins/sync/build.gradle.kts | 1 + 2 files changed, 1 insertion(+), 52 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 52e9b87629..6e60c97998 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,58 +3,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - // extra is duplicated to Versions here until full migration to kts - extra.apply { - set("kotlin_version", "1.9.10") - set("core_version", "1.12.0") - set("rxjava_version", "3.1.7") - set("rxandroid_version", "3.0.2") - set("rxkotlin_version", "3.0.1") - set("room_version", "2.5.2") - set("lifecycle_version", "2.6.2") - set("dagger_version", "2.48.1") - set("coroutines_version", "1.7.3") - set("activity_version", "1.8.0") - set("fragmentktx_version", "1.6.1") - set("ormLite_version", "4.46") - set("gson_version", "2.10.1") - set("nav_version", "2.7.4") - set("appcompat_version", "1.6.1") - set("material_version", "1.10.0") - set("gridlayout_version", "1.0.0") - set("constraintlayout_version", "2.1.4") - set("preferencektx_version", "1.2.1") - set("commonscodec_version", "1.16.0") - set("guava_version", "32.1.3-jre") - set("jodatime_version", "2.12.5") - set("work_version", "2.8.1") - set("tink_version", "1.10.0") - set("json_version", "20230618") - set("joda_version", "2.12.5") - set("swipe_version", "1.1.0") - - set("junit_version", "4.13.2") - set("junit_jupiter_version", "5.10.0") - set("mockito_version", "5.6.0") - set("dexmaker_version", "1.2") - set("retrofit2_version", "2.9.0") - set("okhttp3_version", "4.11.0") - set("byteBuddy_version", "1.12.8") - - set("androidx_junit_version", "1.1.5") - set("androidx_rules_version", "1.5.0") - - set("rxandroidble_version", "1.12.1") - set("replayshare_version", "2.2.0") - - set("wearable_version", "2.9.0") - set("play_services_wearable_version", "18.1.0") - set("play_services_location_version", "21.0.1") - - set("kotlinx_datetime_version", "0.4.1") - set("kotlinx_serialization_version", "1.6.0") - - } repositories { google() mavenCentral() diff --git a/plugins/sync/build.gradle.kts b/plugins/sync/build.gradle.kts index e0b7a0d1ad..b6b885370c 100644 --- a/plugins/sync/build.gradle.kts +++ b/plugins/sync/build.gradle.kts @@ -36,6 +36,7 @@ dependencies { api(Libs.Squareup.Retrofit2.retrofit) api(Libs.AndroidX.browser) api(Libs.AndroidX.Work.runtimeKtx) + api(Libs.AndroidX.gridLayout) api(Libs.Google.Android.material) // NSClient, Tidepool From b9db721c6cea5c1e27a37915beb3745fc476a0f9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 22 Oct 2023 11:38:03 +0200 Subject: [PATCH 28/39] New Crowdin updates (#2963) * New translations strings.xml (French) * New translations strings.xml (French) * Update source file strings.xml * New translations strings.xml (Spanish) * New translations strings.xml (Czech) * New translations strings.xml (Spanish) * New translations strings.xml (Portuguese, Brazilian) --- core/interfaces/src/main/res/values-fr-rFR/strings.xml | 1 + core/ui/src/main/res/values-cs-rCZ/strings.xml | 5 +++++ core/ui/src/main/res/values-es-rES/strings.xml | 5 +++++ .../configuration/src/main/res/values-pt-rBR/strings.xml | 8 ++++---- pump/eopatch/src/main/res/values-es-rES/strings.xml | 1 + pump/medtrum/src/main/res/values-fr-rFR/strings.xml | 4 ++++ 6 files changed, 20 insertions(+), 4 deletions(-) diff --git a/core/interfaces/src/main/res/values-fr-rFR/strings.xml b/core/interfaces/src/main/res/values-fr-rFR/strings.xml index f7aab2d49b..9e2c5ce929 100644 --- a/core/interfaces/src/main/res/values-fr-rFR/strings.xml +++ b/core/interfaces/src/main/res/values-fr-rFR/strings.xml @@ -58,6 +58,7 @@ Afficher Flèche Afficher Min Passées Afficher numéro semaine + Afficher la date Cadran par défaut, vous pouvez cliquer sur le bouton EXPORTER WATCHFACE pour générer un modèle Cadran par défaut Image d\'arrière-plan diff --git a/core/ui/src/main/res/values-cs-rCZ/strings.xml b/core/ui/src/main/res/values-cs-rCZ/strings.xml index c5a899dc7b..4642de5cb2 100644 --- a/core/ui/src/main/res/values-cs-rCZ/strings.xml +++ b/core/ui/src/main/res/values-cs-rCZ/strings.xml @@ -51,6 +51,7 @@ Prodloužený bolus Pozastaveno CDD celkem + Stará data Podávání %1$.2f U inzulínu Čekání na pumpu AAPS spuštěno @@ -167,6 +168,8 @@ Nahrávat stav pumpy do NS nebo Tidepoolu Zakázaná/pozastavená smyčka Aktivní inzulín (IOB) + CÍL: + VÝSLEDEK OAPS: Chybné heslo Nesprávný PIN @@ -462,6 +465,8 @@ Bolus nebude pumpou vydán, pouze zaznamenán Spustit alarm, když je čas na jídlo Žádná akce nevybrána, nic se neprovede + Sacharidy = 0. Žádná akce! + Není vyžadován žádný inzulín! Žádná aktuální glykémie k výpočtu! Není nastaven žádný aktivní profil! Neznámý COB! Chybějící glykémie nebo nedávný restart aplikace? diff --git a/core/ui/src/main/res/values-es-rES/strings.xml b/core/ui/src/main/res/values-es-rES/strings.xml index 4fe7051673..961690fb8b 100644 --- a/core/ui/src/main/res/values-es-rES/strings.xml +++ b/core/ui/src/main/res/values-es-rES/strings.xml @@ -51,6 +51,7 @@ Bolo extendido Pausado Total TDD + Datos antiguos Entregando %1$.2f U Esperando bomba AAPS iniciado @@ -167,6 +168,8 @@ Subir estado de la bomba a NS o Tidepool Desactiva/suspende el lazo Insulina a bordo (IOB) + OBJETIVOS: + RESULTADO OAPS: Contraseña incorrecta Pin erróneo @@ -462,6 +465,8 @@ El bolo sólo se anotará (no será entregado por la bomba) Ejecutar alarma cuando sea hora de comer No se ha seleccionado ninguna opción, por lo que no se realizará ningún cambio + Carbs = 0. ¡No se toma ningua acción! + ¡No se requiere insulina! ¡No hay valor de glucosa reciente en el que basar el cálculo! ¡No hay perfil activo! COB desconocido! ¿Valor de glucosa ausente o reincio reciente de la aplicación? diff --git a/plugins/configuration/src/main/res/values-pt-rBR/strings.xml b/plugins/configuration/src/main/res/values-pt-rBR/strings.xml index 787b7ae990..2fa7166007 100644 --- a/plugins/configuration/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/configuration/src/main/res/values-pt-rBR/strings.xml @@ -2,10 +2,10 @@ Unidades Seleccione as unidades em que deseja exibir os valores - Seguinte - Anterior + Avançar + Voltar Assistente de Configuração - TERMINAR + Finalizar Configuração Bem-vindo(a) Bem-vindo ao assistente de configuração. Vai guiá-lo(a) através do processo de instalação\n Condições de Utilização @@ -35,7 +35,7 @@ Lembre-se: novos perfis de insulina requerem diâmetro de pelo menos 5h. DIA 5–6h no novo perfil é igual ao diâmetro 3h nos antigos perfis de insulina. Perfil Fazer Mudança De Perfil - Saltar assistente de configuração + Sair do assistente de configuração Pressione o botão abaixo para permitir ao AndroidAPS sugerir/fazer alterações na basal. Plugin de Sensibilidade é usado para detecção de sensibilidade e cálculos COB. Para mais info visite: https://wiki.aaps.app/en/latest/Configuration/Sensitivity-detection-and-COB.html diff --git a/pump/eopatch/src/main/res/values-es-rES/strings.xml b/pump/eopatch/src/main/res/values-es-rES/strings.xml index 02c411d0d8..410512812c 100644 --- a/pump/eopatch/src/main/res/values-es-rES/strings.xml +++ b/pump/eopatch/src/main/res/values-es-rES/strings.xml @@ -47,6 +47,7 @@ En este caso, puede detenerlo completamente pulsando el botón de Alarma manual que libera el puerto del parche como se muestra a continuación: 1. Retire el parche de su cuerpo y despegue la cinta adhesiva. 2. Use un clip, para presionar fuertemente el agujero al lado de a la entrada de insulina. + Llenado de insulina 1/6 1. Llene un nuevo parche con insulina a temperatura ambiente. Compruebe el ángulo de la jeringa diff --git a/pump/medtrum/src/main/res/values-fr-rFR/strings.xml b/pump/medtrum/src/main/res/values-fr-rFR/strings.xml index a971250f5f..6846c7fe20 100644 --- a/pump/medtrum/src/main/res/values-fr-rFR/strings.xml +++ b/pump/medtrum/src/main/res/values-fr-rFR/strings.xml @@ -112,9 +112,13 @@ Sélectionnez vos préférences d’alarme de votre pompe. Notification sur l\'alerte pompe Afficher une notification sur les avertissements non critiques de la pompe : pile faible, réservoir faible (20 unités) et expire bientôt. Il est recommandé de laisser activé lorsque les alarmes de la pompe sont réglées sur silencieux. + Avertissement d\'expiration de la pompe [hours] + Afficher une notification à l\'heure spécifiée après l\'activation. Expiration du Patch Lorsqu\'il est activé, le Patch expirera après 3 jours, avec un délai de grâce de 8 heures au-delà. + Insuline maximale horaire [Unités] Spécifiez le nombre maximum d\'unités d\'insuline autorisées par heure. Si ce montant est dépassé, la pompe sera suspendue. + Insuline maximale quotidienne [Unités] Spécifiez le nombre maximum d\'unités d\'insuline autorisées par jour. Si ce montant est dépassé, la pompe sera suspendue. Mise à jour de l\'état pompe From 125ed945bb8ebf066530a3302b0354f9287387a4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 13:18:49 +0200 Subject: [PATCH 29/39] fix running VirtualPump in emulator --- .../main/kotlin/app/aaps/implementation/queue/QueueThread.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/implementation/src/main/kotlin/app/aaps/implementation/queue/QueueThread.kt b/implementation/src/main/kotlin/app/aaps/implementation/queue/QueueThread.kt index a2ebee5d9f..a54b898ff5 100644 --- a/implementation/src/main/kotlin/app/aaps/implementation/queue/QueueThread.kt +++ b/implementation/src/main/kotlin/app/aaps/implementation/queue/QueueThread.kt @@ -11,6 +11,7 @@ import app.aaps.core.interfaces.configuration.Constants import app.aaps.core.interfaces.logging.AAPSLogger import app.aaps.core.interfaces.logging.LTag import app.aaps.core.interfaces.plugin.ActivePlugin +import app.aaps.core.interfaces.pump.VirtualPump import app.aaps.core.interfaces.queue.CommandQueue import app.aaps.core.interfaces.resources.ResourceHelper import app.aaps.core.interfaces.rx.bus.RxBus @@ -54,7 +55,7 @@ class QueueThread internal constructor( val secondsElapsed = (System.currentTimeMillis() - connectionStartTime) / 1000 val pump = activePlugin.activePump // Manifest.permission.BLUETOOTH_CONNECT - if (config.PUMPDRIVERS && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) + if (config.PUMPDRIVERS && pump !is VirtualPump && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) if (androidPermission.permissionNotGranted(context, "android.permission.BLUETOOTH_CONNECT")) { aapsLogger.debug(LTag.PUMPQUEUE, "no permission") rxBus.send(EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTING)) From d7e5eea4a3519c93a7d7c80e6efe6f58ab42dc62 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 13:47:37 +0200 Subject: [PATCH 30/39] Automation: remove proper event --- .../app/aaps/plugins/automation/AutomationEvent.kt | 4 +--- .../aaps/plugins/automation/AutomationFragment.kt | 2 +- .../app/aaps/plugins/automation/AutomationPlugin.kt | 13 ++----------- .../plugins/automation/dialogs/EditEventDialog.kt | 2 +- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationEvent.kt b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationEvent.kt index 7296dfa454..d072be7be2 100644 --- a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationEvent.kt +++ b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationEvent.kt @@ -21,7 +21,6 @@ class AutomationEventObject(private val injector: HasAndroidInjector) : Automati override var title: String = "" override var isEnabled = true - var position = -1 var systemAction: Boolean = false // true = generated by AAPS, false = entered by user var readOnly: Boolean = false // removing, editing disabled var autoRemove: Boolean = false // auto-remove once used @@ -76,12 +75,11 @@ class AutomationEventObject(private val injector: HasAndroidInjector) : Automati .toString() } - fun fromJSON(data: String, position: Int): AutomationEventObject { + fun fromJSON(data: String): AutomationEventObject { val d = JSONObject(data) title = d.optString("title", "") isEnabled = d.optBoolean("enabled", true) systemAction = d.optBoolean("systemAction", false) - this.position = position readOnly = d.optBoolean("readOnly", false) autoRemove = d.optBoolean("autoRemove", false) userAction = d.optBoolean("userAction", false) diff --git a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationFragment.kt b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationFragment.kt index 95f124eca7..5c663872ad 100644 --- a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationFragment.kt +++ b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationFragment.kt @@ -293,7 +293,7 @@ class AutomationFragment : DaggerFragment(), OnStartDragListener, MenuProvider { OKDialog.showConfirmation(activity, rh.gs(app.aaps.core.ui.R.string.removerecord), getConfirmationText(selectedItems), Runnable { selectedItems.forEach { _, event -> uel.log(Action.AUTOMATION_REMOVED, Sources.Automation, event.title) - automationPlugin.removeAt(event.position) + automationPlugin.remove(event) rxBus.send(EventAutomationDataChanged()) } actionHelper.finish() diff --git a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationPlugin.kt b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationPlugin.kt index 64a3a11bd5..dfb3ad28ac 100644 --- a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationPlugin.kt +++ b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/AutomationPlugin.kt @@ -211,14 +211,14 @@ class AutomationPlugin @Inject constructor( val array = JSONArray(data) for (i in 0 until array.length()) { val o = array.getJSONObject(i) - val event = AutomationEventObject(injector).fromJSON(o.toString(), i) + val event = AutomationEventObject(injector).fromJSON(o.toString()) automationEvents.add(event) } } catch (e: JSONException) { e.printStackTrace() } else - automationEvents.add(AutomationEventObject(injector).fromJSON(event, 0)) + automationEvents.add(AutomationEventObject(injector).fromJSON(event)) } internal fun processActions() { @@ -309,7 +309,6 @@ class AutomationPlugin @Inject constructor( @Synchronized fun add(event: AutomationEventObject) { automationEvents.add(event) - event.position = automationEvents.size - 1 rxBus.send(EventAutomationDataChanged()) } @@ -338,14 +337,6 @@ class AutomationPlugin @Inject constructor( rxBus.send(EventAutomationDataChanged()) } - @Synchronized - fun removeAt(index: Int) { - if (index >= 0 && index < automationEvents.size) { - automationEvents.removeAt(index) - rxBus.send(EventAutomationDataChanged()) - } - } - @Synchronized fun remove(event: AutomationEvent) { automationEvents.remove(event) diff --git a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/dialogs/EditEventDialog.kt b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/dialogs/EditEventDialog.kt index f5f13cbee9..fab3c99a29 100644 --- a/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/dialogs/EditEventDialog.kt +++ b/plugins/automation/src/main/kotlin/app/aaps/plugins/automation/dialogs/EditEventDialog.kt @@ -57,7 +57,7 @@ class EditEventDialog : BaseDialog() { // load data from bundle (savedInstanceState ?: arguments)?.let { bundle -> position = bundle.getInt("position", -1) - bundle.getString("event")?.let { event = AutomationEventObject(injector).fromJSON(it, position) } + bundle.getString("event")?.let { event = AutomationEventObject(injector).fromJSON(it) } } onCreateViewGeneral() From 4637d045f5784832f854050fd155675a5d166fd6 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 14:33:44 +0200 Subject: [PATCH 31/39] New Crowdin updates (#2965) * New translations strings.xml (Hebrew) * New translations strings.xml (French) * New translations strings.xml (Romanian) * New translations strings.xml (Lithuanian) * New translations strings.xml (Russian) * New translations strings.xml (Slovak) * New translations strings.xml (Turkish) * New translations strings.xml (Norwegian Bokmal) * New translations strings.xml (Spanish) * New translations strings.xml (Polish) --- core/ui/src/main/res/values-nb-rNO/strings.xml | 5 +++++ core/ui/src/main/res/values-pl-rPL/strings.xml | 5 +++++ plugins/aps/src/main/res/values-es-rES/strings.xml | 4 ++-- plugins/sync/src/main/res/values-fr-rFR/strings.xml | 1 + pump/combov2/src/main/res/values-iw-rIL/strings.xml | 1 + pump/medtrum/src/main/res/values-lt-rLT/strings.xml | 2 ++ pump/medtrum/src/main/res/values-ro-rRO/strings.xml | 2 ++ pump/medtrum/src/main/res/values-ru-rRU/strings.xml | 2 ++ pump/medtrum/src/main/res/values-sk-rSK/strings.xml | 2 ++ pump/medtrum/src/main/res/values-tr-rTR/strings.xml | 2 ++ 10 files changed, 24 insertions(+), 2 deletions(-) diff --git a/core/ui/src/main/res/values-nb-rNO/strings.xml b/core/ui/src/main/res/values-nb-rNO/strings.xml index 0541e669eb..ebd68a9b71 100644 --- a/core/ui/src/main/res/values-nb-rNO/strings.xml +++ b/core/ui/src/main/res/values-nb-rNO/strings.xml @@ -51,6 +51,7 @@ Forlenget bolus Pauset TDD Total + Gammel data Leverer %1$.2f enheter Venter på pumpen AAPS startet @@ -167,6 +168,8 @@ Last opp pumpestatus til NS eller Tidepool Deaktivert/pauset loop Aktivt insulin (IOB) + MÅLVERDIER: + OAPS resultat: Feil passord Feil PIN-kode @@ -462,6 +465,8 @@ Bolus vil bare bli loggført (ikke levert av pumpe) Aktiver alarm når det er på tide å spise Ingen handling valgt. Ingenting endres + Karbo = 0. Ingen handling utført! + Insulin er ikke nødvendig! Mangler nylige BS-verdier til å gjøre beregninger! Det er ikke angitt noen aktiv profil! Ukjent COB! BS-verdier mangler eller nylig oppstart av appen? diff --git a/core/ui/src/main/res/values-pl-rPL/strings.xml b/core/ui/src/main/res/values-pl-rPL/strings.xml index 08e5d69b6e..bbfd50590e 100644 --- a/core/ui/src/main/res/values-pl-rPL/strings.xml +++ b/core/ui/src/main/res/values-pl-rPL/strings.xml @@ -51,6 +51,7 @@ Bolus Przedłużony Wstrzymano TDD Całkowita + Stare dane Zamierzam podać %1$.2f U Czekam na pompę AAPS uruchomiony @@ -167,6 +168,8 @@ Prześlij status pompy do NS lub Tidepool Wyłączona/zawieszona pętla Aktywna insulina (IOB) + CELE: + WYNIK OAPS: Złe hasło Nieprawidłowy PIN @@ -462,6 +465,8 @@ Bolus zostanie jedynie odnotowany (nie będzie podany przez pompę) Uruchom alarm kiedy będzie czas na jedzenie Nie wybrano żadnej akcji, zdarzenie nie będzie wprowadzone + Węglowodany = 0. Nie podjęto żadnych działań! + Insulina nie jest wymagana! Brak niezbędnego do obliczeń bieżącego pomiaru glikemi! Nie ustawiono aktywnego profilu! Nieznane COB! Może brakuje odczytu glikemii lub niedawno zrestartowano aplikację? diff --git a/plugins/aps/src/main/res/values-es-rES/strings.xml b/plugins/aps/src/main/res/values-es-rES/strings.xml index cfcd0e2efc..33d4d77b19 100644 --- a/plugins/aps/src/main/res/values-es-rES/strings.xml +++ b/plugins/aps/src/main/res/values-es-rES/strings.xml @@ -1,8 +1,8 @@ Ajustar sensibilidad y glucosa - Factor de ajuste de Isf Dinámico % - Factor de ajuste para el DynamicISF. Establezca más de 100% para una corrección más agresiva, y menos de 100% para correcciones más susves. + Factor de ajuste de ISF Dinámico % + Factor de ajuste para ISF Dinámico. Establezca más de 100% para una corrección más agresiva, y menos de 100% para correcciones más susves. Objetivo temporal alto aumenta la sensibilidad = 100]]> Objetivo temporal bajo reduce la sensibilidad diff --git a/plugins/sync/src/main/res/values-fr-rFR/strings.xml b/plugins/sync/src/main/res/values-fr-rFR/strings.xml index ff12a17acf..c3ef782ac8 100644 --- a/plugins/sync/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/sync/src/main/res/values-fr-rFR/strings.xml @@ -116,6 +116,7 @@ Envoyer les glycémies et les traitements à xDrip+. La source de données \"xDrip+ Sync Follower\" doit être sélectionnée et l\'acceptation des données doit être activée dans Paramètres - Paramètres Inter-app - Accepter Glycémies/Traitements Activer les diffusions vers xDrip+. + Diffusue de données DD Diffuser des données sur l\'application G-Watch Wear de Garmin diff --git a/pump/combov2/src/main/res/values-iw-rIL/strings.xml b/pump/combov2/src/main/res/values-iw-rIL/strings.xml index f231e76bd7..37f974cb89 100644 --- a/pump/combov2/src/main/res/values-iw-rIL/strings.xml +++ b/pump/combov2/src/main/res/values-iw-rIL/strings.xml @@ -97,6 +97,7 @@ לא ניתן להגדיר בזאלי זמני אם המינון הבזאלי הבסיסי הוא 0 צימוד AndroidAPS ואנדרואיד עם משאבת Accu-Chek combo שאינה מצומדת ביטול צימוד AndroidAPS ואנדרואיד ממשאבת Accu-Chek combo המצומדת + נמצא מינון בזאלי זמני לא ברור והוא נעצר; %1$d%; זמן נותר: %2$s שגיאת חיבור: %1$s חיבור אחרון: לפני %1$d דקות התראה: %s diff --git a/pump/medtrum/src/main/res/values-lt-rLT/strings.xml b/pump/medtrum/src/main/res/values-lt-rLT/strings.xml index 7c1e714e87..da7983f437 100644 --- a/pump/medtrum/src/main/res/values-lt-rLT/strings.xml +++ b/pump/medtrum/src/main/res/values-lt-rLT/strings.xml @@ -108,7 +108,9 @@ Pasirinkite pompos aliarmų nustatymus Rezervuaras išsijungs Įgalinus, rezervuaras išsijungs po 3 parų ir 8 val. + Valandos insulino limitas Nustatykite maksimalų insulino kiekį valandai. Jį viršijus pompa bus sustabdyta. + Paros insulino limitas Nustatykite maksimalų insulino kiekį parai. Jį viršijus pompa bus sustabdyta. Gaunamas pompos statusas diff --git a/pump/medtrum/src/main/res/values-ro-rRO/strings.xml b/pump/medtrum/src/main/res/values-ro-rRO/strings.xml index 0fdf3679e8..01b5297304 100644 --- a/pump/medtrum/src/main/res/values-ro-rRO/strings.xml +++ b/pump/medtrum/src/main/res/values-ro-rRO/strings.xml @@ -114,7 +114,9 @@ Arată notificare cu privire la avertismentele non-critice ale pompei: baterie scăzută, rezervor redus (20 de unități) și expiră în curând. Se recomandă să lăsaţi activat când alarmele pompei sunt setate la silențios. Patch Expirare Când este activat, patchul va expira după 3 zile, cu o perioadă de graţie de 8 ore după expirare. + Insulină maximă pe oră Specifică numărul maxim de unități de insulină permise pe oră. Dacă sunt depăşite, pompa se va suspenda. + Insulină maximă zilnică Specifică numărul maxim de unități de insulină permise pe zi. Dacă sunt depăşite, pompa se va suspenda. Se primește starea pompei diff --git a/pump/medtrum/src/main/res/values-ru-rRU/strings.xml b/pump/medtrum/src/main/res/values-ru-rRU/strings.xml index ec2b2ded32..c029351280 100644 --- a/pump/medtrum/src/main/res/values-ru-rRU/strings.xml +++ b/pump/medtrum/src/main/res/values-ru-rRU/strings.xml @@ -114,7 +114,9 @@ Показывать уведомления о некритических оповещениях помпы: низком заряде батареи, низком запасе инсулина (20 единиц) и приближающемся истечении срока работы. Рекомендуется оставить включенным, когда звук оповещений выключен. Окончание срока действия патча Если включено, то патч закончит свое действие через 3 дня, с дополнительными 8 часами после этого. + Максимальное количество инсулина в час Укажите максимальное количество инсулина, допустимое для ввода в течение часа. Если оно будет превышено - помпа будет приостановлена. + Максимальное количество инсулина в сутки Укажите максимальное количество инсулина, допустимое для ввода в течение суток. Если оно будет превышено - помпа будет приостановлена. Получение статуса помпы diff --git a/pump/medtrum/src/main/res/values-sk-rSK/strings.xml b/pump/medtrum/src/main/res/values-sk-rSK/strings.xml index 0b179c64c9..a03c3f0d9a 100644 --- a/pump/medtrum/src/main/res/values-sk-rSK/strings.xml +++ b/pump/medtrum/src/main/res/values-sk-rSK/strings.xml @@ -114,7 +114,9 @@ Zobraziť upozornenie na nie kritické varovanie pumpy: vybitá batéria, takmer prázdny zásobník (20 jednotiek) a čoskoro dojde inzulín. Doporučené ponechať zapnuté, keď sú výstrahy pumpy nastavené na ticho. Expirácia Patch Pokiaľ je povolené, Patch expiruje po 3 dňoch s maximálnou dobou odkladu 8 hodín. + Hodinové maximum inzulínu Zadajte maximálny povolený počet jednotiek inzulínu za hodinu. Pokiaľ budú prekročené, pumpa bude pozastavená. + Denný maximálny inzulín Zadajte maximálny povolený počet jednotiek inzulínu za deň. Pokiaľ budú prekročené, pumpa bude pozastavená. Načítavam stav pumpy diff --git a/pump/medtrum/src/main/res/values-tr-rTR/strings.xml b/pump/medtrum/src/main/res/values-tr-rTR/strings.xml index f0b22a57aa..143f6dab14 100644 --- a/pump/medtrum/src/main/res/values-tr-rTR/strings.xml +++ b/pump/medtrum/src/main/res/values-tr-rTR/strings.xml @@ -114,7 +114,9 @@ Kritik olmayan pompa uyarılarıyla ilgili bildirimi göster: düşük pil, düşük rezervuar (20 birim) ve yakında süresi doluyor. Pompa alarmları sessize ayarlandığında etkin bırakılması önerilir. Patch süre sonu Etkinleştirildiğinde, patch 3 gün sonra sona erecek ve bunun ardından 8 saatlik bir ek süre tanınacaktır. + Saatlik Maksimum insülin Bir saatte izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır. + Günlük Maksimum insülin Bir günde izin verilen maksimum insülini (Ü) belirtin. Bu değer aşılırsa pompa askıya alınır. Pompa durumu alınıyor From 20d9835ff75a3896969a08a3345b566180169fa2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 15:08:18 +0200 Subject: [PATCH 32/39] fix tests --- .../kotlin/app/aaps/plugins/automation/AutomationEventTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/automation/src/test/kotlin/app/aaps/plugins/automation/AutomationEventTest.kt b/plugins/automation/src/test/kotlin/app/aaps/plugins/automation/AutomationEventTest.kt index cf76da7f1a..ee8dd81d37 100644 --- a/plugins/automation/src/test/kotlin/app/aaps/plugins/automation/AutomationEventTest.kt +++ b/plugins/automation/src/test/kotlin/app/aaps/plugins/automation/AutomationEventTest.kt @@ -54,7 +54,7 @@ class AutomationEventTest : TestBase() { JSONAssert.assertEquals(eventJsonExpected, event.toJSON(), true) // clone - val clone = AutomationEventObject(injector).fromJSON(eventJsonExpected, 1) + val clone = AutomationEventObject(injector).fromJSON(eventJsonExpected) // check title assertThat(clone.title).isEqualTo(event.title) From 7c9c4ffa950b41fc747e9c3c3bd75da66fb7bb04 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 15:08:41 +0200 Subject: [PATCH 33/39] Release 3.2.0.0 --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 7eacef9f80..a8329a56dc 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -2,7 +2,7 @@ import org.gradle.api.JavaVersion object Versions { - const val appVersion = "3.2.0-dev-m" + const val appVersion = "3.2.0.0" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" From ad9ce453960e62c28fa2301ee152e2714512aaa0 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 16:53:06 +0200 Subject: [PATCH 34/39] 3.2.0.0-dev --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index a8329a56dc..cfb6938385 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -2,7 +2,7 @@ import org.gradle.api.JavaVersion object Versions { - const val appVersion = "3.2.0.0" + const val appVersion = "3.2.0.0-dev" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" From 4f5e6a8c42e7c4f07dc0f585f950a866c70ca38c Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 20:49:29 +0200 Subject: [PATCH 35/39] New Crowdin updates (#2970) * New translations strings.xml (Dutch) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (Hebrew) --- core/ui/src/main/res/values-fr-rFR/strings.xml | 5 +++++ core/ui/src/main/res/values-nl-rNL/strings.xml | 5 +++++ pump/combov2/src/main/res/values-iw-rIL/strings.xml | 1 - wear/src/main/res/values-fr-rFR/strings.xml | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/ui/src/main/res/values-fr-rFR/strings.xml b/core/ui/src/main/res/values-fr-rFR/strings.xml index cf47d1c752..6f1431b2cc 100644 --- a/core/ui/src/main/res/values-fr-rFR/strings.xml +++ b/core/ui/src/main/res/values-fr-rFR/strings.xml @@ -51,6 +51,7 @@ Bolus étendu En pause DTQ Total + Données anciennes %1$.2f U vont être injectées Attente connection pompe AAPS démarré @@ -167,6 +168,8 @@ Télécharger l\'état de la pompe sur NS ou Tidepool Boucle désactivée/suspendue Insuline Active (IA) + CIBLES: + RÉSULTATS OAPS: Mot de passe incorrect Code PIN incorrect @@ -462,6 +465,8 @@ Les bolus seront seulement enregistrés (pas délivrés par la pompe) Alerter quand il est temps de manger Aucune action sélectionnée, rien ne se passera + Glucides = 0. Aucune action ! + Aucune insuline requise ! Pas de glycémie récente pour calculer ! Aucun profil activé ! GA inconnu! glycémie manquante ou démarrage récent de l\'application ? diff --git a/core/ui/src/main/res/values-nl-rNL/strings.xml b/core/ui/src/main/res/values-nl-rNL/strings.xml index 33d11dab33..8b6a51871d 100644 --- a/core/ui/src/main/res/values-nl-rNL/strings.xml +++ b/core/ui/src/main/res/values-nl-rNL/strings.xml @@ -51,6 +51,7 @@ Vertraagde bolus Gepauzeerd TDD Totaal + Oude gegevens %1$.2f E toedienen Wacht op pomp AAPS gestart @@ -167,6 +168,8 @@ Upload pomp status naar NS of Tidepool Uitgeschakelde/onderbroken loop Insuline aan boord (IOB) + DOELWAARDE: + OAPS RESULTAAT: Verkeerd wachtwoord Onjuiste PIN-code @@ -462,6 +465,8 @@ Bolus wordt alleen geregistreerd (niet toegediend door pomp) Start alarm wanneer het tijd is om te eten Geen actie geselecteerd, er zal niets uitgevoerd worden + Koolhydraten = 0. Geen actie! + Geen insuline nodig! Geen recente BG om de berekening op te baseren! Geen actief profiel ingesteld! Onbekende COB! BG uitlezing ontbreekt of de recente app herstart? diff --git a/pump/combov2/src/main/res/values-iw-rIL/strings.xml b/pump/combov2/src/main/res/values-iw-rIL/strings.xml index 37f974cb89..f231e76bd7 100644 --- a/pump/combov2/src/main/res/values-iw-rIL/strings.xml +++ b/pump/combov2/src/main/res/values-iw-rIL/strings.xml @@ -97,7 +97,6 @@ לא ניתן להגדיר בזאלי זמני אם המינון הבזאלי הבסיסי הוא 0 צימוד AndroidAPS ואנדרואיד עם משאבת Accu-Chek combo שאינה מצומדת ביטול צימוד AndroidAPS ואנדרואיד ממשאבת Accu-Chek combo המצומדת - נמצא מינון בזאלי זמני לא ברור והוא נעצר; %1$d%; זמן נותר: %2$s שגיאת חיבור: %1$s חיבור אחרון: לפני %1$d דקות התראה: %s diff --git a/wear/src/main/res/values-fr-rFR/strings.xml b/wear/src/main/res/values-fr-rFR/strings.xml index fc7c6dce1f..34fa1b2c39 100644 --- a/wear/src/main/res/values-fr-rFR/strings.xml +++ b/wear/src/main/res/values-fr-rFR/strings.xml @@ -7,7 +7,7 @@ AAPS (SansGraph) AAPS (Cercle) AAPS (Digital) - AAPS(perso) + AAPS (perso) AAPS (Actions) AAPS(Cible Temp) AAPS(Assistant rapide) From 8dee40de14732c90de721f0fc32a06c0ad5bb358 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 20:50:56 +0200 Subject: [PATCH 36/39] fix crash caused by buildscript --- app/build.gradle.kts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 352061a921..9f6683654a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -151,7 +151,9 @@ android { useLibrary("org.apache.http.legacy") //Deleting it causes a binding error - dataBinding { enable } + buildFeatures { + dataBinding = true + } } allprojects { From ef8cf35966639417eb150f03584e5e1dc686afba Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 20:51:23 +0200 Subject: [PATCH 37/39] Release 3.2.0.1 --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index cfb6938385..8bdf66eda9 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -2,7 +2,7 @@ import org.gradle.api.JavaVersion object Versions { - const val appVersion = "3.2.0.0-dev" + const val appVersion = "3.2.0.1" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" From c1d388d910a351867188e97c1a988144b7d10d95 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 23 Oct 2023 20:54:38 +0200 Subject: [PATCH 38/39] 3.2.0.1-dev --- buildSrc/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 8bdf66eda9..b5ce446d61 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -2,7 +2,7 @@ import org.gradle.api.JavaVersion object Versions { - const val appVersion = "3.2.0.1" + const val appVersion = "3.2.0.1-dev" const val versionCode = 1500 const val ndkVersion = "21.1.6352462" From 5fd2db9706bce7e776fa2d864f9c8771250fc86a Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 24 Oct 2023 09:22:48 +0200 Subject: [PATCH 39/39] update .gitignore --- .gitignore | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d9e995910d..369da9db4c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /local.properties .DS_Store */jacoco.exec +*/output-metadata.json /build /captures *.apk @@ -19,6 +20,9 @@ app/.classpath app/.settings/org.eclipse.buildship.core.prefs wear/.classpath wear/.settings/org.eclipse.buildship.core.prefs -app/nsclient/* -app/nsclient2/* +app/aapsclient/* +app/aapsclient2/* app/pumpcontrol/* +wear/aapsclient/* +wear/aapsclient2/* +wear/pumpcontrol/*