/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

apply plugin: 'java-library'
apply plugin: 'kotlin'

targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
    if (project.hasProperty("centralRepo")) {
        maven {
            name "MavenCentral"
            url project.property("centralRepo")
            allowInsecureProtocol true // Local Nexus in CI uses HTTP
        }
    } else {
        mavenCentral()
    }
}

dependencies {
    // I didn't look thoroughly enough to really know what's going on here but I think
    // the lint API uses jdk8 so if we provide jdk7, the dependency collision system
    // doesn't work and there are duplicate APIs with different versions in the output.
    //
    // The prepareLintJar task fails with "Found more than one jar in the 'lintChecks' configuration"
    // if we include the stdlib (with implementation) so we have to do compileOnly + testImplementation.
    compileOnly Deps.kotlin_stdlib_jdk8
    compileOnly Deps.kotlin_reflect
    testImplementation Deps.kotlin_stdlib_jdk8
    testImplementation Deps.kotlin_reflect

    compileOnly "com.android.tools.lint:lint-api:${Versions.android_lint_api}"
    compileOnly "com.android.tools.lint:lint-checks:${Versions.android_lint_api}"

    testImplementation "junit:junit:4.13.2"
    testImplementation "com.android.tools.lint:lint:${Versions.android_lint_api}"
    testImplementation "com.android.tools.lint:lint-tests:${Versions.android_lint_api}"
}

jar {
    manifest {
        attributes('Lint-Registry-v2': 'org.mozilla.fenix.lintrules.LintIssueRegistry')
    }
}
