LeOSium-WF/mozilla-lint-rules/build.gradle

48 lines
1.7 KiB
Groovy

/* 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_17
sourceCompatibility = JavaVersion.VERSION_17
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': 'net.waterfox.android.lintrules.LintIssueRegistry')
}
}