import static androidx.build.dependencies.DependenciesKt.*
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.Publish

plugins {
    id("AndroidXPlugin")
    id("com.android.library")
}
dependencies {
    api("androidx.annotation:annotation:1.0.1")
    api(AUTO_VALUE_ANNOTATIONS)
    implementation(FLOGGER)
    implementation(FLOGGER_SYSTEM_BACKEND)
    testImplementation(ANDROIDX_TEST_CORE)
    testImplementation(ANDROIDX_TEST_RUNNER)
    annotationProcessor(AUTO_VALUE)
    testImplementation(JUNIT)
    testImplementation(TRUTH)
    testImplementation(ROBOLECTRIC)
}
android {
    defaultConfig {
        minSdkVersion 21
    }

    testOptions.unitTests.includeAndroidResources = true
}
androidx {
    name = "Enterprise Feedback"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenVersion = LibraryVersions.ENTERPRISE
    mavenGroup = LibraryGroups.ENTERPRISE
    inceptionYear = "2019"
    description = "A channel to enable communication between an app and an EMM (enterprise " +
            "mobility management)"
}
