apply plugin: 'com.android.application'
apply plugin: 'com.facebook.testing.screenshot'

def leakcanary_version = '2.6'

screenshots {
    failureDir = "${rootProject.buildDir}/reports/diff_failures"
    recordDir = "${rootProject.projectDir}/reports/screenshots"
}

android {
    compileSdkVersion 30
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    defaultConfig {
        applicationId 'dev.flutter.scenarios'
        minSdkVersion 18
        targetSdkVersion 30
        versionCode 1
        versionName '1.0'
        testInstrumentationRunner 'dev.flutter.TestRunner'
        testInstrumentationRunnerArgument 'listener', 'leakcanary.FailTestOnLeakRunListener'
        testInstrumentationRunnerArguments clearPackageData: 'true'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main.assets.srcDirs += "${project.buildDir}/assets"
    }
}

dependencies {
    compile 'com.facebook.testing.screenshot:layout-hierarchy-common:0.12.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0-alpha01'
    implementation "com.squareup.leakcanary:leakcanary-android:$leakcanary_version"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test:rules:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    androidTestImplementation "com.squareup.leakcanary:leakcanary-android-instrumentation:$leakcanary_version"
}
