# Lint

# Lint

```
interface Lint
```

|--------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.dsl.Lint](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#) |

DSL object for configuring lint options. Example:  

```carbon
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("$reportsDir/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("$reportsDir/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("$reportsDir/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("$reportsDir/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
         // Normally lint will analyze all dependencies along with each module; this ensures
         // that lint can correctly (for example) determine if a resource declared in a library
         // is unused; checking only the library in isolation would not be able to identify this
         // problem. However, this leads to quite a bit of extra computation; a library is
         // analyzed repeatedly, for each module that it is used in.
         checkDependencies false
    }
}
```

## Summary

|                                                                                                                                                                                                                                                                ### Properties                                                                                                                                                                                                                                                                ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [abortOnError](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#abortOnError:kotlin.Boolean) Whether lint should set the exit code of the process if errors are found                                                                                                                          |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [absolutePaths](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#absolutePaths:kotlin.Boolean) Whether lint should display full paths in the error output.                                                                                                                                     |
| abstract[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)?                                                                                                                       | [baseline](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#baseline:java.io.File) The baseline file to use, if any.                                                                                                                                                                           |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [checkAllWarnings](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkAllWarnings:kotlin.Boolean) Whether lint should check all warnings, including those off by default                                                                                                                    |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [checkDependencies](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkDependencies:kotlin.Boolean) Whether lint should check all dependencies too as part of its analysis.                                                                                                                 |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [checkGeneratedSources](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkGeneratedSources:kotlin.Boolean) Returns whether lint should run checks on generated sources.                                                                                                                    |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [checkOnly](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkOnly:kotlin.collections.MutableSet) The exact set of issues to check set by[checkOnly](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkOnly:kotlin.collections.MutableSet). |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [checkReleaseBuilds](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkReleaseBuilds:kotlin.Boolean) Whether lint should check for fatal errors during release builds.                                                                                                                     |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [checkTestSources](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkTestSources:kotlin.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.                                              |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [disable](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#disable:kotlin.collections.MutableSet) The set of issue IDs to suppress.                                                                                                                                                            |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [enable](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#enable:kotlin.collections.MutableSet) The set of issue IDs to enable.                                                                                                                                                                |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [error](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#error:kotlin.collections.MutableSet) Issues that have severity overridden to 'error'                                                                                                                                                  |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [explainIssues](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#explainIssues:kotlin.Boolean) Whether lint should include explanations for issue errors.                                                                                                                                      |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [fatal](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#fatal:kotlin.collections.MutableSet) Issues that have severity overridden to 'fatal'                                                                                                                                                  |
| abstract[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)?                                                                                                                       | [htmlOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#htmlOutput:java.io.File) The optional path to where an HTML report should be written.                                                                                                                                            |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [htmlReport](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#htmlReport:kotlin.Boolean) Whether we should write an HTML report.                                                                                                                                                               |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [ignore](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#ignore:kotlin.collections.MutableSet) Issues that have severity overridden to 'ignore'                                                                                                                                               |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [ignoreTestSources](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#ignoreTestSources:kotlin.Boolean) Whether lint should ignore all test sources.                                                                                                                                            |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [ignoreWarnings](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#ignoreWarnings:kotlin.Boolean) Returns whether lint will only check for errors (ignoring warnings)                                                                                                                           |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [informational](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#informational:kotlin.collections.MutableSet) Issues that have severity overridden to 'informational'                                                                                                                          |
| abstract[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)?                                                                                                                       | [lintConfig](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#lintConfig:java.io.File) The default config file to use as a fallback.                                                                                                                                                           |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [noLines](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#noLines:kotlin.Boolean) Whether lint should include the source lines in the output where errors occurred (true by default)                                                                                                          |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [quiet](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#quiet:kotlin.Boolean) Whether lint should be quiet (for example, not write informational messages such as paths to report files written)                                                                                              |
| abstract[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)?                                                                                                                       | [sarifOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#sarifOutput:java.io.File) The optional path to where a SARIF report (OASIS Static Analysis Results Interchange Format) should be written.                                                                                       |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [sarifReport](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#sarifReport:kotlin.Boolean) Whether we should write a SARIF (OASIS Static Analysis Results Interchange Format) report.                                                                                                          |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [showAll](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#showAll:kotlin.Boolean) Whether lint should include all output (e.                                                                                                                                                                  |
| abstract[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)?                                                                                                                       | [textOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#textOutput:java.io.File) The optional path to where a text report should be written.                                                                                                                                             |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [textReport](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#textReport:kotlin.Boolean) Whether we should write a text report.                                                                                                                                                                |
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [warning](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#warning:kotlin.collections.MutableSet) Issues that have severity overridden to 'warning'                                                                                                                                            |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [warningsAsErrors](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#warningsAsErrors:kotlin.Boolean) Whether lint should treat all warnings as errors                                                                                                                                          |
| abstract[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)?                                                                                                                       | [xmlOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#xmlOutput:java.io.File) The optional path to where an XML report should be written.                                                                                                                                               |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                                                                        | [xmlReport](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#xmlReport:kotlin.Boolean) Whether we should write an XML report.                                                                                                                                                                  |

## Properties

### abortOnError

```
abstract var abortOnError: Boolean
```

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

### absolutePaths

```
abstract var absolutePaths: Boolean
```

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

### baseline

```
abstract var baseline: File?
```

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.  

### checkAllWarnings

```
abstract var checkAllWarnings: Boolean
```

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

### checkDependencies

```
abstract var checkDependencies: Boolean
```

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

### checkGeneratedSources

```
abstract var checkGeneratedSources: Boolean
```

Returns whether lint should run checks on generated sources.  

### checkOnly

```
abstract val checkOnly: MutableSet<String>
```

The exact set of issues to check set by[checkOnly](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkOnly:kotlin.collections.MutableSet).

If empty, lint will detect the issues that are enabled by default plus any issues enabled via[enable](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#enable:kotlin.collections.MutableSet)and without issues disabled via[disable](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#disable:kotlin.collections.MutableSet).  

### checkReleaseBuilds

```
abstract var checkReleaseBuilds: Boolean
```

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.  

### checkTestSources

```
abstract var checkTestSources: 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)  

### disable

```
abstract val disable: MutableSet<String>
```

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

### enable

```
abstract val enable: MutableSet<String>
```

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

### error

```
abstract val error: MutableSet<String>
```

Issues that have severity overridden to 'error'  

### explainIssues

```
abstract var explainIssues: Boolean
```

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

### fatal

```
abstract val fatal: MutableSet<String>
```

Issues that have severity overridden to 'fatal'  

### htmlOutput

```
abstract var htmlOutput: File?
```

The optional path to where an HTML report should be written. Setting this property will also turn on[htmlReport](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#htmlReport:kotlin.Boolean).  

### htmlReport

```
abstract var htmlReport: Boolean
```

Whether we should write an HTML report. Default is true. The location can be controlled by[htmlOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#htmlOutput:java.io.File).  

### ignore

```
abstract val ignore: MutableSet<String>
```

**Deprecated.**

Issues that have severity overridden to 'ignore'  

### ignoreTestSources

```
abstract var ignoreTestSources: Boolean
```

Whether lint should ignore all test sources. This is like[checkTestSources](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#checkTestSources:kotlin.Boolean), 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.  

### ignoreWarnings

```
abstract var ignoreWarnings: Boolean
```

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

### informational

```
abstract val informational: MutableSet<String>
```

Issues that have severity overridden to 'informational'  

### lintConfig

```
abstract var lintConfig: File?
```

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.  

### noLines

```
abstract var noLines: Boolean
```

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

### quiet

```
abstract var quiet: Boolean
```

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

### sarifOutput

```
abstract var sarifOutput: File?
```

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](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#sarifReport:kotlin.Boolean).  

### sarifReport

```
abstract var sarifReport: Boolean
```

Whether we should write a SARIF (OASIS Static Analysis Results Interchange Format) report. Default is false. The location can be controlled by[sarifOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#sarifOutput:java.io.File).  

### showAll

```
abstract var showAll: Boolean
```

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

### textOutput

```
abstract var textOutput: File?
```

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](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#textReport:kotlin.Boolean).  

### textReport

```
abstract var textReport: Boolean
```

Whether we should write a text report. Default is false. The location can be controlled by[textOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#textOutput:java.io.File).  

### warning

```
abstract val warning: MutableSet<String>
```

Issues that have severity overridden to 'warning'  

### warningsAsErrors

```
abstract var warningsAsErrors: Boolean
```

Whether lint should treat all warnings as errors  

### xmlOutput

```
abstract var xmlOutput: File?
```

The optional path to where an XML report should be written. Setting this property will also turn on[xmlReport](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#xmlReport:kotlin.Boolean).  

### xmlReport

```
abstract var xmlReport: Boolean
```

Whether we should write an XML report. Default is true. The location can be controlled by[xmlOutput](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Lint#xmlOutput:java.io.File).