LintOptions

Added in 4.2.0
Deprecated in 7.0.0

@Incubating
interface LintOptions

DSL object for configuring lint options.

This block is replaced by the new Lint block. Unlike most other renamed blocks the new type is unrelated, to allow for some extra changes, such as removing the 'is' prefix from boolean properties.

Example:

android {
lintOptions {
// set to true to turn off analysis progress reporting by lint
quiet true
// if true, stop the gradle build if errors are found
abortOnError false
// set to true to have all release builds run lint on issues with severity=fatal
// and abort the build (controlled by abortOnError above) if fatal issues are found
checkReleaseBuilds true
// if true, only report errors
ignoreWarnings true
// if true, emit full/absolute paths to files with errors (true by default)
absolutePaths true
// if true, check all issues, including those that are off by default
checkAllWarnings true
// if true, treat all warnings as errors
warningsAsErrors true
// turn off checking the given issue id's
disable 'TypographyFractions','TypographyQuotes'
// turn on the given issue id's
enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'
// check *only* the given issue id's
check 'NewApi', 'InlinedApi'
// if true, don't include source code lines in the error output
noLines true
// if true, show all locations for an error, do not truncate lists, etc.
showAll true
// whether lint should include full issue explanations in the text error output
explainIssues false
// Fallback lint configuration (default severities, etc.)
lintConfig file("default-lint.xml")
// if true, generate a text report of issues (false by default)
textReport true
// location to write the output; can be a file or 'stdout' or 'stderr'
//textOutput 'stdout'
textOutput file("$buildDir/reports/lint-results.txt")
// if true, generate an XML report for use by for example Jenkins
xmlReport true
// file to write report to (if not specified, defaults to lint-results.xml)
xmlOutput file("$buildDir/reports/lint-report.xml")
// if true, generate an HTML report (with issue explanations, sourcecode, etc)
htmlReport true
// optional path to HTML report (default will be lint-results.html in the builddir)
htmlOutput file("$buildDir/reports/lint-report.html")
// if true, generate a SARIF report (OASIS Static Analysis Results Interchange Format)
sarifReport true
// optional path to SARIF report (default will be lint-results.sarif in the builddir)
sarifOutput file("$buildDir/reports/lint-report.html")
// Set the severity of the given issues to fatal (which means they will be
// checked during release builds (even if the lint target is not included)
fatal 'NewApi', 'InlinedApi'
// Set the severity of the given issues to error
error 'Wakelock', 'TextViewEdits'
// Set the severity of the given issues to warning
warning 'ResourceAsColor'
// Set the severity of the given issues to ignore (same as disabling the check)
ignore 'TypographyQuotes'
// Set the severity of the given issues to informational
informational 'StopShip'
// Use (or create) a baseline file for issues that should not be reported
baseline file("lint-baseline.xml")
// Normally most lint checks are not run on test sources (except the checks
// dedicated to looking for mistakes in unit or instrumentation tests, unless
// ignoreTestSources is true). You can turn on normal lint checking in all
// sources with the following flag, false by default:
checkTestSources true
// Like checkTestSources, but always skips analyzing tests -- meaning that it
// also ignores checks that have explicitly asked to look at test sources, such
// as the unused resource check.
ignoreTestSources true
// Normally lint will skip generated sources, but you can turn it on with this flag
checkGeneratedSources true
// Whether lint should check all dependencies too as part of its analysis.
// Default is false.
checkDependencies true
}
}

Summary

Public functions

Unit
@Incubating
baseline(baselineFile: File)

This function is deprecated. Replaced by lint.baseline

Unit

This function is deprecated. Replaced by lint.baseline

Unit

This function is deprecated. Use checkOnly instead; check will turn off all other checks so the method has been renamed to be more explicit about this

Unit
@Incubating
check(vararg ids: String)

This function is deprecated. Use checkOnly instead; check will turn off all other checks so the method has been renamed to be more explicit about this

Unit

