import androidx.build.Publish

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

android {
    defaultConfig {
        multiDexEnabled true
        testInstrumentationRunnerArgument "listener", "leakcanary.FailTestOnLeakRunListener"
    }
    namespace "androidx.activity"
}

dependencies {
    // Atomic group
    constraints {
        implementation(project(":activity:activity-ktx"))
    }

    api("androidx.annotation:annotation:1.1.0")
    implementation("androidx.collection:collection:1.0.0")
    api("androidx.core:core:1.8.0-rc01")
    api("androidx.lifecycle:lifecycle-runtime:2.5.0-rc01")
    api("androidx.lifecycle:lifecycle-viewmodel:2.5.0-rc01")
    api("androidx.savedstate:savedstate:1.2.0-rc01")
    api("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.0-rc01")
    implementation("androidx.tracing:tracing:1.0.0")
    api(libs.kotlinStdlib)

    androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-runtime-testing"))
    androidTestImplementation(libs.kotlinStdlib)
    androidTestImplementation(libs.espressoCore, excludes.espresso)
    androidTestImplementation(libs.leakcanary)
    androidTestImplementation(libs.leakcanaryInstrumentation)
    androidTestImplementation(libs.testExtJunit)
    androidTestImplementation(libs.testCore)
    androidTestImplementation(libs.testRunner)
    androidTestImplementation(libs.testRules)
    androidTestImplementation(libs.truth)
    androidTestImplementation(libs.multidex)
    androidTestImplementation(project(":internal-testutils-runtime"), {
        exclude group: "androidx.activity", module: "activity"
    })

    lintPublish(project(":activity:activity-lint"))
}

androidx {
    name = "Activity"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenGroup = LibraryGroups.ACTIVITY
    inceptionYear = "2018"
    description = "Provides the base Activity subclass and the relevant hooks to build a composable structure on top."
}
