// Applies code quality plugins when -Pqc is passed to the gradle
def isCodeQualityEnabled = project.hasProperty('qc')

// KtLint
if (isCodeQualityEnabled) {
    apply plugin: "org.jlleitschuh.gradle.ktlint"

    ktlint {
        version = versions.ktlint
        outputToConsole = true
        android = true
    }
}

// Detekt
if (isCodeQualityEnabled) {
    if (!project.rootProject.plugins.hasPlugin("io.gitlab.arturbosch.detekt")) {
        Project rootProject = project.rootProject
        rootProject.apply {
            apply plugin: "io.gitlab.arturbosch.detekt"

            detekt {
                buildUponDefaultConfig = true
                toolVersion = versions.detekt
                // Builds the AST in parallel. Rules are always executed in parallel.
                // Can lead to speedups in larger projects.
                parallel = true
                baseline = file("${rootProject.projectDir}/detekt-baseline.xml")
                config = files("${rootProject.projectDir}/detekt-config.yml")
            }
        }
        tasks.detekt.jvmTarget = "1.8"
    }

}