This function is deprecated. Replaced by lint.checkOnly += id

Unit
@Incubating
checkOnly(vararg ids: String)

This function is deprecated. Replaced by lint.checkOnly += ids

Unit

This function is deprecated. Replaced by lint.disable += ids

Unit
@Incubating
disable(vararg ids: String)

This function is deprecated. Replaced by lint.disable += ids

Unit

This function is deprecated. Replaced by lint.enable += id

Unit
@Incubating
enable(vararg ids: String)

This function is deprecated. Replaced by lint.enable += ids

Unit

This function is deprecated. Replaced by lint.error += id

Unit
@Incubating
error(vararg ids: String)

This function is deprecated. Replaced by lint.error += ids

Unit

This function is deprecated. Replaced by lint.fatal += id

Unit
@Incubating
fatal(vararg ids: String)

This function is deprecated. Replaced by lint.fatal += ids

Unit

This function is deprecated. Replaced by lint.ignore += id

Unit
@Incubating
ignore(vararg ids: String)

This function is deprecated. Replaced by lint.ignore += ids

Unit

This function is deprecated. Replaced by lint.informational += id

Unit

This function is deprecated. Replaced by lint.informational += ids

Unit
@Incubating
textOutput(textOutput: File)

This function is deprecated. Replaced by lint.textOutput

Unit

This function is deprecated. Replaced by lint.textOutput

Unit

This function is deprecated. Replaced by lint.warning += id

Unit
@Incubating
warning(vararg ids: String)

This function is deprecated. Replaced by lint.warning += ids

Public properties

File?

This property is deprecated. Moved to lint.baseline

MutableSet<String>

This property is deprecated. Moved to lint.checkOnly

MutableSet<String>

This property is deprecated. Moved to lint.disable

MutableSet<String>

This property is deprecated. Moved to lint.enable

File?

This property is deprecated. Moved to lint.htmlOutput

Boolean

This property is deprecated. Moved to lint.htmlReport

Boolean

This property is deprecated. Moved to lint.abortOnError

Boolean

This property is deprecated. Moved to lint.absolutePaths

Boolean

This property is deprecated. Moved to lint.checkAllWarnings

Boolean

This property is deprecated. Moved to lint.checkDependencies

Boolean

This property is deprecated. Moved to lint.checkGeneratedSources

Boolean

This property is deprecated. Moved to lint.checkReleaseBuilds

Boolean

This property is deprecated. Moved to lint.checkTestSources

Boolean

This property is deprecated. Moved to lint.explainIssues

Boolean

This property is deprecated. Moved to lint.ignoreTestSources

Boolean

This property is deprecated. Moved to lint.ignoreWarnings

Boolean

This property is deprecated. Moved to lint.noLines

Boolean

This property is deprecated. Moved to lint.quiet

Boolean

This property is deprecated. Moved to lint.showAll

Boolean

This property is deprecated. Moved to lint.warningsAsErrors

File?

This property is deprecated. Moved to lint.lintConfig

File?

This property is deprecated. Moved to lint.sarifOutput

Boolean

This property is deprecated. Moved to lint.sarifReport

File?

This property is deprecated. Moved to lint.textOutput

Boolean

This property is deprecated. Moved to lint.textReport

File?

This property is deprecated. Moved to lint.xmlOutput

Boolean

This property is deprecated. Moved to lint.xmlReport

Public functions

baseline

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun baseline(baselineFile: File): Unit

Sets the baseline file to use, if any. The baseline file is an XML report previously created by lint, and any warnings and errors listed in that report will be ignored from analysis.

If you have a project with a large number of existing warnings, this lets you set a baseline and only see newly introduced warnings until you get a chance to go back and address the "technical debt" of the earlier warnings.

baseline

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun baseline(baseline: String): Unit

Sets the baseline file to use, if any. The baseline file is an XML report previously created by lint, and any warnings and errors listed in that report will be ignored from analysis.

