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" dependencies { 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" // 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< // kotlinx.datetime.serializers.LocalDateTimeIso8601Serializer>: // java.lang.NoClassDefFoundError: Failed resolution of: Lkotlinx/serialization/KSerializer" // // kotlinx-datetime higher than 0.2.0 depends on kotlinx-serialization, but that dependency // is declared as "compileOnly". The runtime dependency on kotlinx-serialization is missing, // causing this error. Solution is to add runtimeOnly here. // // 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") } android { namespace 'info.nightscout.pump.combov2' buildFeatures { dataBinding true } }