import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath libs.androidGradle
        classpath libs.anvilGradle
        classpath libs.kotlinGradle
        classpath libs.hiltGradle

        // Upload with:
        // ./gradlew clean assemble uploadArchives --no-daemon --no-parallel
        classpath libs.mavenPublishGradle
        // Dokka is needed on classpath for vanniktech publish plugin
        classpath libs.dokkaGradle
    }

    configurations.all {
        resolutionStrategy {
            force "net.sf.proguard:proguard-gradle:_"
        }
    }
}

plugins {
    id("io.gitlab.arturbosch.detekt")
}

apply plugin: 'io.gitlab.arturbosch.detekt'

allprojects {
    version = VERSION_NAME
    group = GROUP

    repositories {
        google()
        mavenCentral()
    }
}

subprojects { project ->
    apply from: "$rootDir/detekt.gradle"
    
    afterEvaluate {
        tasks.withType(KotlinCompile).configureEach { task ->
            kotlinOptions {
                jvmTarget = JavaVersion.VERSION_1_8.toString()
            }
        }

        if (project.hasProperty("android")) {
            android {
                compileSdkVersion  33

                defaultConfig {
                    // Allow projects to override this.
                    if (minSdk == null) {
                        minSdk 16
                    }
                    //noinspection ExpiredTargetSdkVersion
                    targetSdk 29
                }

                lintOptions {
                    abortOnError true
                    textReport true
                    textOutput("stdout")
                    lintConfig file("${project.rootDir}/lint.xml")
                }

                compileOptions {
                    sourceCompatibility JavaVersion.VERSION_1_8
                    targetCompatibility JavaVersion.VERSION_1_8
                }

                sourceSets {
                    main.java.srcDirs += "src/main/kotlin"
                    test.java.srcDirs += "src/test/kotlin"
                }
            }
        }
    }
}

apply from: 'gradle/jacoco.gradle'
