apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-allopen'

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

android {
    defaultConfig {
        kapt {
            arguments {
                arg("room.incremental", "true")
                arg("room.schemaLocation", "$projectDir/schemas")
            }
        }
    }
}

dependencies {
    // shared needed for OpenForTesting
    implementation project(':shared')

    api "androidx.core:core-ktx:$core_version"
    api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$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 "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"

    api "com.google.dagger:dagger-android:$dagger_version"
    api "com.google.dagger:dagger-android-support:$dagger_version"
    api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}

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