buildscript {
    repositories {
        gradlePluginPortal()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
        classpath 'gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.9'
        classpath 'net.ltgt.errorprone:net.ltgt.errorprone.gradle.plugin:2.0.2'
    }
}

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

subprojects {
    apply plugin: 'com.github.sherter.google-java-format'
    apply plugin: 'net.ltgt.errorprone'

    googleJavaFormat {
        toolVersion = '1.5'
        options style: 'AOSP'
    }

    apply plugin: 'com.android.library'

    dependencies {
        // NOTE: Updating ErrorProne introduces new checks that may cause the build to fail. Pin to a
        // specific version to control these updates.
        errorprone("com.google.errorprone:error_prone_core:2.3.2")
        // ErrorProne requires a JDK 9 compiler, so pull one in as a dependency since we use Java 8:
        // https://github.com/tbroyer/gradle-errorprone-plugin#jdk-8-support
        errorproneJavac("com.google.errorprone:javac:9+181-r4173-1")
    }

    group = 'com.android.volley'
    version = '1.2.2-SNAPSHOT'

    android {
        useLibrary 'org.apache.http.legacy'

        compileSdkVersion 28
        buildToolsVersion = '30.0.3'

        defaultConfig {
            minSdkVersion 8
        }

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

    tasks.withType(JavaCompile) {
        options.errorprone {
            check("ParameterComment", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
        }
        options.compilerArgs << "-Xlint:unchecked" << "-Werror"
    }

    if (it.name != 'testing') {
        apply from: '../publish.gradle'
    }
}
