Lint

public interface Lint


DSL object for configuring lint options. Example:

android {
lint {
// 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
checkOnly += ['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', 'InlineApi'
// 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
// targetSdk version used when generating a lint report for a library.
// Must be equal or higher than main target SDK. Must be set for libraries only.
targetSdk 33
}
}

Summary

Public methods

abstract boolean

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

abstract boolean

Whether lint should display full paths in the error output.

abstract File

The baseline file to use, if any.

abstract boolean

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

abstract boolean

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

abstract boolean

Returns whether lint should run checks on generated sources.

abstract @NonNull Set<@NonNull String>

The exact set of issues to check set by checkOnly.

abstract boolean

Whether lint should check for fatal errors during release builds.

abstract boolean

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)

abstract @NonNull Set<@NonNull String>

The set of issue IDs to suppress.

abstract @NonNull Set<@NonNull String>

The set of issue IDs to enable.

abstract @NonNull Set<@NonNull String>

Issues that have severity overridden to 'error'

abstract boolean

Whether lint should include explanations for issue errors.

abstract @NonNull Set<@NonNull String>

Issues that have severity overridden to 'fatal'

abstract File

The optional path to where an HTML report should be written.

abstract boolean

Whether we should write an HTML report.

abstract @NonNull Set<@NonNull String>

Issues that have severity overridden to 'ignore'

abstract boolean

Whether lint should ignore all testFixtures sources.

abstract boolean

Whether lint should ignore all test sources.

abstract boolean

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

abstract @NonNull Set<@NonNull String>

Issues that have severity overridden to 'informational'

abstract File

The default config file to use as a fallback.

abstract boolean

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

abstract boolean

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

abstract File

The optional path to where a SARIF report (OASIS Static Analysis Results Interchange Format) should be written.

abstract boolean

Whether we should write a SARIF (OASIS Static Analysis Results Interchange Format) report.

abstract boolean

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

abstract Integer

The target sdk version used when generating a lint report for a library.

abstract String

The target sdk preview version used when generating a lint report for a library.

abstract File

The optional path to where a text report should be written.

abstract boolean

Whether lint should write a text report.

abstract @NonNull Set<@NonNull String>

Issues that have severity overridden to 'warning'

abstract boolean

Whether lint should treat all warnings as errors

abstract File

The optional path to where an XML report should be written.

abstract boolean

Whether we should write an XML report.

abstract void
setAbortOnError(boolean abortOnError)

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

abstract void
setAbsolutePaths(boolean absolutePaths)

Whether lint should display full paths in the error output.

abstract void
setBaseline(File baseline)

The baseline file to use, if any.

abstract void
setCheckAllWarnings(boolean checkAllWarnings)

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

abstract void
setCheckDependencies(boolean checkDependencies)

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

abstract void
setCheckGeneratedSources(boolean checkGeneratedSources)

Returns whether lint should run checks on generated sources.

abstract void
setCheckReleaseBuilds(boolean checkReleaseBuilds)

Whether lint should check for fatal errors during release builds.

abstract void
setCheckTestSources(boolean checkTestSources)

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)

abstract void
setExplainIssues(boolean explainIssues)

Whether lint should include explanations for issue errors.

abstract void
setHtmlOutput(File htmlOutput)

The optional path to where an HTML report should be written.

abstract void
setHtmlReport(boolean htmlReport)

Whether we should write an HTML report.

abstract void
setIgnoreTestFixturesSources(boolean ignoreTestFixturesSources)

Whether lint should ignore all testFixtures sources.

abstract void
setIgnoreTestSources(boolean ignoreTestSources)

Whether lint should ignore all test sources.

abstract void
setIgnoreWarnings(boolean ignoreWarnings)

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

abstract void
setLintConfig(File lintConfig)

The default config file to use as a fallback.

abstract void
setNoLines(boolean noLines)

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

abstract void
setQuiet(boolean quiet)

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

abstract void
setSarifOutput(File sarifOutput)

The optional path to where a SARIF report (OASIS Static Analysis Results Interchange Format) should be written.

abstract void
setSarifReport(boolean sarifReport)

Whether we should write a SARIF (OASIS Static Analysis Results Interchange Format) report.

abstract void
setShowAll(boolean showAll)

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

abstract void
setTargetSdk(Integer targetSdk)

The target sdk version used when generating a lint report for a library.

abstract void
setTargetSdkPreview(String targetSdkPreview)

The target sdk preview version used when generating a lint report for a library.

abstract void
setTextOutput(File textOutput)

The optional path to where a text report should be written.

abstract void
setTextReport(boolean textReport)

Whether lint should write a text report.

abstract void
setWarningsAsErrors(boolean warningsAsErrors)

Whether lint should treat all warnings as errors

abstract void
setXmlOutput(File xmlOutput)

The optional path to where an XML report should be written.

abstract void
setXmlReport(boolean xmlReport)

Whether we should write an XML report.

Public methods

getAbortOnError

abstract boolean getAbortOnError()

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

getAbsolutePaths

abstract boolean getAbsolutePaths()

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

getBaseline

abstract File getBaseline()

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.

getCheckAllWarnings

abstract boolean getCheckAllWarnings()

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

getCheckDependencies

abstract boolean getCheckDependencies()

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

getCheckGeneratedSources

abstract boolean getCheckGeneratedSources()

Returns whether lint should run checks on generated sources.

getCheckOnly

abstract @NonNull Set<@NonNull StringgetCheckOnly()

The exact set of issues to check set by checkOnly.

If empty, lint will detect the issues that are enabled by default plus any issues enabled via enable and without issues disabled via disable.

getCheckReleaseBuilds

abstract boolean getCheckReleaseBuilds()

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.

getCheckTestSources

