import androidx.build.Publish
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

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

android {
    testOptions {
        unitTests {
            includeAndroidResources = true
        }
    }
    buildTypes.all {
        consumerProguardFiles "proguard-rules.pro"
    }

    defaultConfig {
        multiDexEnabled true
    }
    namespace "androidx.fragment"
}

dependencies {
    api("androidx.annotation:annotation:1.1.0")
    api("androidx.core:core-ktx:1.2.0")
    api("androidx.collection:collection:1.1.0")
    api("androidx.viewpager:viewpager:1.0.0")
    api("androidx.loader:loader:1.0.0")
    api("androidx.activity:activity:1.5.0-rc01")
    api("androidx.lifecycle:lifecycle-livedata-core:2.5.0-rc01")
    api("androidx.lifecycle:lifecycle-viewmodel:2.5.0-rc01")
    api("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.0-rc01")
    api("androidx.savedstate:savedstate:1.2.0")
    api("androidx.annotation:annotation-experimental:1.0.0")
    api(libs.kotlinStdlib)

    androidTestImplementation("androidx.appcompat:appcompat:1.1.0", {
        exclude group: "androidx.fragment", module: "fragment"
        exclude group: "androidx.activity", module: "activity"
    })
    androidTestImplementation(libs.kotlinStdlib)
    androidTestImplementation(libs.testExtJunit)
    androidTestImplementation(libs.testCore)
    androidTestImplementation(libs.testRunner)
    androidTestImplementation(libs.testRules)
    androidTestImplementation(libs.truth)
    androidTestImplementation(libs.espressoCore, excludes.espresso)
    androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
    androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
    androidTestImplementation(libs.multidex)
    androidTestImplementation(project(":internal-testutils-runtime"), {
        exclude group: "androidx.fragment", module: "fragment"
    })

    testImplementation(project(":fragment:fragment"))
    testImplementation(libs.kotlinStdlib)
    testImplementation(libs.testExtJunit)
    testImplementation(libs.testCore)
    testImplementation(libs.testRules)
    testImplementation(libs.truth)
    testImplementation(libs.robolectric)

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

androidx {
    name = "Android Support Library fragment"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenGroup = LibraryGroups.FRAGMENT
    inceptionYear = "2011"
    description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren\'t a part of the framework APIs. Compatible on devices running API 14 or later."
}