If you have a project with a large number of existing warnings, this lets you set a baseline and only see newly introduced warnings until you get a chance to go back and address the "technical debt" of the earlier warnings.

check

Added in 4.2.0
Deprecated in 4.2.0
@Incubating
fun check(id: String): Unit

Adds the id to the set of unique issues to check.

check

Added in 4.2.0
Deprecated in 4.2.0
@Incubating
fun check(vararg ids: String): Unit

Adds the ids to the set of unique issues to check.

checkOnly

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun checkOnly(id: String): Unit

Adds the id to the set of issues to check. Note that when using this, all other checks are turned off.

checkOnly

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun checkOnly(vararg ids: String): Unit

Adds the id to the set of issues to check. Note that when using this, all other checks are turned off.

disable

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun disable(id: String): Unit

Adds the id to the set of issues to suppress.

disable

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun disable(vararg ids: String): Unit

Adds the ids to the set of issues to suppress.

enable

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun enable(id: String): Unit

Adds the id to the set of issues to enable.

enable

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun enable(vararg ids: String): Unit

Adds the ids to the set of issues to enable.

error

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun error(id: String): Unit

Adds a severity override for the given issue.

error

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun error(vararg ids: String): Unit

Adds a severity override for the given issues.

fatal

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun fatal(id: String): Unit

Adds a severity override for the given issue.

fatal

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun fatal(vararg ids: String): Unit

Adds a severity override for the given issues.

ignore

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun ignore(id: String): Unit

Adds a severity override for the given issue.

ignore

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun ignore(vararg ids: String): Unit

Adds a severity override for the given issues.

informational

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun informational(id: String): Unit

Adds a severity override for the given issue.

informational

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun informational(vararg ids: String): Unit

Adds a severity override for the given issues.

textOutput

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun textOutput(textOutput: File): Unit

Sets the optional path to where a text report should be written

textOutput

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun textOutput(textOutput: String): Unit

Sets the optional path to where a text report should be written

warning

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun warning(id: String): Unit

Adds a severity override for the given issue.

warning

Added in 4.2.0
Deprecated in 7.1.0
@Incubating
fun warning(vararg ids: String): Unit

Adds a severity override for the given issues.

Public properties

baselineFile

Added in 4.2.0
Deprecated in 7.1.0
var baselineFileFile?

The baseline file to use, if any. The baseline file is an XML report previously created by lint, and any warnings and errors listed in that report will be ignored from analysis.

If you have a project with a large number of existing warnings, this lets you set a baseline and only see newly introduced warnings until you get a chance to go back and address the "technical debt" of the earlier warnings.

checkOnly

Added in 4.2.0
Deprecated in 7.1.0
val checkOnlyMutableSet<String>

The exact set of issues to check set by checkOnly. s If empty, lint will detect the issues that are enabled by default plus any issues enabled via enable and without issues disabled via disable.

disable

Added in 4.2.0
Deprecated in 7.1.0
val disableMutableSet<String>

The set of issue IDs to suppress.

Issues passed to disable to this list, call Callers are allowed to modify this collection.

enable

Added in 4.2.0
Deprecated in 7.1.0
val enableMutableSet<String>

The set of issue IDs to enable. Callers are allowed to modify this collection.

htmlOutput

Added in 4.2.0
Deprecated in 7.1.0
var htmlOutputFile?

The optional path to where an HTML report should be written. Setting this property will also turn on htmlReport.

htmlReport

Added in 4.2.0
Deprecated in 7.1.0
var htmlReportBoolean

Whether we should write an HTML report. Default is true. The location can be controlled by htmlOutput.

isAbortOnError

Added in 4.2.0
Deprecated in 7.1.0
var isAbortOnErrorBoolean

Whether lint should set the exit code of the process if errors are found

isAbsolutePaths

Added in 4.2.0
Deprecated in 7.1.0
var isAbsolutePathsBoolean

Whether lint should display full paths in the error output. By default the paths are relative to the path lint was invoked from.

isCheckAllWarnings

