import dependencies.Dep

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'androidx.navigation.safeargs'

apply from: rootProject.file('gradle/android.gradle')
android {
    dataBinding.enabled = true
    androidExtensions {
        experimental = true
    }
}

dependencies {
    implementation project(":feature:user")
    implementation project(":feature:system")
    implementation project(':corecomponent:androidcomponent')
    implementation project(":model")
    implementation project(":data:repository")
    implementation project(':ext:log')

    implementation Dep.Kotlin.stdlibJvm
    api Dep.Kotlin.coroutines
    implementation Dep.Kotlin.androidCoroutinesDispatcher

    implementation Dep.AndroidX.appCompat
    implementation Dep.AndroidX.fragment
    implementation Dep.AndroidX.constraint
    implementation Dep.AndroidX.recyclerView
    api Dep.AndroidX.emoji
    implementation Dep.AndroidX.design

    api Dep.AndroidX.lifecycleExtensions
    api Dep.AndroidX.Navigation.runtime
    api Dep.AndroidX.Navigation.runtimeKtx
    implementation Dep.AndroidX.coreKtx

    implementation Dep.Dagger.core
    implementation Dep.Dagger.androidSupport
    kapt Dep.Dagger.compiler
    kapt Dep.Dagger.androidProcessor
    implementation Dep.InjectedVmProvider.extension
    implementation Dep.InjectedVmProvider.injectedVmProvider
    implementation Dep.InjectedVmProvider.ktx
    compileOnly Dep.Dagger.assistedInjectAnnotations
    kapt Dep.Dagger.assistedInjectProcessor

    implementation Dep.Groupie.groupie
    implementation Dep.Groupie.databinding

    implementation Dep.Picasso.picasso
    implementation Dep.Picasso.picassoTransformation

    implementation Dep.Timber.android

    testImplementation Dep.Test.junit
    testImplementation Dep.Test.kotlinTestAssertions
    testImplementation Dep.MockK.jvm
    testImplementation project(':corecomponent:androidtestcomponent')
    androidTestImplementation Dep.Test.testRunner
    androidTestImplementation Dep.Test.espressoCore
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        freeCompilerArgs = [
                '-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi',
                '-Xuse-experimental=kotlinx.coroutines.ObsoleteCoroutinesApi'
        ]
    }
}
