/**
 * This file was created using the `create_project.py` script located in the
 * `<AndroidX root>/development/project-creator` directory.
 *
 * Please use that script when creating a new project, rather than copying an existing project and
 * modifying its settings.
 */
plugins {
    id("AndroidXPlugin")
    id("com.android.application")
}

dependencies {
    implementation(project(":appcompat:appcompat"))
    implementation(project(":mediarouter:mediarouter"))
    implementation(project(":recyclerview:recyclerview"))
    implementation(project(":concurrent:concurrent-futures"))
    implementation(project(":swiperefreshlayout:swiperefreshlayout"))

    implementation(libs.material)
    implementation(libs.multidex)
    implementation(libs.guava)
}

android {
    buildTypes {
        release {
            minifyEnabled = true
            proguardFiles getDefaultProguardFile("proguard-android-optimize.txt")
        }
    }
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled true
    }
    lint {
        baseline = file("lint-baseline.xml")
    }
    namespace "com.example.androidx.mediarouting"
}