Added in 4.2.0
Deprecated in 7.1.0
var isCheckAllWarningsBoolean

Whether lint should check all warnings, including those off by default

isCheckDependencies

Added in 4.2.0
Deprecated in 7.1.0
var isCheckDependenciesBoolean

Whether lint should check all dependencies too as part of its analysis. Default is false.

isCheckGeneratedSources

Added in 4.2.0
Deprecated in 7.1.0
var isCheckGeneratedSourcesBoolean

Returns whether lint should run checks on generated sources.

isCheckReleaseBuilds

Added in 4.2.0
Deprecated in 7.1.0
var isCheckReleaseBuildsBoolean

Whether lint should check for fatal errors during release builds. Default is true. If issues with severity "fatal" are found, the release build is aborted.

isCheckTestSources

Added in 4.2.0
Deprecated in 7.1.0
var isCheckTestSourcesBoolean

Whether lint should run all checks on test sources, instead of just the lint checks that have been specifically written to include tests (e.g. checks looking for specific test errors, or checks that need to consider testing code such as the unused resource detector)

isExplainIssues

Added in 4.2.0
Deprecated in 7.1.0
var isExplainIssuesBoolean

Whether lint should include explanations for issue errors. (Note that HTML and XML reports intentionally do this unconditionally, ignoring this setting.)

isIgnoreTestSources

Added in 4.2.0
Deprecated in 7.1.0
var isIgnoreTestSourcesBoolean

Whether lint should ignore all test sources. This is like isCheckTestSources, but always skips analyzing tests -- meaning that it also ignores checks that have explicitly asked to look at test sources, such as the unused resource check.

isIgnoreWarnings

Added in 4.2.0
Deprecated in 7.1.0
var isIgnoreWarningsBoolean

Returns whether lint will only check for errors (ignoring warnings)

isNoLines

Added in 4.2.0
Deprecated in 7.1.0
var isNoLinesBoolean

Whether lint should include the source lines in the output where errors occurred (true by default)

isQuiet

Added in 4.2.0
Deprecated in 7.1.0
var isQuietBoolean

Whether lint should be quiet (for example, not write informational messages such as paths to report files written)

isShowAll

Added in 4.2.0
Deprecated in 7.1.0
var isShowAllBoolean

Whether lint should include all output (e.g. include all alternate locations, not truncating long messages, etc.)

isWarningsAsErrors

Added in 4.2.0
Deprecated in 7.1.0
var isWarningsAsErrorsBoolean

Whether lint should treat all warnings as errors

lintConfig

Added in 4.2.0
Deprecated in 7.1.0
var lintConfigFile?

The default config file to use as a fallback. This corresponds to a lint.xml file with severities etc to use when a project does not have more specific information.

sarifOutput

Added in 4.2.0
Deprecated in 7.1.0
var sarifOutputFile?

The optional path to where a SARIF report (OASIS Static Analysis Results Interchange Format) should be written. Setting this property will also turn on sarifReport.

sarifReport

Added in 4.2.0
Deprecated in 7.1.0
var sarifReportBoolean

Whether we should write a SARIF (OASIS Static Analysis Results Interchange Format) report. Default is false. The location can be controlled by sarifOutput.

textOutput

Added in 4.2.0
Deprecated in 7.1.0
var textOutputFile?

The optional path to where a text report should be written. The special value "stdout" can be used to point to standard output. Setting this property will also turn on textReport.

textReport

Added in 4.2.0
Deprecated in 7.1.0
var textReportBoolean

Whether we should write a text report. Default is false. The location can be controlled by textOutput.

xmlOutput

Added in 4.2.0
Deprecated in 7.1.0
var xmlOutputFile?

The optional path to where an XML report should be written. Setting this property will also turn on xmlReport.

xmlReport

Added in 4.2.0
Deprecated in 7.1.0
var xmlReportBoolean

Whether we should write an XML report. Default is true. The location can be controlled by xmlOutput.