abstract boolean getCheckTestSources()

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)

getDisable

abstract @NonNull Set<@NonNull StringgetDisable()

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

getEnable

abstract @NonNull Set<@NonNull StringgetEnable()

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

getError

abstract @NonNull Set<@NonNull StringgetError()

Issues that have severity overridden to 'error'

getExplainIssues

abstract boolean getExplainIssues()

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

getFatal

abstract @NonNull Set<@NonNull StringgetFatal()

Issues that have severity overridden to 'fatal'

getHtmlOutput

abstract File getHtmlOutput()

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

getHtmlReport

abstract boolean getHtmlReport()

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

getIgnore

abstract @NonNull Set<@NonNull StringgetIgnore()

Issues that have severity overridden to 'ignore'

getIgnoreTestFixturesSources

abstract boolean getIgnoreTestFixturesSources()

Whether lint should ignore all testFixtures sources.

getIgnoreTestSources

abstract boolean getIgnoreTestSources()

Whether lint should ignore all test sources. This is 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.

getIgnoreWarnings

abstract boolean getIgnoreWarnings()

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

getInformational

abstract @NonNull Set<@NonNull StringgetInformational()

Issues that have severity overridden to 'informational'

getLintConfig

abstract File getLintConfig()

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.

getNoLines

abstract boolean getNoLines()

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

getQuiet

abstract boolean getQuiet()

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

getSarifOutput

abstract File getSarifOutput()

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.

getSarifReport

abstract boolean getSarifReport()

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

getShowAll

abstract boolean getShowAll()

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

getTargetSdk

abstract Integer getTargetSdk()

The target sdk version used when generating a lint report for a library. Must be equal or higher than main target SDK. Must be set for libraries only.

getTargetSdkPreview

abstract String getTargetSdkPreview()

The target sdk preview version used when generating a lint report for a library. Must be set for libraries only.

getTextOutput

abstract File getTextOutput()

The optional path to where a text report should be written.

To output the lint report to stdout set textReport=true, and leave textOutput unset.

getTextReport

abstract boolean getTextReport()

Whether lint should write a text report.

With the default setting (textReport=false), the lint task will print a summary to stdout if there are any lint warnings or errors including a link to the full text report.

When textReport=true and textOutput is unset, the full report will be printed by the lint task, rather than just a summary. When textOutput is set, the full text report will be copied to the specified location.

getWarning

abstract @NonNull Set<@NonNull StringgetWarning()

Issues that have severity overridden to 'warning'

getWarningsAsErrors

abstract boolean getWarningsAsErrors()

Whether lint should treat all warnings as errors

getXmlOutput

abstract File getXmlOutput()

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

getXmlReport

abstract boolean getXmlReport()

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

setAbortOnError

abstract void setAbortOnError(boolean abortOnError)

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

setAbsolutePaths

abstract void setAbsolutePaths(boolean absolutePaths)

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

setBaseline

abstract void setBaseline(File baseline)

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.

setCheckAllWarnings

abstract void setCheckAllWarnings(boolean checkAllWarnings)

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

setCheckDependencies

abstract void setCheckDependencies(boolean checkDependencies)

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

setCheckGeneratedSources

abstract void setCheckGeneratedSources(boolean checkGeneratedSources)

Returns whether lint should run checks on generated sources.

setCheckReleaseBuilds

abstract void setCheckReleaseBuilds(boolean checkReleaseBuilds)

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.

setCheckTestSources

abstract void setCheckTestSources(boolean checkTestSources)

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)

setExplainIssues

abstract void setExplainIssues(boolean explainIssues)

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

setHtmlOutput

abstract void setHtmlOutput(File htmlOutput)

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

setHtmlReport

abstract void setHtmlReport(boolean htmlReport)

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

setIgnoreTestFixturesSources

abstract void setIgnoreTestFixturesSources(boolean ignoreTestFixturesSources)

Whether lint should ignore all testFixtures sources.

setIgnoreTestSources

abstract void setIgnoreTestSources(boolean ignoreTestSources)

Whether lint should ignore all test sources. This is 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.

setIgnoreWarnings

abstract void setIgnoreWarnings(boolean ignoreWarnings)

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

setLintConfig

abstract void setLintConfig(File lintConfig)

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.

setNoLines

abstract void setNoLines(boolean noLines)

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

setQuiet

abstract void setQuiet(boolean quiet)

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

setSarifOutput

abstract void setSarifOutput(File sarifOutput)

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.

setSarifReport

abstract void setSarifReport(boolean sarifReport)

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

setShowAll

abstract void setShowAll(boolean showAll)

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

setTargetSdk

abstract void setTargetSdk(Integer targetSdk)

The target sdk version used when generating a lint report for a library. Must be equal or higher than main target SDK. Must be set for libraries only.

setTargetSdkPreview

abstract void setTargetSdkPreview(String targetSdkPreview)

The target sdk preview version used when generating a lint report for a library. Must be set for libraries only.

setTextOutput

abstract void setTextOutput(File textOutput)

The optional path to where a text report should be written.

To output the lint report to stdout set textReport=true, and leave textOutput unset.

setTextReport

abstract void setTextReport(boolean textReport)

Whether lint should write a text report.

With the default setting (textReport=false), the lint task will print a summary to stdout if there are any lint warnings or errors including a link to the full text report.

When textReport=true and textOutput is unset, the full report will be printed by the lint task, rather than just a summary. When textOutput is set, the full text report will be copied to the specified location.

setWarningsAsErrors

abstract void setWarningsAsErrors(boolean warningsAsErrors)

Whether lint should treat all warnings as errors

setXmlOutput

abstract void setXmlOutput(File xmlOutput)

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

setXmlReport

abstract void setXmlReport(boolean xmlReport)

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