import androidx.build.Publish

plugins {
    id("AndroidXPlugin")
    id("com.android.library")
}

android {
    buildTypes.all {
        consumerProguardFiles "proguard-rules.pro"
    }
    namespace "androidx.lifecycle.runtime"
}

dependencies {
    api(project(":lifecycle:lifecycle-common"))

    api("androidx.arch.core:core-common:2.1.0")
    // necessary for IJ to resolve dependencies.
    api("androidx.annotation:annotation:1.1.0")
    implementation("androidx.arch.core:core-runtime:2.1.0")

    testImplementation(libs.junit)
    testImplementation(libs.mockitoCore4)

    androidTestImplementation(libs.junit)
    androidTestImplementation(libs.testExtJunit)
    androidTestImplementation(libs.testCore)
    androidTestImplementation(libs.testRunner)

    constraints {
        implementation(project(":lifecycle:lifecycle-common"))
        implementation(project(":lifecycle:lifecycle-runtime-ktx"))
        implementation(project(":lifecycle:lifecycle-runtime-testing"))
    }
}

androidx {
    name "Android Lifecycle Runtime"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenGroup LibraryGroups.LIFECYCLE
    inceptionYear "2017"
    description "Android Lifecycle Runtime"
}
