// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.facebook.testing.screenshot:plugin:0.12.0'
        // leakcanary uses Kotlin. This app does not, but the plugin is
        // needed to specify language version options.
        // Gradle 8.0 requires minimum kotlin 1.6.10
        // https://docs.gradle.org/current/userguide/upgrading_version_7.html#legacy_incrementaltaskinputs_api
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10'
        // Requries Minimum AGP 7.3.
        // https://docs.gradle.org/current/userguide/upgrading_version_7.html#legacy_incrementaltaskinputs_api
        classpath 'com.android.tools.build:gradle:8.2.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
    configurations.classpath {
        resolutionStrategy.activateDependencyLocking()
    }
}

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

rootProject.buildDir = project.hasProperty('out_dir')
    ? project.property('out_dir')
    : '../build'

subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(':app')

    dependencyLocking {
        lockAllConfigurations()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
