
com.freeletics.gradle.setup.AndroidLintSetup.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plugins Show documentation
Show all versions of plugins Show documentation
A set of reusable Gradle plugins
package com.freeletics.gradle.setup
import com.android.build.api.dsl.Lint
import com.freeletics.gradle.util.addMaybe
import com.freeletics.gradle.util.getBundleOrNull
import org.gradle.api.Project
import org.gradle.api.file.RegularFile
import org.gradle.api.provider.Provider
internal fun Project.configureStandaloneLint() {
extensions.configure(Lint::class.java) {
it.configure(project)
}
}
internal fun Lint.configure(project: Project) {
lintConfig = project.rootProject.file("gradle/lint.xml")
checkReleaseBuilds = false
checkGeneratedSources = false
checkTestSources = false
checkDependencies = true
ignoreTestSources = true
abortOnError = true
warningsAsErrors = true
htmlReport = true
htmlOutput = project.reportsFile("lint-result.html").get().asFile
textReport = true
textOutput = project.reportsFile("lint-result.txt").get().asFile
project.dependencies.addMaybe("lintChecks", project.getBundleOrNull("default-lint"))
}
private fun Project.reportsFile(name: String): Provider {
val projectName = project.path
.replace("projects", "")
.replaceFirst(":", "")
.replace(":", "/")
return rootProject.layout.buildDirectory.file("reports/lint/$projectName/$name")
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy