group = 'com.example.espresso'
version = '1.0'

buildscript {
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:8.13.1'
    }
}

rootProject.allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

apply plugin: 'com.android.library'

android {
    namespace = "com.example.espresso"
    compileSdk = flutter.compileSdkVersion

    defaultConfig {
        minSdkVersion 24
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

    lintOptions {
        checkAllWarnings = true
        warningsAsErrors = true
        disable 'AndroidGradlePluginVersion', 'InvalidPackage', 'GradleDependency', 'NewerVersionAvailable'
        baseline file("lint-baseline.xml")
    }


    testOptions {
        unitTests.includeAndroidResources = true
        unitTests.returnDefaultValues = true
        unitTests.all {
            testLogging {
               events "passed", "skipped", "failed", "standardOut", "standardError"
               outputs.upToDateWhen {false}
               showStandardStreams = true
            }
        }
    }
}

dependencies {
    implementation 'com.google.guava:guava:33.5.0-android'
    implementation 'com.squareup.okhttp3:okhttp:5.3.1'
    implementation 'com.google.code.gson:gson:2.13.2'
    androidTestImplementation 'org.hamcrest:hamcrest:3.0'

    testImplementation("junit:junit:4.13.2")
    testImplementation("com.google.truth:truth:1.4.5")
    api("androidx.test.espresso:espresso-core:3.7.0")

    // Core library
    api("androidx.test:core:1.7.0")

    // AndroidJUnitRunner and JUnit Rules
    api("androidx.test:runner:1.7.0")
    api("androidx.test:rules:1.7.0")

    // Assertions
    api("androidx.test.ext:junit:1.3.0")
    api("androidx.test.ext:truth:1.7.0")
    api("com.google.truth:truth:1.4.5")

    // Espresso dependencies
    api("androidx.test.espresso:espresso-core:3.7.0")
    api("androidx.test.espresso:espresso-contrib:3.7.0")
    api("androidx.test.espresso:espresso-intents:3.7.0")
    api("androidx.test.espresso:espresso-accessibility:3.7.0")
    api("androidx.test.espresso:espresso-web:3.7.0")
    api("androidx.test.espresso.idling:idling-concurrent:3.7.0")

    // The following Espresso dependency can be either "implementation"
    // or "androidTestImplementation", depending on whether you want the
    // dependency to appear on your APK's compile classpath or the test APK
    // classpath.
    api("androidx.test.espresso:espresso-idling-resource:3.7.0")
}