plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'kotlin-allopen'
    id 'com.hiya.jacoco-android'
}

apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle"
apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle"

android {

    namespace 'info.nightscout.database.impl'
    defaultConfig {
        kapt {
            arguments {
                arg("room.incremental", "true")
                arg("room.schemaLocation", "$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"
}

allOpen {
    // allows mocking for classes w/o directly opening them for release builds
    annotation 'info.nightscout.database.annotations.DbOpenForTesting'
}