diff --git a/docs/api-guide/annotations.md.html b/docs/api-guide/annotations.md.html index 9fe6b2c8..fbc82659 100644 --- a/docs/api-guide/annotations.md.html +++ b/docs/api-guide/annotations.md.html @@ -106,7 +106,7 @@ The second case shows a similar situation where the array syntax will end up calling our extension method, `get()`. -And the third case shows the most common scenario: a straight forward +And the third case shows the most common scenario: a straightforward method call to an annotated method. In many cases, the above detector implementation is nearly all you have @@ -322,7 +322,7 @@ The `fileStack.push` call on line 4 also resolves to the same method as the call on line 2 (even though the concrete type is a `FileStack` -instead of a `Stack), so like on line 2, this call is taken to be +instead of a `Stack`), so like on line 2, this call is taken to be thread safe. However, the `fileStack.pop` call on line 6 resolves to the API method diff --git a/docs/api-guide/basics.md.html b/docs/api-guide/basics.md.html index fde07c99..3886e044 100644 --- a/docs/api-guide/basics.md.html +++ b/docs/api-guide/basics.md.html @@ -169,13 +169,13 @@ Many detector methods will pass in a `Context`, or a more specific subclass of `Context` such as `JavaContext` or `XmlContext`. This -allows lint to provide access to the detectors information they may -need, without passing in a lot of parameters (and allowing lint to add -additional data over time without breaking signatures). +allows lint to give the detectors information they may need, without +passing in a lot of parameters. It also allows lint to add additional data +over time without breaking signatures. The `Context` classes also provide many convenience APIs. For example, for `XmlContext` there are methods for creating locations for XML tags, -XML attributes, just the name part of an XML attribute and just the +XML attributes, just the name part of an XML attribute, and just the value part of an XML attribute. For a `JavaContext` there are also methods for creating locations, such as for a method call, including whether to include the receiver and/or the argument list. @@ -204,7 +204,7 @@ Lint's API has two halves: - The **Client API**: “Integrate (and run) lint from within a tool”. - For example, both the IDE and the build system uses this API to embed + For example, both the IDE and the build system use this API to embed and invoke lint to analyze the code in the project or editor. - The **Detector API**: “Implement a new lint check”. This is the API @@ -213,12 +213,12 @@ The class in the Client API which represents lint running in a tool is called `LintClient`. This class is responsible for, among other things: -* Reporting incidents found by detectors. For example, in the IDE, it +* **Reporting incidents found by detectors**. For example, in the IDE, it will place error markers into the source editor, and in a build system, it may write warnings to the console or generate a report or even fail the build. -* Handling I/O. Detectors should never read files from disk directly. +* **Handling I/O**. Detectors should never read files from disk directly. This allows lint checks to work smoothly in for example the IDE. When lint runs on the fly, and a lint check asks for the source file contents (or other supporting files), the `LintClient` in the IDE @@ -226,14 +226,13 @@ editors and if the requested file is being edited, it will return the current (often unsaved!) contents. -* Handling network traffic. Lint checks should never open - URLConnections themselves. By going through the lint API to request - data for a URL, not only can the LintClient for example use any - configured IDE proxy settings which is done in the IntelliJ - integration of lint, but even the lint check's own unit tests can - easily be tested because the special unit test implementation of a - `LintClient` provides a simple way to provide exact responses for - specific URLs: +* **Handling network traffic**. Lint checks should never open + URLConnections themselves. Instead, they should go through the lint API + to request data for URLs. Among other things, this allows the + `LintClient` to use configured IDE proxy settings (as is done in the + IntelliJ integration of lint). This is also good for testing, because + the special unit test implementation of a `LintClient` has a simple way + to provide exact responses for specific URLs: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lint() @@ -256,8 +255,8 @@ And much, much, more. **However, most of the implementation of `LintClient` is intended for integration of lint itself, and as a check -author you don't need to worry about it.** It's the detector API that -matters, and is also less likely to change than the client API. +author you don't need to worry about it.** The detector API will matter +more, and it's also less likely to change than the client API. !!! Tip The division between the two halves is not perfect; some classes @@ -273,8 +272,8 @@ for internal lint usage have been made `public` such that lint's code in one package can access it from the other. There's normally a comment explaining that this is for internal use only, but be aware - that just because something is `public` or not `final` it's a good - idea to call or override it. + that even when something is `public` or not `final`, it might not be a + good idea to call or override it. ## Creating an Issue @@ -283,7 +282,7 @@ [publishing](publishing.md.html) chapters. `Issue` is a final class, so unlike `Detector`, you don't subclass -it, you instantiate it via `Issue.create`. +it; you instantiate it via `Issue.create`. By convention, issues are registered inside the companion object of the corresponding detector, but that is not required. @@ -631,16 +630,16 @@ * When implementing **`SourceCodeScanner`**, in Kotlin and Java files you can be called back - - When a method of a given name is invoked (`getApplicableMethodNames` + - when a method of a given name is invoked (`getApplicableMethodNames` and `visitMethodCall`) - - When a class of the given type is instantiated + - when a class of the given type is instantiated (`getApplicableConstructorTypes` and `visitConstructor`) - - When a new class is declared which extends (possibly indirectly) + - when a new class is declared which extends (possibly indirectly) a given class or interface (`applicableSuperClasses` and `visitClass`) - - When annotated elements are referenced or combined + - when annotated elements are referenced or combined (`applicableAnnotations` and `visitAnnotationUsage`) - - When any AST nodes of given types appear (`getApplicableUastTypes` + - when any AST nodes of given types appear (`getApplicableUastTypes` and `createUastHandler`) * When implementing a **`ClassScanner`**, in `.class` and `.jar` files @@ -650,7 +649,7 @@ - when a given bytecode instruction occurs (`getApplicableAsmNodeTypes` and `checkInstruction`) - like with XmlScanner's `visitDocument`, you can perform your own - ASM bytecode iteration via `checkClass`. + ASM bytecode iteration via `checkClass` * There are various other scanners too, for example `GradleScanner` which lets you visit `build.gradle` and `build.gradle.kts` DSL @@ -677,9 +676,9 @@ the detector in fields and accumulate information for analysis at the end. -There are some callbacks both before each individual file is analyzed -(`beforeCheckFile` and `afterCheckFile`), as well as before and after -analysis of all the modules (`beforeCheckRootProject` and +There are some callbacks both before and after each individual file is +analyzed (`beforeCheckFile` and `afterCheckFile`), as well as before and +after analysis of all the modules (`beforeCheckRootProject` and `afterCheckRootProject`). This is for example how the ”unused resources“ check works: we store @@ -764,8 +763,7 @@ like the `ResourceRepository` and the `ResourceEvaluator`. * Finally, there are a number of utility methods; for example there is - an `editDistance` method used to find likely typos used by a number - of checks. + an `editDistance` method used to find likely typos. ## Scanner Example @@ -807,7 +805,7 @@ } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The second, older form, may seem simpler, but the new API allows a lot +The second (older) form may seem simpler, but the new API allows a lot more metadata to be attached to the report, such as an override severity. You don't have to convert to the builder syntax to do this; you could also have written the second form as @@ -1003,7 +1001,7 @@ !!! Warning Resolving only works if lint has a correct classpath such that the - referenced method, field or class are actually present. If it is + referenced method, field, or class is actually present. If it is not, resolve will return null, and various lint callbacks will not be invoked. This is a common source of questions for lint checks ”not working“; it frequently comes up in lint unit tests where a diff --git a/docs/api-guide/dataflow-analyzer.md.html b/docs/api-guide/dataflow-analyzer.md.html index 39b0c56a..1af02645 100644 --- a/docs/api-guide/dataflow-analyzer.md.html +++ b/docs/api-guide/dataflow-analyzer.md.html @@ -83,7 +83,7 @@ } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Aas you can see, the `DataFlowAnalyzer` is a visitor, so when we find a +As you can see, the `DataFlowAnalyzer` is a visitor, so when we find a call we're interested in, we construct a `DataFlowAnalyzer` and initialize it with the instance we want to track, and then we visit the surrounding method with this visitor. @@ -254,8 +254,8 @@ call. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers -fun test) { - val transaction = getFragmentManager().beginTransaction() +fun test() { + val transaction = getFragmentManager().beginTransaction() process(transaction) } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/api-guide/faq.md.html b/docs/api-guide/faq.md.html index 83e3ca13..a785efc5 100644 --- a/docs/api-guide/faq.md.html +++ b/docs/api-guide/faq.md.html @@ -110,14 +110,14 @@ ### How do I get the `UMethod` for a `PsiMethod` ? -Call `psiMethod.toUElementOfType()`. Note that this may return +Call `psiMethod.toUElementOfType<UMethod>()`. Note that this may return null if UAST cannot find valid Java or Kotlin source code for the method. For `PsiField` and `PsiClass` instances use the equivalent `toUElementOfType` type arguments. -### How do get a `JavaEvaluator` ? +### How do get a `JavaEvaluator`? The `Context` passed into most of the `Detector` callback methods relevant to Kotlin and Java analysis is of type `JavaContext`, and it @@ -173,7 +173,7 @@ abstract fun getTypeClass(psiType: PsiType?): PsiClass? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -### How do I look up hierarhcy annotations for an element? +### How do I look up hierarchy annotations for an element? You can directly look up annotations via the modified list of PsiElement or the annotations for a `UAnnotated` element, @@ -254,7 +254,7 @@ open fun computeArgumentMapping( call: UCallExpression, method: PsiMethod - ): Map { /* ... */ + ): Map<UExpression, PsiParameter> { /* ... */ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This returns a map from UAST expressions (each argument to a UAST call @@ -290,7 +290,7 @@ ### Why are overloaded operators not handled? Kotlin supports overloaded operators, but these are not handled as -calls in the AST - instead, an implicit `get` or `set` method from an +calls in the AST -- instead, an implicit `get` or `set` method from an array access will show up as a `UArrayAccessExpression`. Lint has specific support to help handling these scenarios; see the “Implicit Calls” section in the [basics chapter](basics.md.html). diff --git a/docs/api-guide/messages.md.html b/docs/api-guide/messages.md.html index 986955b2..42725571 100644 --- a/docs/api-guide/messages.md.html +++ b/docs/api-guide/messages.md.html @@ -41,7 +41,7 @@ ## Punctuation -One line error messages should not be punctuated - e.g. the error message +One line error messages should not be punctuated -- e.g. the error message should be “Unused import foo”, not “Unused import foo.” However, if there are multiple sentences in the error message, all sentences diff --git a/docs/api-guide/partial-analysis.md.html b/docs/api-guide/partial-analysis.md.html index 68553443..4db4ea75 100644 --- a/docs/api-guide/partial-analysis.md.html +++ b/docs/api-guide/partial-analysis.md.html @@ -308,8 +308,8 @@ represents it. To report an incident you simply call `context.report(incident)`. There are several ways to create these incidents. The easiest is to simply edit your existing call above by -adding `Incident(` (or from Java, `new Incident(`) inside the -`context.report` block like this: +putting it inside `Incident(...)` (in Java, `new Incident(...)`) inside +the `context.report` block like this: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin context.report(Incident( @@ -390,7 +390,7 @@ from the `Constraints` class. Recording an incident with a constraint is easy; first construct the -`Incident` as before, and then report them via +`Incident` as before, and then report it via `context.report(incident, constraint)`: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~java @@ -403,7 +403,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Finally, note that you can combine constraints; there are both “and” -and “or” operators defined for the `Constraint` class. so the following +and “or” operators defined for the `Constraint` class, so the following is valid: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin diff --git a/docs/api-guide/publishing.md.html b/docs/api-guide/publishing.md.html index dcac1562..cfa3f4aa 100644 --- a/docs/api-guide/publishing.md.html +++ b/docs/api-guide/publishing.md.html @@ -126,7 +126,7 @@ * and is no longer registered, any existing mentions of the issue * id in baselines, lint.xml files etc are gracefully handled. */ -open val deletedIssues: List = emptyList() +open val deletedIssues: List<String> = emptyList() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The reason you'll want to do this is listed right there in the doc: If @@ -136,7 +136,7 @@ is done to catch issue id typos. And if the user has a baseline file listing incidents from your check, then if your issue id is not registered as deleted, lint will think this is an issue that has been -"fixed“ since it's no longer reported, and lint will issue an +“fixed” since it's no longer reported, and lint will issue an informational message that the baseline contains issues no longer reported (which is done such that users can update their baseline files, to ensure that the fixed issues aren't reintroduced again.) diff --git a/docs/api-guide/terminology.md.html b/docs/api-guide/terminology.md.html index b9cf4347..477f4675 100644 --- a/docs/api-guide/terminology.md.html +++ b/docs/api-guide/terminology.md.html @@ -9,7 +9,7 @@ Configuration : A configuration provides extra information or parameters to lint on a - per project, or even per directory basis. For example, the `lint.xml` + per-project, or even per-directory, basis. For example, the `lint.xml` files can change the severity for issues, or list incidents to ignore (matched for example by a regular expression), or even provide values for options read by a specific detector. @@ -17,7 +17,7 @@ Context : An object passed into detectors in many APIs, providing data about (for example) which file is being analyzed (and in which project), - and for specific types of analysis additional information; for + and (for specific types of analysis) additional information; for example, an XmlContext points to the DOM document, a JavaContext includes the AST, and so on. @@ -97,7 +97,7 @@ Java and Kotlin files, there is a scope for .class files, and so on. Typically lint cares about which **set** of scopes apply, - so most of the APIs take an `EnumSet< Scope>`, but we'll often + so most of the APIs take an `EnumSet<Scope>`, but we'll often refer to this as just “the scope” instead of the “scope set”. Severity diff --git a/docs/api-guide/test-modes.md.html b/docs/api-guide/test-modes.md.html index 698ef2e0..fc8e3c66 100644 --- a/docs/api-guide/test-modes.md.html +++ b/docs/api-guide/test-modes.md.html @@ -9,7 +9,7 @@ There are a number of built-in test modes: -* Test modes which makes small tweaks to the source files which +* Test modes which make small tweaks to the source files which should be compatible, such as * Inserting unnecessary parentheses * Replacing imported symbols with fully qualified names @@ -36,7 +36,7 @@ `skipTestModes` DSL method, as described below. You can also add in your own test modes. For example, lint adds its own -internal test mode for making sure the built-in annotation checks works +internal test mode for making sure the built-in annotation checks work with Android platform annotations in the following test mode: [](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/AndroidPlatformAnnotationsTestMode.kt) @@ -322,7 +322,7 @@ last argument is a literal expression such as a number or a String. You *can't* just use `if (call.valueArguments.lastOrNull() is ULiteralExpression)`, because that first argument could be a -`UParenthesizedExpression`, as in `call(1, true, ("hello")), so you'd +`UParenthesizedExpression`, as in `call(1, true, ("hello"))`, so you'd need to look inside the parentheses. UAST comes with two functions to help you handle this correctly: diff --git a/docs/api-guide/unit-testing.md.html b/docs/api-guide/unit-testing.md.html index f4a54e31..1915e7f3 100644 --- a/docs/api-guide/unit-testing.md.html +++ b/docs/api-guide/unit-testing.md.html @@ -174,7 +174,7 @@ ## Trimming indents? Notice how in the above Kotlin unit tests we used raw strings, **and** -we indented the sources to be flush with the opening “”“ string +we indented the sources to be flush with the opening `"""` string delimiter. You might be tempted to call `.trimIndent()` on the raw string. @@ -412,7 +412,7 @@ "BwAAAAIAAQAIAAkAAQAKAAAAHQABAAEAAAAFKrcAAbEAAAABAAsAAAAGAAEA" + "AAAEAAgADAAJAAEACgAAAB4AAQAAAAAABhICswADsQAAAAEACwAAAAYAAQAA" + "AAUAAQANAAAAAgAO" - )` + ) ).run().expect( ``` @@ -450,7 +450,7 @@ and emit the full test file registration. This isn't just a convenience; lint's test infrastructure also uses -this to test some additional scenarios (for example, in a multi- module +this to test some additional scenarios (for example, in a multi-module project it will only provide the binaries, not the sources, for upstream modules.) diff --git a/docs/checks/AppLinksAutoVerify.md.html b/docs/checks/AppLinksAutoVerify.md.html index a1d6abca..8cacf1cd 100644 --- a/docs/checks/AppLinksAutoVerify.md.html +++ b/docs/checks/AppLinksAutoVerify.md.html @@ -31,9 +31,9 @@ See : https://g.co/appindexing/applinks Implementation -: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/AppLinksAutoVerifyDetector.java) +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/AppLinksAutoVerifyDetector.kt) Tests -: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/AppLinksAutoVerifyDetectorTest.java) +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/AppLinksAutoVerifyDetectorTest.kt) Copyright Year : 2015 @@ -43,12 +43,12 @@ Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -AndroidManifest.xml:12:Error: This host does not support app links to -your app. Checks the Digital Asset Links JSON file: -http://example.com/.well-known/assetlinks.json [AppLinksAutoVerify] +AndroidManifest.xml:12:Warning: HTTP request for Digital Asset Links +JSON file https://links.dropbox.com/.well-known/assetlinks.json fails. +HTTP response code: 301 [AppLinksAutoVerify] - android:host="example.com" - -------------------------- + android:host="links.dropbox.com" + -------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: @@ -57,7 +57,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.example.helloworld" > + package="com.dropbox.links" > <application android:allowBackup="true" @@ -66,7 +66,7 @@ <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <data android:scheme="http" - android:host="example.com" + android:host="links.dropbox.com" android:pathPrefix="/gizmos" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> @@ -78,11 +78,11 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can also visit the -[source code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/AppLinksAutoVerifyDetectorTest.java) +[source code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/AppLinksAutoVerifyDetectorTest.kt) for the unit tests for this check to see additional scenarios. The above example was automatically extracted from the first unit test -found for this lint check, `AppLinksAutoVerifyDetector.testInvalidPackage`. +found for this lint check, `AppLinksAutoVerifyDetector.testRedirect`. To report a problem with this extracted sample, visit https://issuetracker.google.com/issues/new?component=192708. diff --git a/docs/checks/ArcAnimationSpecTypeIssue.md.html b/docs/checks/ArcAnimationSpecTypeIssue.md.html index 73ba6770..99c1ef09 100644 --- a/docs/checks/ArcAnimationSpecTypeIssue.md.html +++ b/docs/checks/ArcAnimationSpecTypeIssue.md.html @@ -103,17 +103,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-core-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-core-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-core-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-core-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-core-android) # libs.versions.toml [versions] -animation-core-android = "1.7.0-alpha01" +animation-core-android = "1.7.0-beta01" [libraries] animation-core-android = { module = "androidx.compose.animation:animation-core-android", @@ -121,7 +121,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.animation:animation-core-android](androidx_compose_animation_animation-core-android.md.html). diff --git a/docs/checks/ArgInFormattedQuantityStringRes.md.html b/docs/checks/ArgInFormattedQuantityStringRes.md.html index a46b5d1f..810239fe 100644 --- a/docs/checks/ArgInFormattedQuantityStringRes.md.html +++ b/docs/checks/ArgInFormattedQuantityStringRes.md.html @@ -92,17 +92,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -110,7 +110,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/AutoboxingStateCreation.md.html b/docs/checks/AutoboxingStateCreation.md.html index 7c3e2f30..181a9b04 100644 --- a/docs/checks/AutoboxingStateCreation.md.html +++ b/docs/checks/AutoboxingStateCreation.md.html @@ -95,17 +95,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -113,7 +113,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/AutoboxingStateValueProperty.md.html b/docs/checks/AutoboxingStateValueProperty.md.html index 6502536f..66871bae 100644 --- a/docs/checks/AutoboxingStateValueProperty.md.html +++ b/docs/checks/AutoboxingStateValueProperty.md.html @@ -90,17 +90,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -108,7 +108,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/BadConfigurationProvider.md.html b/docs/checks/BadConfigurationProvider.md.html index f557b1be..2ac6a8f8 100644 --- a/docs/checks/BadConfigurationProvider.md.html +++ b/docs/checks/BadConfigurationProvider.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -70,7 +70,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/BadPeriodicWorkRequestEnqueue.md.html b/docs/checks/BadPeriodicWorkRequestEnqueue.md.html index 59912a5a..a3a55a76 100644 --- a/docs/checks/BadPeriodicWorkRequestEnqueue.md.html +++ b/docs/checks/BadPeriodicWorkRequestEnqueue.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -70,7 +70,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/BindingReceiverParameter.md.html b/docs/checks/BindingReceiverParameter.md.html index 15985df0..db50ec84 100644 --- a/docs/checks/BindingReceiverParameter.md.html +++ b/docs/checks/BindingReceiverParameter.md.html @@ -1,13 +1,13 @@ -(#) @Binds/@Provides functions cannot be extension functions. +(#) @Binds/@Provides functions cannot be extensions -!!! ERROR: @Binds/@Provides functions cannot be extension functions. +!!! ERROR: @Binds/@Provides functions cannot be extensions This is an error. Id : `BindingReceiverParameter` Summary -: @Binds/@Provides functions cannot be extension functions. +: @Binds/@Provides functions cannot be extensions Severity : Error Category @@ -169,17 +169,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -187,7 +187,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/BindingReturnType.md.html b/docs/checks/BindingReturnType.md.html index 27b48aa6..8327eafe 100644 --- a/docs/checks/BindingReturnType.md.html +++ b/docs/checks/BindingReturnType.md.html @@ -1,13 +1,13 @@ -(#) @Binds/@Provides functions must have a return type. Cannot be void or Unit. +(#) @Binds/@Provides must have a return type -!!! ERROR: @Binds/@Provides functions must have a return type. Cannot be void or Unit. +!!! ERROR: @Binds/@Provides must have a return type This is an error. Id : `BindingReturnType` Summary -: @Binds/@Provides functions must have a return type. Cannot be void or Unit. +: @Binds/@Provides must have a return type Severity : Error Category @@ -105,17 +105,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -123,7 +123,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/BindsCanBeExtensionFunction.md.html b/docs/checks/BindsCanBeExtensionFunction.md.html deleted file mode 100644 index 7499980e..00000000 --- a/docs/checks/BindsCanBeExtensionFunction.md.html +++ /dev/null @@ -1,249 +0,0 @@ - -(#) @Binds-annotated functions can be extension functions. - -!!! Tip: @Binds-annotated functions can be extension functions. - Advice from this check is just a tip. - -Id -: `BindsCanBeExtensionFunction` -Summary -: @Binds-annotated functions can be extension functions. -Severity -: Information -Category -: Usability -Platform -: Any -Vendor -: slack -Identifier -: slack-lint -Contact -: https://github.com/slackhq/slack-lints -Feedback -: https://github.com/slackhq/slack-lints -Min -: Lint 8.0 and 8.1 -Compiled -: Lint 8.0 and 8.1 -Artifact -: [com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html) - -Affects -: Kotlin and Java files and test sources -Editing -: This check runs on the fly in the IDE editor -Implementation -: [Source Code](https://github.com/slackhq/slack-lints/blob/main/slack-lint-checks/src/main/java/slack/lint/DaggerKotlinIssuesDetector.kt) -Tests -: [Source Code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/DaggerKotlinIssuesDetectorTest.kt) -Copyright Year -: 2021 - -@Binds-annotated functions can be extension functions to simplify code -readability. - -!!! Tip - This lint check has an associated quickfix available in the IDE. - -(##) Example - -Here is an example of lint warnings produced by this check: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -src/foo/MyQualifier.kt:13:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Int): Number - ------------------------------------ - - -src/foo/MyQualifier.kt:14:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Long): Number - ------------------------------------- - - -src/foo/MyQualifier.kt:15:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Double): Number - --------------------------------------- - - -src/foo/MyQualifier.kt:16:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Float): Number - -------------------------------------- - - -src/foo/MyQualifier.kt:17:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Short): Number - -------------------------------------- - - -src/foo/MyQualifier.kt:18:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Byte): Number - ------------------------------------- - - -src/foo/MyQualifier.kt:19:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: Char): Comparable<Char> - ----------------------------------------------- - - -src/foo/MyQualifier.kt:20:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(number: String): Comparable<String> - --------------------------------------------------- - - -src/foo/MyQualifier.kt:21:Information: @Binds-annotated functions can be -extension functions. [BindsCanBeExtensionFunction] - - @Binds fun bind(@MyQualifier number: Boolean): Comparable<Boolean> - ------------------------------------------------------------------ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here is the source file referenced above: - -`src/foo/MyQualifier.kt`: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers -package foo -import javax.inject.Inject -import javax.inject.Qualifier -import kotlin.jvm.JvmStatic -import dagger.Binds -import dagger.Module - -@Qualifier -annotation class MyQualifier - -@Module -interface MyModule { - @Binds fun bind(number: Int): Number - @Binds fun bind(number: Long): Number - @Binds fun bind(number: Double): Number - @Binds fun bind(number: Float): Number - @Binds fun bind(number: Short): Number - @Binds fun bind(number: Byte): Number - @Binds fun bind(number: Char): Comparable - @Binds fun bind(number: String): Comparable - @Binds fun bind(@MyQualifier number: Boolean): Comparable -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can also visit the -[source code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/DaggerKotlinIssuesDetectorTest.kt) -for the unit tests for this check to see additional scenarios. - -The above example was automatically extracted from the first unit test -found for this lint check, `DaggerKotlinIssuesDetector.binds can be extension functions`. -To report a problem with this extracted sample, visit -https://github.com/slackhq/slack-lints. - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. This lint check is included in the lint documentation, - but the Android team may or may not agree with its recommendations. - -``` -// build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.3.0") - -// build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.3.0' - -// build.gradle.kts with version catalogs: -lintChecks(libs.slack-lint-checks) - -# libs.versions.toml -[versions] -slack-lint-checks = "0.3.0" -[libraries] -slack-lint-checks = { - module = "com.slack.lint:slack-lint-checks", - version.ref = "slack-lint-checks" -} -``` - -0.3.0 is the version this documentation was generated from; -there may be newer versions available. - -[Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). -(##) Suppressing - -You can suppress false positives using one of the following mechanisms: - -* Using a suppression annotation like this on the enclosing - element: - - ```kt - // Kotlin - @Suppress("BindsCanBeExtensionFunction") - fun method() { - problematicStatement() - } - ``` - - or - - ```java - // Java - @SuppressWarnings("BindsCanBeExtensionFunction") - void method() { - problematicStatement(); - } - ``` - -* Using a suppression comment like this on the line above: - - ```kt - //noinspection BindsCanBeExtensionFunction - problematicStatement() - ``` - -* Using a special `lint.xml` file in the source tree which turns off - the check in that folder and any sub folder. A simple file might look - like this: - ```xml - <?xml version="1.0" encoding="UTF-8"?> - <lint> - <issue id="BindsCanBeExtensionFunction" severity="ignore" /> - </lint> - ``` - Instead of `ignore` you can also change the severity here, for - example from `error` to `warning`. You can find additional - documentation on how to filter issues by path, regular expression and - so on - [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). - -* In Gradle projects, using the DSL syntax to configure lint. For - example, you can use something like - ```gradle - lintOptions { - disable 'BindsCanBeExtensionFunction' - } - ``` - In Android projects this should be nested inside an `android { }` - block. - -* For manual invocations of `lint`, using the `--ignore` flag: - ``` - $ lint --ignore BindsCanBeExtensionFunction ...` - ``` - -* Last, but not least, using baselines, as discussed - [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). - - \ No newline at end of file diff --git a/docs/checks/BindsMustBeAbstract.md.html b/docs/checks/BindsMustBeAbstract.md.html index 387aabb7..3debdd19 100644 --- a/docs/checks/BindsMustBeAbstract.md.html +++ b/docs/checks/BindsMustBeAbstract.md.html @@ -1,13 +1,13 @@ -(#) @Binds functions must be abstract and cannot have function bodies. +(#) @Binds functions must be abstract -!!! ERROR: @Binds functions must be abstract and cannot have function bodies. +!!! ERROR: @Binds functions must be abstract This is an error. Id : `BindsMustBeAbstract` Summary -: @Binds functions must be abstract and cannot have function bodies. +: @Binds functions must be abstract Severity : Error Category @@ -104,17 +104,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -122,7 +122,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/BindsTypeMismatch.md.html b/docs/checks/BindsTypeMismatch.md.html index e2133e02..8d4e24ba 100644 --- a/docs/checks/BindsTypeMismatch.md.html +++ b/docs/checks/BindsTypeMismatch.md.html @@ -1,13 +1,13 @@ -(#) @Binds function parameters must be type-assignable to their return types. +(#) @Binds parameter/return must be type-assignable -!!! ERROR: @Binds function parameters must be type-assignable to their return types. +!!! ERROR: @Binds parameter/return must be type-assignable This is an error. Id : `BindsTypeMismatch` Summary -: @Binds function parameters must be type-assignable to their return types. +: @Binds parameter/return must be type-assignable Severity : Error Category @@ -116,17 +116,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -134,7 +134,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/BindsWrongParameterCount.md.html b/docs/checks/BindsWrongParameterCount.md.html index b3015866..39b381b0 100644 --- a/docs/checks/BindsWrongParameterCount.md.html +++ b/docs/checks/BindsWrongParameterCount.md.html @@ -1,13 +1,13 @@ -(#) @Binds functions require a single parameter as an input to bind. +(#) @Binds must have one parameter -!!! ERROR: @Binds functions require a single parameter as an input to bind. +!!! ERROR: @Binds must have one parameter This is an error. Id : `BindsWrongParameterCount` Summary -: @Binds functions require a single parameter as an input to bind. +: @Binds must have one parameter Severity : Error Category @@ -94,17 +94,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -112,7 +112,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/CastingViewContextToActivity.md.html b/docs/checks/CastingViewContextToActivity.md.html index 7526a6ef..4329884a 100644 --- a/docs/checks/CastingViewContextToActivity.md.html +++ b/docs/checks/CastingViewContextToActivity.md.html @@ -54,17 +54,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -72,7 +72,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/ComposableDestinationInComposeScope.md.html b/docs/checks/ComposableDestinationInComposeScope.md.html index f9396ed4..2837cb2b 100644 --- a/docs/checks/ComposableDestinationInComposeScope.md.html +++ b/docs/checks/ComposableDestinationInComposeScope.md.html @@ -90,17 +90,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-compose:2.8.0-alpha01") +implementation("androidx.navigation:navigation-compose:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-compose:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-compose:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-compose) # libs.versions.toml [versions] -navigation-compose = "2.8.0-alpha01" +navigation-compose = "2.8.0-beta01" [libraries] navigation-compose = { module = "androidx.navigation:navigation-compose", @@ -108,7 +108,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.navigation:navigation-compose](androidx_navigation_navigation-compose.md.html). diff --git a/docs/checks/ComposableLambdaParameterNaming.md.html b/docs/checks/ComposableLambdaParameterNaming.md.html index 9c3351bb..79b606b1 100644 --- a/docs/checks/ComposableLambdaParameterNaming.md.html +++ b/docs/checks/ComposableLambdaParameterNaming.md.html @@ -85,17 +85,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -103,7 +103,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/ComposableLambdaParameterPosition.md.html b/docs/checks/ComposableLambdaParameterPosition.md.html index feb9c788..63075854 100644 --- a/docs/checks/ComposableLambdaParameterPosition.md.html +++ b/docs/checks/ComposableLambdaParameterPosition.md.html @@ -87,17 +87,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -105,7 +105,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/ComposableNaming.md.html b/docs/checks/ComposableNaming.md.html index 97342ee4..3e0008c0 100644 --- a/docs/checks/ComposableNaming.md.html +++ b/docs/checks/ComposableNaming.md.html @@ -87,17 +87,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -105,7 +105,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/ComposableNavGraphInComposeScope.md.html b/docs/checks/ComposableNavGraphInComposeScope.md.html index 52dcf6b5..47f38ec5 100644 --- a/docs/checks/ComposableNavGraphInComposeScope.md.html +++ b/docs/checks/ComposableNavGraphInComposeScope.md.html @@ -89,17 +89,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-compose:2.8.0-alpha01") +implementation("androidx.navigation:navigation-compose:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-compose:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-compose:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-compose) # libs.versions.toml [versions] -navigation-compose = "2.8.0-alpha01" +navigation-compose = "2.8.0-beta01" [libraries] navigation-compose = { module = "androidx.navigation:navigation-compose", @@ -107,7 +107,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.navigation:navigation-compose](androidx_navigation_navigation-compose.md.html). diff --git a/docs/checks/ComposeComposableModifier.md.html b/docs/checks/ComposeComposableModifier.md.html index 4eccedb6..65942a01 100644 --- a/docs/checks/ComposeComposableModifier.md.html +++ b/docs/checks/ComposeComposableModifier.md.html @@ -1,13 +1,13 @@ -(#) Using @Composable builder functions for modifiers is not recommended +(#) Don't use @Composable builder functions for modifiers -!!! ERROR: Using @Composable builder functions for modifiers is not recommended +!!! ERROR: Don't use @Composable builder functions for modifiers This is an error. Id : `ComposeComposableModifier` Summary -: Using @Composable builder functions for modifiers is not recommended +: Don't use @Composable builder functions for modifiers Severity : Error Category @@ -39,11 +39,9 @@ : 2023 Using @Composable builder functions for modifiers is not recommended, as -they cause unnecessary recompositions. -You should use Modifier.composed { ... } instead, as it limits -recomposition to just the modifier instance, rather than the whole -function tree. -See +they cause unnecessary recompositions.You should use the Modifier.Node +API instead, as it limits recomposition to just the modifier instance, +rather than the whole function tree.See https://slackhq.github.io/compose-lints/rules/#avoid-modifier-extension-factory-functions for more information. @@ -104,17 +102,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -122,7 +120,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeCompositionLocalGetter.md.html b/docs/checks/ComposeCompositionLocalGetter.md.html new file mode 100644 index 00000000..799925d0 --- /dev/null +++ b/docs/checks/ComposeCompositionLocalGetter.md.html @@ -0,0 +1,199 @@ + +(#) CompositionLocals should not use getters + +!!! ERROR: CompositionLocals should not use getters + This is an error. + +Id +: `ComposeCompositionLocalGetter` +Summary +: CompositionLocals should not use getters +Severity +: Error +Category +: Productivity +Platform +: Any +Vendor +: slack +Identifier +: com.slack.lint.compose:compose-lints +Feedback +: https://github.com/slackhq/compose-lints/issues +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html) + +Affects +: Kotlin and Java files and test sources +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/main/java/slack/lint/compose/CompositionLocalUsageDetector.kt) +Tests +: [Source Code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/test/java/slack/lint/compose/CompositionLocalUsageDetectorTest.kt) +Copyright Year +: 2023 + +`CompositionLocal`s should be singletons and not use getters. Otherwise +a new instance will be returned every call. + +(##) Options + +You can configure this lint checks using the following options: + +(###) allowed-composition-locals + +A comma-separated list of CompositionLocals that should be allowed. +This property should define a comma-separated list of `CompositionLocal`s that should be allowed. + + +Example `lint.xml`: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<lint> + <issue id="ComposeCompositionLocalGetter"> + <option name="allowed-composition-locals" value="some string" /> + </issue> +</lint> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(##) Example + +Here is an example of lint warnings produced by this check: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text +src/test.kt:2:Error: `CompositionLocal`s should be singletons and not +use getters. Otherwise a new instance will be returned every call. +[ComposeCompositionLocalGetter] + + val LocalBanana get() = compositionLocalOf { "Prune" } + --- + + +src/test.kt:3:Error: `CompositionLocal`s should be singletons and not +use getters. Otherwise a new instance will be returned every call. +[ComposeCompositionLocalGetter] + + val LocalPotato get() { + --- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is the source file referenced above: + +`src/test.kt`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers +val LocalBanana get() = compositionLocalOf { "Prune" } +val LocalPotato get() { + return compositionLocalOf { "Prune" } +} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also visit the +[source code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/test/java/slack/lint/compose/CompositionLocalUsageDetectorTest.kt) +for the unit tests for this check to see additional scenarios. + +The above example was automatically extracted from the first unit test +found for this lint check, `CompositionLocalUsageDetector.getter is an error`. +To report a problem with this extracted sample, visit +https://github.com/slackhq/compose-lints/issues. + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. This lint check is included in the lint documentation, + but the Android team may or may not agree with its recommendations. + +``` +// build.gradle.kts +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") + +// build.gradle +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' + +// build.gradle.kts with version catalogs: +lintChecks(libs.compose-lint-checks) + +# libs.versions.toml +[versions] +compose-lint-checks = "1.3.1" +[libraries] +compose-lint-checks = { + module = "com.slack.lint.compose:compose-lint-checks", + version.ref = "compose-lint-checks" +} +``` + +1.3.1 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ComposeCompositionLocalGetter") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ComposeCompositionLocalGetter") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ComposeCompositionLocalGetter + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ComposeCompositionLocalGetter" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ComposeCompositionLocalGetter' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ComposeCompositionLocalGetter ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ComposeCompositionLocalUsage.md.html b/docs/checks/ComposeCompositionLocalUsage.md.html index 83db6997..81405cb0 100644 --- a/docs/checks/ComposeCompositionLocalUsage.md.html +++ b/docs/checks/ComposeCompositionLocalUsage.md.html @@ -39,8 +39,8 @@ : 2023 `CompositionLocal`s are implicit dependencies and creating new ones -should be avoided. -See https://slackhq.github.io/compose-lints/rules/#compositionlocals for +should be avoided. See +https://slackhq.github.io/compose-lints/rules/#compositionlocals for more information. (##) Options @@ -131,17 +131,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -149,7 +149,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeContentEmitterReturningValues.md.html b/docs/checks/ComposeContentEmitterReturningValues.md.html index 303c7bcd..8403a7c8 100644 --- a/docs/checks/ComposeContentEmitterReturningValues.md.html +++ b/docs/checks/ComposeContentEmitterReturningValues.md.html @@ -39,11 +39,10 @@ : 2023 Composable functions should either emit content into the composition or -return a value, but not both. -If a composable should offer additional control surfaces to its caller, -those control surfaces or callbacks should be provided as parameters to -the composable function by the caller. -See +return a value, but not both.If a composable should offer additional +control surfaces to its caller, those control surfaces or callbacks +should be provided as parameters to the composable function by the +caller.See https://slackhq.github.io/compose-lints/rules/#do-not-emit-content-and-return-a-result for more information. @@ -131,17 +130,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -149,7 +148,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeM2Api.md.html b/docs/checks/ComposeM2Api.md.html index a18b199c..1fdd8c28 100644 --- a/docs/checks/ComposeM2Api.md.html +++ b/docs/checks/ComposeM2Api.md.html @@ -41,9 +41,8 @@ : 2022 Compose Material 2 (M2) is succeeded by Material 3 (M3). Please use M3 -APIs. -See https://slackhq.github.io/compose-lints/rules/#use-material-3 for -more information. +APIs.See https://slackhq.github.io/compose-lints/rules/#use-material-3 +for more information. (##) Options @@ -65,6 +64,23 @@ </lint> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +(###) enable-mangling-workaround + +Try to work around name mangling.. +See https://github.com/slackhq/compose-lints/issues/167 + +Default is false. + +Example `lint.xml`: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<lint> + <issue id="ComposeM2Api"> + <option name="enable-mangling-workaround" value="false" /> + </issue> +</lint> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + (##) Example Here is an example of lint warnings produced by this check: @@ -156,17 +172,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -174,7 +190,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeModifierComposed.md.html b/docs/checks/ComposeModifierComposed.md.html new file mode 100644 index 00000000..6bb24ac8 --- /dev/null +++ b/docs/checks/ComposeModifierComposed.md.html @@ -0,0 +1,202 @@ + +(#) Don't use Modifier.composed {} + +!!! ERROR: Don't use Modifier.composed {} + This is an error. + +Id +: `ComposeModifierComposed` +Summary +: Don't use Modifier.composed {} +Severity +: Error +Category +: Correctness +Platform +: Any +Vendor +: slack +Identifier +: com.slack.lint.compose:compose-lints +Feedback +: https://github.com/slackhq/compose-lints/issues +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html) + +Affects +: Kotlin and Java files and test sources +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/main/java/slack/lint/compose/ModifierComposedDetector.kt) +Tests +: [Source Code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/test/java/slack/lint/compose/ModifierComposedDetectorTest.kt) +Copyright Year +: 2023 + +Modifier.composed { ... } is no longer recommended due to performance +issues. + +You should use the Modifier.Node API instead, as it was designed from +the ground up to be far more performant than composed modifiers. + +See +https://slackhq.github.io/compose-lints/rules/#migrate-to-modifiernode +for more information. + +(##) Example + +Here is an example of lint warnings produced by this check: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text +src/test/test.kt:6:Error: Modifier.composed { ... } is no longer +recommended due to performance issues. + +You should use the Modifier.Node API instead, as it was designed from +the ground up to be far more performant than composed modifiers. + +See +https://slackhq.github.io/compose-lints/rules/#migrate-to-modifiernode +for more information. [ComposeModifierComposed] + +fun Modifier.something1() = Modifier.composed { } + --------------------- + + +src/test/test.kt:7:Error: Modifier.composed { ... } is no longer +recommended due to performance issues. + +You should use the Modifier.Node API instead, as it was designed from +the ground up to be far more performant than composed modifiers. + +See +https://slackhq.github.io/compose-lints/rules/#migrate-to-modifiernode +for more information. [ComposeModifierComposed] + +fun Modifier.something2() = composed { } + ------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is the source file referenced above: + +`src/test/test.kt`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers + package test + +import androidx.compose.ui.composed +import androidx.compose.ui.Modifier + +fun Modifier.something1() = Modifier.composed { } +fun Modifier.something2() = composed { } +fun Modifier.something3() = somethingElse() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also visit the +[source code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/test/java/slack/lint/compose/ModifierComposedDetectorTest.kt) +for the unit tests for this check to see additional scenarios. + +The above example was automatically extracted from the first unit test +found for this lint check, `ModifierComposedDetector.errors when a composable Modifier extension is detected`. +To report a problem with this extracted sample, visit +https://github.com/slackhq/compose-lints/issues. + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. This lint check is included in the lint documentation, + but the Android team may or may not agree with its recommendations. + +``` +// build.gradle.kts +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") + +// build.gradle +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' + +// build.gradle.kts with version catalogs: +lintChecks(libs.compose-lint-checks) + +# libs.versions.toml +[versions] +compose-lint-checks = "1.3.1" +[libraries] +compose-lint-checks = { + module = "com.slack.lint.compose:compose-lint-checks", + version.ref = "compose-lint-checks" +} +``` + +1.3.1 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ComposeModifierComposed") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ComposeModifierComposed") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ComposeModifierComposed + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ComposeModifierComposed" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ComposeModifierComposed' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ComposeModifierComposed ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ComposeModifierMissing.md.html b/docs/checks/ComposeModifierMissing.md.html index f0a4241f..7c7d7f3d 100644 --- a/docs/checks/ComposeModifierMissing.md.html +++ b/docs/checks/ComposeModifierMissing.md.html @@ -39,8 +39,7 @@ : 2023 This @Composable function emits content but doesn't have a modifier -parameter. -See +parameter.See https://slackhq.github.io/compose-lints/rules/#when-should-i-expose-modifier-parameters for more information. @@ -162,17 +161,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -180,7 +179,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeModifierReused.md.html b/docs/checks/ComposeModifierReused.md.html index ce058ff2..5f26df30 100644 --- a/docs/checks/ComposeModifierReused.md.html +++ b/docs/checks/ComposeModifierReused.md.html @@ -40,11 +40,10 @@ Modifiers should only be used once and by the root level layout of a Composable. This is true even if appended to or with other modifiers -e.g. `modifier.fillMaxWidth()`. -Use Modifier (with a capital 'M') to construct a new Modifier that you -can pass to other composables. -See https://slackhq.github.io/compose-lints/rules/#dont-re-use-modifiers -for more information. +e.g. `modifier.fillMaxWidth()`.Use Modifier (with a capital 'M') to +construct a new Modifier that you can pass to other composables.See +https://slackhq.github.io/compose-lints/rules/#dont-re-use-modifiers for +more information. (##) Options @@ -270,17 +269,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -288,7 +287,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeModifierWithoutDefault.md.html b/docs/checks/ComposeModifierWithoutDefault.md.html index 9845a4ca..c942f2de 100644 --- a/docs/checks/ComposeModifierWithoutDefault.md.html +++ b/docs/checks/ComposeModifierWithoutDefault.md.html @@ -39,8 +39,7 @@ : 2023 This @Composable function has a modifier parameter but it doesn't have a -default value. -See +default value.See https://slackhq.github.io/compose-lints/rules/#modifiers-should-have-default-parameters for more information. @@ -100,17 +99,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -118,7 +117,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeMultipleContentEmitters.md.html b/docs/checks/ComposeMultipleContentEmitters.md.html index d009c847..f742a3e9 100644 --- a/docs/checks/ComposeMultipleContentEmitters.md.html +++ b/docs/checks/ComposeMultipleContentEmitters.md.html @@ -40,6 +40,7 @@ Composable functions should only be emitting content into the composition from one source at their top level. + See https://slackhq.github.io/compose-lints/rules/#do-not-emit-multiple-pieces-of-content for more information. @@ -126,17 +127,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -144,7 +145,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeMutableParameters.md.html b/docs/checks/ComposeMutableParameters.md.html index 591e8bb1..34af6ae0 100644 --- a/docs/checks/ComposeMutableParameters.md.html +++ b/docs/checks/ComposeMutableParameters.md.html @@ -39,11 +39,9 @@ : 2023 Using mutable objects as state in Compose will cause your users to see -incorrect or stale data in your app. -Mutable objects that are not observable, such as `ArrayList` or a -mutable data class, cannot be observed by Compose to trigger -recomposition when they change. -See +incorrect or stale data in your app.Mutable objects that are not +observable, such as `ArrayList` or a mutable data class, cannot be +observed by Compose to trigger recomposition when they change.See https://slackhq.github.io/compose-lints/rules/#do-not-use-inherently-mutable-types-as-parameters for more information. @@ -134,17 +132,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -152,7 +150,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeNamingLowercase.md.html b/docs/checks/ComposeNamingLowercase.md.html index cd28ed4d..4cebd526 100644 --- a/docs/checks/ComposeNamingLowercase.md.html +++ b/docs/checks/ComposeNamingLowercase.md.html @@ -39,11 +39,9 @@ : 2023 Composable functions that return a value should start with a lowercase -letter. -While useful and accepted outside of @Composable functions, this factory -function convention has drawbacks that set inappropriate expectations -for callers when used with @Composable functions. -See +letter.While useful and accepted outside of @Composable functions, this +factory function convention has drawbacks that set inappropriate +expectations for callers when used with @Composable functions.See https://slackhq.github.io/compose-lints/rules/#naming-composable-functions-properly for more information. @@ -106,17 +104,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -124,7 +122,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeNamingUppercase.md.html b/docs/checks/ComposeNamingUppercase.md.html index 6d7d1530..78b04678 100644 --- a/docs/checks/ComposeNamingUppercase.md.html +++ b/docs/checks/ComposeNamingUppercase.md.html @@ -39,11 +39,9 @@ : 2023 Composable functions that return Unit should start with an uppercase -letter. -They are considered declarative entities that can be either present or -absent in a composition and therefore follow the naming rules for -classes. -See +letter.They are considered declarative entities that can be either +present or absent in a composition and therefore follow the naming rules +for classes.See https://slackhq.github.io/compose-lints/rules/#naming-composable-functions-properly for more information. @@ -119,17 +117,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -137,7 +135,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeParameterOrder.md.html b/docs/checks/ComposeParameterOrder.md.html index 22fb09a0..3f3e0702 100644 --- a/docs/checks/ComposeParameterOrder.md.html +++ b/docs/checks/ComposeParameterOrder.md.html @@ -164,17 +164,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -182,7 +182,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposePreviewNaming.md.html b/docs/checks/ComposePreviewNaming.md.html index 4cf920ef..2a46ad12 100644 --- a/docs/checks/ComposePreviewNaming.md.html +++ b/docs/checks/ComposePreviewNaming.md.html @@ -106,17 +106,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -124,7 +124,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposePreviewPublic.md.html b/docs/checks/ComposePreviewPublic.md.html index c4ae8736..f7e56033 100644 --- a/docs/checks/ComposePreviewPublic.md.html +++ b/docs/checks/ComposePreviewPublic.md.html @@ -39,35 +39,13 @@ : 2023 Composables annotated with `@Preview` that are used only for previewing -the UI should not be public. -See +the UI should not be public.See https://slackhq.github.io/compose-lints/rules/#preview-composables-should-not-be-public for more information. !!! Tip This lint check has an associated quickfix available in the IDE. -(##) Options - -You can configure this lint checks using the following options: - -(###) preview-public-only-if-params - -If set to true, this check will only enforce on previews that have no PreviewParameters. -If set to true, this check will only enforce on previews that have no PreviewParameters - -Default is true. - -Example `lint.xml`: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers -<lint> - <issue id="ComposePreviewPublic"> - <option name="preview-public-only-if-params" value="true" /> - </issue> -</lint> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - (##) Example Here is an example of lint warnings produced by this check: @@ -130,17 +108,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -148,7 +126,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeRememberMissing.md.html b/docs/checks/ComposeRememberMissing.md.html index 0e731ce3..7dcad1c1 100644 --- a/docs/checks/ComposeRememberMissing.md.html +++ b/docs/checks/ComposeRememberMissing.md.html @@ -103,17 +103,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -121,7 +121,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeUnstableCollections.md.html b/docs/checks/ComposeUnstableCollections.md.html index 02022a38..9354fe16 100644 --- a/docs/checks/ComposeUnstableCollections.md.html +++ b/docs/checks/ComposeUnstableCollections.md.html @@ -134,17 +134,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -152,7 +152,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeUnstableReceiver.md.html b/docs/checks/ComposeUnstableReceiver.md.html new file mode 100644 index 00000000..b59cc01f --- /dev/null +++ b/docs/checks/ComposeUnstableReceiver.md.html @@ -0,0 +1,246 @@ + +(#) Unstable receivers will always be recomposed + +!!! WARNING: Unstable receivers will always be recomposed + This is a warning. + +Id +: `ComposeUnstableReceiver` +Summary +: Unstable receivers will always be recomposed +Severity +: Warning +Category +: Productivity +Platform +: Any +Vendor +: slack +Identifier +: com.slack.lint.compose:compose-lints +Feedback +: https://github.com/slackhq/compose-lints/issues +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html) + +Affects +: Kotlin and Java files and test sources +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/main/java/slack/lint/compose/UnstableReceiverDetector.kt) +Tests +: [Source Code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/test/java/slack/lint/compose/UnstableReceiverDetectorTest.kt) +Copyright Year +: 2023 + +Instance composable functions on non-stable classes will always be +recomposed. If possible, make the receiver type stable or refactor this +function if that isn't possible. See +https://slackhq.github.io/compose-lints/rules/#unstable-receivers for +more information. + +(##) Example + +Here is an example of lint warnings produced by this check: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text +src/ExampleInterface.kt:4:Warning: Instance composable functions on +non-stable classes will always be recomposed. If possible, make the +receiver type stable or refactor this function if that isn't possible. +See https://slackhq.github.io/compose-lints/rules/#unstable-receivers +for more information. [ComposeUnstableReceiver] + + @Composable fun Content() + ------- + + +src/ExampleInterface.kt:8:Warning: Instance composable functions on +non-stable classes will always be recomposed. If possible, make the +receiver type stable or refactor this function if that isn't possible. +See https://slackhq.github.io/compose-lints/rules/#unstable-receivers +for more information. [ComposeUnstableReceiver] + + @Composable fun Content() {} + ------- + + +src/ExampleInterface.kt:12:Warning: Instance composable functions on +non-stable classes will always be recomposed. If possible, make the +receiver type stable or refactor this function if that isn't possible. +See https://slackhq.github.io/compose-lints/rules/#unstable-receivers +for more information. [ComposeUnstableReceiver] + +fun Example.OtherContent() {} + ------- + + +src/ExampleInterface.kt:15:Warning: Instance composable functions on +non-stable classes will always be recomposed. If possible, make the +receiver type stable or refactor this function if that isn't possible. +See https://slackhq.github.io/compose-lints/rules/#unstable-receivers +for more information. [ComposeUnstableReceiver] + +val Example.OtherContentProperty get() {} + ------- + + +src/ExampleInterface.kt:19:Warning: Instance composable functions on +non-stable classes will always be recomposed. If possible, make the +receiver type stable or refactor this function if that isn't possible. +See https://slackhq.github.io/compose-lints/rules/#unstable-receivers +for more information. [ComposeUnstableReceiver] + + @Composable fun present(): T + ------- + + +src/ExampleInterface.kt:23:Warning: Instance composable functions on +non-stable classes will always be recomposed. If possible, make the +receiver type stable or refactor this function if that isn't possible. +See https://slackhq.github.io/compose-lints/rules/#unstable-receivers +for more information. [ComposeUnstableReceiver] + + @Composable override fun present(): String { return "hi" } + ------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is the source file referenced above: + +`src/ExampleInterface.kt`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers +import androidx.compose.runtime.Composable + +interface ExampleInterface { + @Composable fun Content() +} + +class Example { + @Composable fun Content() {} +} + +@Composable +fun Example.OtherContent() {} + +@get:Composable +val Example.OtherContentProperty get() {} + +// Supertypes +interface Presenter { + @Composable fun present(): T +} + +class HomePresenter : Presenter { + @Composable override fun present(): String { return "hi" } +} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also visit the +[source code](https://github.com/slackhq/compose-lints/tree/main/compose-lint-checks/src/test/java/slack/lint/compose/UnstableReceiverDetectorTest.kt) +for the unit tests for this check to see additional scenarios. + +The above example was automatically extracted from the first unit test +found for this lint check, `UnstableReceiverDetector.unstable receiver types report errors`. +To report a problem with this extracted sample, visit +https://github.com/slackhq/compose-lints/issues. + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. This lint check is included in the lint documentation, + but the Android team may or may not agree with its recommendations. + +``` +// build.gradle.kts +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") + +// build.gradle +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' + +// build.gradle.kts with version catalogs: +lintChecks(libs.compose-lint-checks) + +# libs.versions.toml +[versions] +compose-lint-checks = "1.3.1" +[libraries] +compose-lint-checks = { + module = "com.slack.lint.compose:compose-lint-checks", + version.ref = "compose-lint-checks" +} +``` + +1.3.1 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ComposeUnstableReceiver") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ComposeUnstableReceiver") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ComposeUnstableReceiver + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ComposeUnstableReceiver" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ComposeUnstableReceiver' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ComposeUnstableReceiver ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ComposeViewModelForwarding.md.html b/docs/checks/ComposeViewModelForwarding.md.html index 82778fdb..58cd8468 100644 --- a/docs/checks/ComposeViewModelForwarding.md.html +++ b/docs/checks/ComposeViewModelForwarding.md.html @@ -1,13 +1,13 @@ -(#) Forwarding a ViewModel through multiple @Composable functions should be avoided +(#) Don't forward ViewModels through composables -!!! ERROR: Forwarding a ViewModel through multiple @Composable functions should be avoided +!!! ERROR: Don't forward ViewModels through composables This is an error. Id : `ComposeViewModelForwarding` Summary -: Forwarding a ViewModel through multiple @Composable functions should be avoided +: Don't forward ViewModels through composables Severity : Error Category @@ -38,10 +38,10 @@ Copyright Year : 2023 -Forwarding a ViewModel through multiple @Composable functions should be -avoided. Consider using state hoisting. -See https://slackhq.github.io/compose-lints/rules/#hoist-all-the-things -for more information. +Forwarding a `ViewModel` through multiple `@Composable` functions should +be avoided. Consider using state hoisting.See +https://slackhq.github.io/compose-lints/rules/#hoist-all-the-things for +more information. (##) Example @@ -89,17 +89,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -107,7 +107,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/ComposeViewModelInjection.md.html b/docs/checks/ComposeViewModelInjection.md.html index fc8b5fca..d2d54071 100644 --- a/docs/checks/ComposeViewModelInjection.md.html +++ b/docs/checks/ComposeViewModelInjection.md.html @@ -138,17 +138,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -156,7 +156,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html). diff --git a/docs/checks/CompositionLocalNaming.md.html b/docs/checks/CompositionLocalNaming.md.html index 54f98007..6fb32aba 100644 --- a/docs/checks/CompositionLocalNaming.md.html +++ b/docs/checks/CompositionLocalNaming.md.html @@ -110,17 +110,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -128,7 +128,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/ConflictingOnColor.md.html b/docs/checks/ConflictingOnColor.md.html index 98fd2ee5..773c7497 100644 --- a/docs/checks/ConflictingOnColor.md.html +++ b/docs/checks/ConflictingOnColor.md.html @@ -214,17 +214,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.material:material-android:1.7.0-alpha01") +implementation("androidx.compose.material:material-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.material:material-android:1.7.0-alpha01' +implementation 'androidx.compose.material:material-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.material-android) # libs.versions.toml [versions] -material-android = "1.7.0-alpha01" +material-android = "1.7.0-beta01" [libraries] material-android = { module = "androidx.compose.material:material-android", @@ -232,7 +232,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.material:material-android](androidx_compose_material_material-android.md.html). diff --git a/docs/checks/CoroutineCreationDuringComposition.md.html b/docs/checks/CoroutineCreationDuringComposition.md.html index 570379fa..8c8c0679 100644 --- a/docs/checks/CoroutineCreationDuringComposition.md.html +++ b/docs/checks/CoroutineCreationDuringComposition.md.html @@ -297,17 +297,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -315,7 +315,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/DeepLinkInActivityDestination.md.html b/docs/checks/DeepLinkInActivityDestination.md.html index c9906177..7d09fe85 100644 --- a/docs/checks/DeepLinkInActivityDestination.md.html +++ b/docs/checks/DeepLinkInActivityDestination.md.html @@ -102,17 +102,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-runtime:2.8.0-alpha01") +implementation("androidx.navigation:navigation-runtime:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-runtime:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-runtime:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-runtime) # libs.versions.toml [versions] -navigation-runtime = "2.8.0-alpha01" +navigation-runtime = "2.8.0-beta01" [libraries] navigation-runtime = { module = "androidx.navigation:navigation-runtime", @@ -120,7 +120,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.navigation:navigation-runtime](androidx_navigation_navigation-runtime.md.html). diff --git a/docs/checks/DenyListedApi.md.html b/docs/checks/DenyListedApi.md.html index 31f52fcd..b240452e 100644 --- a/docs/checks/DenyListedApi.md.html +++ b/docs/checks/DenyListedApi.md.html @@ -89,17 +89,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -107,7 +107,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DenyListedBlockingApi.md.html b/docs/checks/DenyListedBlockingApi.md.html index 4f6fb65b..7cd408bb 100644 --- a/docs/checks/DenyListedBlockingApi.md.html +++ b/docs/checks/DenyListedBlockingApi.md.html @@ -88,17 +88,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -106,7 +106,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DeprecatedCall.md.html b/docs/checks/DeprecatedCall.md.html index 2024c6f8..0c6d554e 100644 --- a/docs/checks/DeprecatedCall.md.html +++ b/docs/checks/DeprecatedCall.md.html @@ -88,17 +88,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -106,7 +106,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DeprecatedSqlUsage.md.html b/docs/checks/DeprecatedSqlUsage.md.html index 302f0cff..f58d8f22 100644 --- a/docs/checks/DeprecatedSqlUsage.md.html +++ b/docs/checks/DeprecatedSqlUsage.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DetachAndAttachSameFragment.md.html b/docs/checks/DetachAndAttachSameFragment.md.html index cc5d6e4f..2128693b 100644 --- a/docs/checks/DetachAndAttachSameFragment.md.html +++ b/docs/checks/DetachAndAttachSameFragment.md.html @@ -55,17 +55,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -73,7 +73,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/DialogFragmentCallbacksDetector.md.html b/docs/checks/DialogFragmentCallbacksDetector.md.html index 32676e18..7b83751b 100644 --- a/docs/checks/DialogFragmentCallbacksDetector.md.html +++ b/docs/checks/DialogFragmentCallbacksDetector.md.html @@ -94,17 +94,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -112,7 +112,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/DoNotCallProviders.md.html b/docs/checks/DoNotCallProviders.md.html index f869ddb0..e170ebfc 100644 --- a/docs/checks/DoNotCallProviders.md.html +++ b/docs/checks/DoNotCallProviders.md.html @@ -142,17 +142,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -160,7 +160,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotExposeEitherNetInRepositories.md.html b/docs/checks/DoNotExposeEitherNetInRepositories.md.html index 9dff8888..1ad30f69 100644 --- a/docs/checks/DoNotExposeEitherNetInRepositories.md.html +++ b/docs/checks/DoNotExposeEitherNetInRepositories.md.html @@ -91,17 +91,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -109,7 +109,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMock.md.html b/docs/checks/DoNotMock.md.html index 4a351f95..d6d2376e 100644 --- a/docs/checks/DoNotMock.md.html +++ b/docs/checks/DoNotMock.md.html @@ -52,7 +52,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -69,7 +69,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -86,7 +86,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -177,17 +177,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -195,7 +195,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMockAnything.md.html b/docs/checks/DoNotMockAnything.md.html new file mode 100644 index 00000000..e23980ad --- /dev/null +++ b/docs/checks/DoNotMockAnything.md.html @@ -0,0 +1,201 @@ + +(#) Do not add new mocks. + +!!! ERROR: Do not add new mocks. + This is an error. + +Id +: `DoNotMockAnything` +Summary +: Do not add new mocks. +Note +: **This issue is disabled by default**; use `--enable DoNotMockAnything` +Severity +: Error +Category +: Correctness +Platform +: Any +Vendor +: slack +Identifier +: slack-lint +Contact +: https://github.com/slackhq/slack-lints +Feedback +: https://github.com/slackhq/slack-lints +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html) + +Affects +: Kotlin and Java files and test sources +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://github.com/slackhq/slack-lints/blob/main/slack-lint-checks/src/main/java/slack/lint/mocking/MockDetector.kt) +Tests +: [Source Code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/mocking/DoNotMockMockDetectorTest.kt) +Copyright Year +: 2021 + +Mocking is almost always unnecessary and will make your tests more +brittle. Use real instances (if appropriate) or test fakes instead. This +lint is a catch-all for mocking, and has been enabled in this project to +help prevent new mocking from being added. + +(##) Options + +You can configure this lint checks using the following options: + +(###) mock-annotations + +A comma-separated list of mock annotations.. +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. + +Default is "org.mockito.Mock,org.mockito.Spy". + +Example `lint.xml`: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<lint> + <issue id="DoNotMockAnything"> + <option name="mock-annotations" value=""org.mockito.Mock,org.mockito.Spy"" /> + </issue> +</lint> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(###) mock-factories + +A comma-separated list of mock factories (org.mockito.Mockito#methodName).. +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. + +Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". + +Example `lint.xml`: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<lint> + <issue id="DoNotMockAnything"> + <option name="mock-factories" value=""org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock"" /> + </issue> +</lint> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(###) mock-report + +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. + +Default is "none". + +Example `lint.xml`: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<lint> + <issue id="DoNotMockAnything"> + <option name="mock-report" value=""none"" /> + </issue> +</lint> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. This lint check is included in the lint documentation, + but the Android team may or may not agree with its recommendations. + +``` +// build.gradle.kts +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") + +// build.gradle +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' + +// build.gradle.kts with version catalogs: +lintChecks(libs.slack-lint-checks) + +# libs.versions.toml +[versions] +slack-lint-checks = "0.7.3" +[libraries] +slack-lint-checks = { + module = "com.slack.lint:slack-lint-checks", + version.ref = "slack-lint-checks" +} +``` + +0.7.3 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("DoNotMockAnything") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("DoNotMockAnything") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection DoNotMockAnything + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="DoNotMockAnything" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'DoNotMockAnything' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore DoNotMockAnything ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/DoNotMockAutoValue.md.html b/docs/checks/DoNotMockAutoValue.md.html index 5cd088df..f3f1704d 100644 --- a/docs/checks/DoNotMockAutoValue.md.html +++ b/docs/checks/DoNotMockAutoValue.md.html @@ -50,7 +50,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -67,7 +67,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -84,7 +84,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -107,17 +107,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -125,7 +125,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMockDataClass.md.html b/docs/checks/DoNotMockDataClass.md.html index 84aae0fe..da67723e 100644 --- a/docs/checks/DoNotMockDataClass.md.html +++ b/docs/checks/DoNotMockDataClass.md.html @@ -50,7 +50,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -67,7 +67,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -84,7 +84,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -107,17 +107,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -125,7 +125,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMockObjectClass.md.html b/docs/checks/DoNotMockObjectClass.md.html index 368800fb..48ed023d 100644 --- a/docs/checks/DoNotMockObjectClass.md.html +++ b/docs/checks/DoNotMockObjectClass.md.html @@ -50,7 +50,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -67,7 +67,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -84,7 +84,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -107,17 +107,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -125,7 +125,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMockPlatformTypes.md.html b/docs/checks/DoNotMockPlatformTypes.md.html index 525d060c..cd05dd18 100644 --- a/docs/checks/DoNotMockPlatformTypes.md.html +++ b/docs/checks/DoNotMockPlatformTypes.md.html @@ -54,7 +54,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -71,7 +71,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -88,7 +88,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -111,17 +111,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -129,7 +129,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMockRecordClass.md.html b/docs/checks/DoNotMockRecordClass.md.html index a90694b3..c81e44d3 100644 --- a/docs/checks/DoNotMockRecordClass.md.html +++ b/docs/checks/DoNotMockRecordClass.md.html @@ -50,7 +50,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -67,7 +67,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -84,7 +84,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -107,17 +107,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -125,7 +125,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/DoNotMockSealedClass.md.html b/docs/checks/DoNotMockSealedClass.md.html index cabd8418..34d73d64 100644 --- a/docs/checks/DoNotMockSealedClass.md.html +++ b/docs/checks/DoNotMockSealedClass.md.html @@ -51,7 +51,7 @@ (###) mock-annotations A comma-separated list of mock annotations.. -This property should define comma-separated list of mock annotation class names (FQCN). +This property should define comma-separated list of mock annotation class names (FQCN). Set this for all issues using this option. Default is "org.mockito.Mock,org.mockito.Spy". @@ -68,7 +68,7 @@ (###) mock-factories A comma-separated list of mock factories (org.mockito.Mockito#methodName).. -A comma-separated list of mock factories (org.mockito.Mockito#methodName). +A comma-separated list of mock factories (org.mockito.Mockito#methodName). Set this for all issues using this option. Default is "org.mockito.Mockito#mock,org.mockito.Mockito#spy,slack.test.mockito.MockitoHelpers#mock,slack.test.mockito.MockitoHelpersKt#mock". @@ -85,7 +85,7 @@ (###) mock-report If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv.. -If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. +If enabled, writes a mock report to /build/reports/mockdetector/mock-report.csv. The format of the file is a csv of (type,isError) of mocked classes. Set this for all issues using this option. Default is "none". @@ -108,17 +108,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -126,7 +126,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/EmptyNavDeepLink.md.html b/docs/checks/EmptyNavDeepLink.md.html index 25f89628..88453129 100644 --- a/docs/checks/EmptyNavDeepLink.md.html +++ b/docs/checks/EmptyNavDeepLink.md.html @@ -83,17 +83,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-common:2.8.0-alpha01") +implementation("androidx.navigation:navigation-common:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-common:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-common:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-common) # libs.versions.toml [versions] -navigation-common = "2.8.0-alpha01" +navigation-common = "2.8.0-beta01" [libraries] navigation-common = { module = "androidx.navigation:navigation-common", @@ -101,7 +101,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.navigation:navigation-common](androidx_navigation_navigation-common.md.html). diff --git a/docs/checks/ErrorProneDoNotMockUsage.md.html b/docs/checks/ErrorProneDoNotMockUsage.md.html index 04146ab7..3de28b09 100644 --- a/docs/checks/ErrorProneDoNotMockUsage.md.html +++ b/docs/checks/ErrorProneDoNotMockUsage.md.html @@ -112,17 +112,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -130,7 +130,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/ExceptionMessage.md.html b/docs/checks/ExceptionMessage.md.html index cead9fbc..a6aa12c1 100644 --- a/docs/checks/ExceptionMessage.md.html +++ b/docs/checks/ExceptionMessage.md.html @@ -1,13 +1,13 @@ -(#) Please provide a string for the lazyMessage parameter +(#) Please provide a string for the `lazyMessage` parameter -!!! ERROR: Please provide a string for the lazyMessage parameter +!!! ERROR: Please provide a string for the `lazyMessage` parameter This is an error. Id : `ExceptionMessage` Summary -: Please provide a string for the lazyMessage parameter +: Please provide a string for the `lazyMessage` parameter Severity : Error Category @@ -40,15 +40,15 @@ Copyright Year : 2023 -Calls to check(), checkNotNull(), require() and requireNotNull() should -include a message string that can be used to debug issues experienced -by users. +Calls to `check()`, `checkNotNull()`, `require()` and `requireNotNull()` +should include a message string that can be used to debug issues +experienced by users. -When we read user-supplied logs, the line numbers are sometimes not -sufficient to determine the cause of a bug. Inline functions can -sometimes make it hard to determine which file threw an exception. -Consider supplying a lazyMessage parameter to identify the check() -or require() call. +When we read user-supplied logs, the line numbers are sometimes +notsufficient to determine the cause of a bug. Inline functions +cansometimes make it hard to determine which file threw an +exception.Consider supplying a `lazyMessage` parameter to identify the +`check()`or `require()` call. (##) Example @@ -90,17 +90,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -108,7 +108,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/ExperimentalAnnotationRetention.md.html b/docs/checks/ExperimentalAnnotationRetention.md.html index 07d44374..c26b1a25 100644 --- a/docs/checks/ExperimentalAnnotationRetention.md.html +++ b/docs/checks/ExperimentalAnnotationRetention.md.html @@ -50,17 +50,17 @@ ``` // build.gradle.kts -implementation("androidx.annotation:annotation-experimental:1.4.0") +implementation("androidx.annotation:annotation-experimental:1.4.1") // build.gradle -implementation 'androidx.annotation:annotation-experimental:1.4.0' +implementation 'androidx.annotation:annotation-experimental:1.4.1' // build.gradle.kts with version catalogs: implementation(libs.annotation-experimental) # libs.versions.toml [versions] -annotation-experimental = "1.4.0" +annotation-experimental = "1.4.1" [libraries] annotation-experimental = { module = "androidx.annotation:annotation-experimental", @@ -68,7 +68,7 @@ } ``` -1.4.0 is the version this documentation was generated from; +1.4.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.annotation:annotation-experimental](androidx_annotation_annotation-experimental.md.html). diff --git a/docs/checks/FieldSiteTargetOnQualifierAnnotation.md.html b/docs/checks/FieldSiteTargetOnQualifierAnnotation.md.html index 1476fd47..8006add0 100644 --- a/docs/checks/FieldSiteTargetOnQualifierAnnotation.md.html +++ b/docs/checks/FieldSiteTargetOnQualifierAnnotation.md.html @@ -185,17 +185,17 @@ ``` // build.gradle.kts -implementation("com.google.dagger:dagger-lint:2.50") +implementation("com.google.dagger:dagger-lint:2.51.1") // build.gradle -implementation 'com.google.dagger:dagger-lint:2.50' +implementation 'com.google.dagger:dagger-lint:2.51.1' // build.gradle.kts with version catalogs: implementation(libs.dagger-lint) # libs.versions.toml [versions] -dagger-lint = "2.50" +dagger-lint = "2.51.1" [libraries] dagger-lint = { module = "com.google.dagger:dagger-lint", @@ -203,7 +203,7 @@ } ``` -2.50 is the version this documentation was generated from; +2.51.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.google.dagger:dagger-lint](com_google_dagger_dagger-lint.md.html). diff --git a/docs/checks/FileEndsWithExt.md.html b/docs/checks/FileEndsWithExt.md.html index 1ac89eff..f249547e 100644 --- a/docs/checks/FileEndsWithExt.md.html +++ b/docs/checks/FileEndsWithExt.md.html @@ -50,14 +50,14 @@ did you mean "json" ? [FileEndsWithExt] fun File.isJson() = extension == ".json" - ----- + ------- src/test.kt:8:Warning: File.extension does not include the leading dot; did you mean "webp" ? [FileEndsWithExt] fun isWebp(path: File) = path.extension.startsWith(".webp") - ----- + ------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: diff --git a/docs/checks/FlowOperatorInvokedInComposition.md.html b/docs/checks/FlowOperatorInvokedInComposition.md.html index 96b64027..725cea58 100644 --- a/docs/checks/FlowOperatorInvokedInComposition.md.html +++ b/docs/checks/FlowOperatorInvokedInComposition.md.html @@ -296,17 +296,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -314,7 +314,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/FragmentAddMenuProvider.md.html b/docs/checks/FragmentAddMenuProvider.md.html index 0bebdced..26dba717 100644 --- a/docs/checks/FragmentAddMenuProvider.md.html +++ b/docs/checks/FragmentAddMenuProvider.md.html @@ -55,17 +55,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -73,7 +73,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/FragmentBackPressedCallback.md.html b/docs/checks/FragmentBackPressedCallback.md.html index 95b48e39..60eb76ff 100644 --- a/docs/checks/FragmentBackPressedCallback.md.html +++ b/docs/checks/FragmentBackPressedCallback.md.html @@ -55,17 +55,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -73,7 +73,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/FragmentConstructorInjection.md.html b/docs/checks/FragmentConstructorInjection.md.html index 51e6417d..bfe7b883 100644 --- a/docs/checks/FragmentConstructorInjection.md.html +++ b/docs/checks/FragmentConstructorInjection.md.html @@ -139,17 +139,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -157,7 +157,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/FragmentFieldInjection.md.html b/docs/checks/FragmentFieldInjection.md.html index 2ed330e3..f353cbce 100644 --- a/docs/checks/FragmentFieldInjection.md.html +++ b/docs/checks/FragmentFieldInjection.md.html @@ -110,17 +110,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -128,7 +128,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/FragmentGradleConfiguration-2.md.html b/docs/checks/FragmentGradleConfiguration-2.md.html index 5322961b..df3af0d0 100644 --- a/docs/checks/FragmentGradleConfiguration-2.md.html +++ b/docs/checks/FragmentGradleConfiguration-2.md.html @@ -82,17 +82,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment-testing-manifest:1.7.0-alpha09") +implementation("androidx.fragment:fragment-testing-manifest:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment-testing-manifest:1.7.0-alpha09' +implementation 'androidx.fragment:fragment-testing-manifest:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment-testing-manifest) # libs.versions.toml [versions] -fragment-testing-manifest = "1.7.0-alpha09" +fragment-testing-manifest = "1.8.0-beta01" [libraries] fragment-testing-manifest = { module = "androidx.fragment:fragment-testing-manifest", @@ -100,7 +100,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment-testing-manifest](androidx_fragment_fragment-testing-manifest.md.html). diff --git a/docs/checks/FragmentGradleConfiguration.md.html b/docs/checks/FragmentGradleConfiguration.md.html index 3fe97919..a8e9d98c 100644 --- a/docs/checks/FragmentGradleConfiguration.md.html +++ b/docs/checks/FragmentGradleConfiguration.md.html @@ -83,17 +83,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment-testing:1.7.0-alpha09") +implementation("androidx.fragment:fragment-testing:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment-testing:1.7.0-alpha09' +implementation 'androidx.fragment:fragment-testing:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment-testing) # libs.versions.toml [versions] -fragment-testing = "1.7.0-alpha09" +fragment-testing = "1.8.0-beta01" [libraries] fragment-testing = { module = "androidx.fragment:fragment-testing", @@ -101,7 +101,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment-testing](androidx_fragment_fragment-testing.md.html). diff --git a/docs/checks/FragmentLiveDataObserve.md.html b/docs/checks/FragmentLiveDataObserve.md.html index c9a03a35..e7062ad6 100644 --- a/docs/checks/FragmentLiveDataObserve.md.html +++ b/docs/checks/FragmentLiveDataObserve.md.html @@ -55,17 +55,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -73,7 +73,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/FragmentTagUsage.md.html b/docs/checks/FragmentTagUsage.md.html index d786508c..43cae509 100644 --- a/docs/checks/FragmentTagUsage.md.html +++ b/docs/checks/FragmentTagUsage.md.html @@ -90,17 +90,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -108,7 +108,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/FrequentlyChangedStateReadInComposition.md.html b/docs/checks/FrequentlyChangedStateReadInComposition.md.html index d14ed8d4..e13c4efc 100644 --- a/docs/checks/FrequentlyChangedStateReadInComposition.md.html +++ b/docs/checks/FrequentlyChangedStateReadInComposition.md.html @@ -142,17 +142,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.foundation:foundation-android:1.7.0-alpha01") +implementation("androidx.compose.foundation:foundation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.foundation:foundation-android:1.7.0-alpha01' +implementation 'androidx.compose.foundation:foundation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.foundation-android) # libs.versions.toml [versions] -foundation-android = "1.7.0-alpha01" +foundation-android = "1.7.0-beta01" [libraries] foundation-android = { module = "androidx.compose.foundation:foundation-android", @@ -160,7 +160,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.foundation:foundation-android](androidx_compose_foundation_foundation-android.md.html). diff --git a/docs/checks/FullyQualifiedResource.md.html b/docs/checks/FullyQualifiedResource.md.html index 2745824f..8ee2d715 100644 --- a/docs/checks/FullyQualifiedResource.md.html +++ b/docs/checks/FullyQualifiedResource.md.html @@ -113,17 +113,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -131,7 +131,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/GuavaChecksUsed.md.html b/docs/checks/GuavaChecksUsed.md.html index 8a04844c..91d2892e 100644 --- a/docs/checks/GuavaChecksUsed.md.html +++ b/docs/checks/GuavaChecksUsed.md.html @@ -121,17 +121,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -139,7 +139,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/GuavaPreconditionsUsedInKotlin.md.html b/docs/checks/GuavaPreconditionsUsedInKotlin.md.html index a5559bed..da67a8eb 100644 --- a/docs/checks/GuavaPreconditionsUsedInKotlin.md.html +++ b/docs/checks/GuavaPreconditionsUsedInKotlin.md.html @@ -122,17 +122,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -140,7 +140,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/IdleBatteryChargingConstraints.md.html b/docs/checks/IdleBatteryChargingConstraints.md.html index 16d82809..19ac30ee 100644 --- a/docs/checks/IdleBatteryChargingConstraints.md.html +++ b/docs/checks/IdleBatteryChargingConstraints.md.html @@ -49,17 +49,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -67,7 +67,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/InclusiveNaming.md.html b/docs/checks/InclusiveNaming.md.html index 4bede9e7..b9207dde 100644 --- a/docs/checks/InclusiveNaming.md.html +++ b/docs/checks/InclusiveNaming.md.html @@ -68,8 +68,8 @@ id's must be unique, so you cannot combine these libraries. Also defined in: * InclusiveNaming: Use inclusive naming. (this issue) -* [InclusiveNaming from com.slack.lint:slack-lint-checks:0.7.0](InclusiveNaming.md.html) -* [InclusiveNaming from com.slack.lint:slack-lint-checks:0.7.0](InclusiveNaming.md.html) +* [InclusiveNaming from com.slack.lint:slack-lint-checks:0.7.3](InclusiveNaming.md.html) +* [InclusiveNaming from com.slack.lint:slack-lint-checks:0.7.3](InclusiveNaming.md.html) (##) Including @@ -81,17 +81,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -99,7 +99,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/InjectInJava.md.html b/docs/checks/InjectInJava.md.html index 6feef522..8cda8394 100644 --- a/docs/checks/InjectInJava.md.html +++ b/docs/checks/InjectInJava.md.html @@ -149,17 +149,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -167,7 +167,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/InjectWithScopeRequiredLoggedInUserProvider.md.html b/docs/checks/InjectWithScopeRequiredLoggedInUserProvider.md.html deleted file mode 100644 index 369a9513..00000000 --- a/docs/checks/InjectWithScopeRequiredLoggedInUserProvider.md.html +++ /dev/null @@ -1,209 +0,0 @@ - -(#) @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope. - -!!! ERROR: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope. - This is an error. - -Id -: `InjectWithScopeRequiredLoggedInUserProvider` -Summary -: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope. -Severity -: Error -Category -: Correctness -Platform -: Any -Vendor -: slack -Identifier -: slack-lint -Contact -: https://github.com/slackhq/slack-lints -Feedback -: https://github.com/slackhq/slack-lints -Min -: Lint 8.0 and 8.1 -Compiled -: Lint 8.0 and 8.1 -Artifact -: [com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html) - -Affects -: Kotlin and Java files and test sources -Editing -: This check runs on the fly in the IDE editor -Implementation -: [Source Code](https://github.com/slackhq/slack-lints/blob/main/slack-lint-checks/src/main/java/slack/lint/InjectWithUsageDetector.kt) -Tests -: [Source Code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/InjectWithUsageDetectorTest.kt) -Copyright Year -: 2021 - -`@InjectWith`-annotated classes must implement LoggedInUserProvider (or -extend something that does) if they target UserScope or OrgScope. - -(##) Example - -Here is an example of lint warnings produced by this check: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -src/test/pkg/BaseInjectableAnnotation.kt:24:Error: @InjectWith-annotated -classes must implement LoggedInUserProvider (or extend something that -does) if they target UserScope or OrgScope. -[InjectWithScopeRequiredLoggedInUserProvider] - -class UserActivityWrong : BaseInjectable() - ----------------- - - -src/test/pkg/BaseInjectableAnnotation.kt:27:Error: @InjectWith-annotated -classes must implement LoggedInUserProvider (or extend something that -does) if they target UserScope or OrgScope. -[InjectWithScopeRequiredLoggedInUserProvider] - -class OrgActivityWrong : BaseInjectable() - ---------------- -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here is the source file referenced above: - -`src/test/pkg/BaseInjectableAnnotation.kt`: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers -package test.pkg - -import slack.anvil.injection.InjectWith -import slack.anvil.injection.AnvilInjectable -import slack.di.AppScope -import slack.di.UserScope -import slack.di.OrgScope -import slack.foundation.auth.LoggedInUserProvider - -annotation class BaseInjectableAnnotation - -abstract class BaseInjectable : AnvilInjectable - -@InjectWith(AppScope::class) -class AppActivityCorrect : BaseInjectable() - -@InjectWith(UserScope::class) -class UserActivityCorrect : BaseInjectable(), LoggedInUserProvider - -@InjectWith(OrgScope::class) -class OrgActivityCorrect : BaseInjectable(), LoggedInUserProvider - -@InjectWith(UserScope::class) -class UserActivityWrong : BaseInjectable() - -@InjectWith(OrgScope::class) -class OrgActivityWrong : BaseInjectable() - -@InjectWith(AppScope::class) -class MissingAnvilInjectable -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can also visit the -[source code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/InjectWithUsageDetectorTest.kt) -for the unit tests for this check to see additional scenarios. - -The above example was automatically extracted from the first unit test -found for this lint check, `InjectWithUsageDetector.smokeTest`. -To report a problem with this extracted sample, visit -https://github.com/slackhq/slack-lints. - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. This lint check is included in the lint documentation, - but the Android team may or may not agree with its recommendations. - -``` -// build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") - -// build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' - -// build.gradle.kts with version catalogs: -lintChecks(libs.slack-lint-checks) - -# libs.versions.toml -[versions] -slack-lint-checks = "0.7.0" -[libraries] -slack-lint-checks = { - module = "com.slack.lint:slack-lint-checks", - version.ref = "slack-lint-checks" -} -``` - -0.7.0 is the version this documentation was generated from; -there may be newer versions available. - -[Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). -(##) Suppressing - -You can suppress false positives using one of the following mechanisms: - -* Using a suppression annotation like this on the enclosing - element: - - ```kt - // Kotlin - @Suppress("InjectWithScopeRequiredLoggedInUserProvider") - fun method() { - problematicStatement() - } - ``` - - or - - ```java - // Java - @SuppressWarnings("InjectWithScopeRequiredLoggedInUserProvider") - void method() { - problematicStatement(); - } - ``` - -* Using a suppression comment like this on the line above: - - ```kt - //noinspection InjectWithScopeRequiredLoggedInUserProvider - problematicStatement() - ``` - -* Using a special `lint.xml` file in the source tree which turns off - the check in that folder and any sub folder. A simple file might look - like this: - ```xml - <?xml version="1.0" encoding="UTF-8"?> - <lint> - <issue id="InjectWithScopeRequiredLoggedInUserProvider" severity="ignore" /> - </lint> - ``` - Instead of `ignore` you can also change the severity here, for - example from `error` to `warning`. You can find additional - documentation on how to filter issues by path, regular expression and - so on - [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). - -* In Gradle projects, using the DSL syntax to configure lint. For - example, you can use something like - ```gradle - lintOptions { - disable 'InjectWithScopeRequiredLoggedInUserProvider' - } - ``` - In Android projects this should be nested inside an `android { }` - block. - -* For manual invocations of `lint`, using the `--ignore` flag: - ``` - $ lint --ignore InjectWithScopeRequiredLoggedInUserProvider ...` - ``` - -* Last, but not least, using baselines, as discussed - [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). - - \ No newline at end of file diff --git a/docs/checks/InvalidColorHexValue.md.html b/docs/checks/InvalidColorHexValue.md.html index cd802313..9787efdc 100644 --- a/docs/checks/InvalidColorHexValue.md.html +++ b/docs/checks/InvalidColorHexValue.md.html @@ -97,17 +97,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-graphics-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-graphics-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-graphics-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-graphics-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-graphics-android) # libs.versions.toml [versions] -ui-graphics-android = "1.7.0-alpha01" +ui-graphics-android = "1.7.0-beta01" [libraries] ui-graphics-android = { module = "androidx.compose.ui:ui-graphics-android", @@ -115,7 +115,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-graphics-android](androidx_compose_ui_ui-graphics-android.md.html). diff --git a/docs/checks/InvalidFragmentVersionForActivityResult.md.html b/docs/checks/InvalidFragmentVersionForActivityResult.md.html index dc213d0f..08aef968 100644 --- a/docs/checks/InvalidFragmentVersionForActivityResult.md.html +++ b/docs/checks/InvalidFragmentVersionForActivityResult.md.html @@ -87,17 +87,17 @@ ``` // build.gradle.kts -implementation("androidx.activity:activity:1.9.0-alpha02") +implementation("androidx.activity:activity:1.9.0") // build.gradle -implementation 'androidx.activity:activity:1.9.0-alpha02' +implementation 'androidx.activity:activity:1.9.0' // build.gradle.kts with version catalogs: implementation(libs.activity) # libs.versions.toml [versions] -activity = "1.9.0-alpha02" +activity = "1.9.0" [libraries] activity = { module = "androidx.activity:activity", @@ -105,7 +105,7 @@ } ``` -1.9.0-alpha02 is the version this documentation was generated from; +1.9.0 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.activity:activity](androidx_activity_activity.md.html). diff --git a/docs/checks/InvalidLanguageTagDelimiter.md.html b/docs/checks/InvalidLanguageTagDelimiter.md.html new file mode 100644 index 00000000..d78ef429 --- /dev/null +++ b/docs/checks/InvalidLanguageTagDelimiter.md.html @@ -0,0 +1,174 @@ + +(#) Undercore (_) is an unsupported delimiter for subtags + +!!! ERROR: Undercore (_) is an unsupported delimiter for subtags + This is an error. + +Id +: `InvalidLanguageTagDelimiter` +Summary +: Undercore (_) is an unsupported delimiter for subtags +Severity +: Error +Category +: Correctness +Platform +: Any +Vendor +: Jetpack Compose +Identifier +: androidx.compose.ui.text +Feedback +: https://issuetracker.google.com/issues/new?component=779818 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.compose.ui:ui-text-android](androidx_compose_ui_ui-text-android.md.html) + +Affects +: Kotlin and Java files and test sources +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-text-lint/src/main/java/androidx/compose/ui/text/lint/LocaleInvalidLanguageTagDetector.kt) +Tests +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-text-lint/src/test/java/androidx/compose/ui/text/lint/LocaleInvalidLanguageTagDetectorTest.kt) +Copyright Year +: 2024 + +A language tag must be compliant with IETF BCP47, specifically a +sequence of subtags must be separated by hyphens (-) instead of +underscores (_) + +(##) Example + +Here is an example of lint warnings produced by this check: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text +src/test/test.kt:8:Error: A hyphen (-), not an underscore (_) delimiter +should be used in a language tag [InvalidLanguageTagDelimiter] + + bar(Locale("en_UK")) + ----- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is the source file referenced above: + +`src/test/test.kt`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers +package test + +import androidx.compose.ui.text.intl.Locale + +fun bar(locale: Locale) {} +fun foo() { + bar(Locale("en_UK")) +} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also visit the +[source code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-text-lint/src/test/java/androidx/compose/ui/text/lint/LocaleInvalidLanguageTagDetectorTest.kt) +for the unit tests for this check to see additional scenarios. + +The above example was automatically extracted from the first unit test +found for this lint check, `LocaleInvalidLanguageTagDetector.underscoreDelimiter_locale_shouldWarn`. +To report a problem with this extracted sample, visit +https://issuetracker.google.com/issues/new?component=779818. + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.compose.ui:ui-text-android:1.7.0-beta01") + +// build.gradle +implementation 'androidx.compose.ui:ui-text-android:1.7.0-beta01' + +// build.gradle.kts with version catalogs: +implementation(libs.ui-text-android) + +# libs.versions.toml +[versions] +ui-text-android = "1.7.0-beta01" +[libraries] +ui-text-android = { + module = "androidx.compose.ui:ui-text-android", + version.ref = "ui-text-android" +} +``` + +1.7.0-beta01 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.compose.ui:ui-text-android](androidx_compose_ui_ui-text-android.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("InvalidLanguageTagDelimiter") + fun method() { + LocaleList(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("InvalidLanguageTagDelimiter") + void method() { + new LocaleList(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection InvalidLanguageTagDelimiter + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="InvalidLanguageTagDelimiter" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'InvalidLanguageTagDelimiter' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore InvalidLanguageTagDelimiter ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/InvalidPeriodicWorkRequestInterval.md.html b/docs/checks/InvalidPeriodicWorkRequestInterval.md.html index 08127b7d..175e2030 100644 --- a/docs/checks/InvalidPeriodicWorkRequestInterval.md.html +++ b/docs/checks/InvalidPeriodicWorkRequestInterval.md.html @@ -51,17 +51,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -69,7 +69,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/InvalidUseOfOnBackPressed.md.html b/docs/checks/InvalidUseOfOnBackPressed.md.html new file mode 100644 index 00000000..0d8a1174 --- /dev/null +++ b/docs/checks/InvalidUseOfOnBackPressed.md.html @@ -0,0 +1,140 @@ + +(#) Do not call onBackPressed() within OnBackPressedDisptacher + +!!! WARNING: Do not call onBackPressed() within OnBackPressedDisptacher + This is a warning. + +Id +: `InvalidUseOfOnBackPressed` +Summary +: Do not call onBackPressed() within OnBackPressedDisptacher +Severity +: Warning +Category +: Correctness +Platform +: Any +Vendor +: Android Open Source Project +Identifier +: androidx.activity +Feedback +: https://issuetracker.google.com/issues/new?component=527362 +Min +: Lint 7.0 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.activity:activity](androidx_activity_activity.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +See +: https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture#ui-logic +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/activity/activity-lint/src/main/java/androidx/activity/lint/OnBackPressedDetector.kt) +Copyright Year +: 2024 + +You should not used OnBackPressedCallback for non-UI cases. If you + |add a callback, you have to handle back completely in +the callback. + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.activity:activity:1.9.0") + +// build.gradle +implementation 'androidx.activity:activity:1.9.0' + +// build.gradle.kts with version catalogs: +implementation(libs.activity) + +# libs.versions.toml +[versions] +activity = "1.9.0" +[libraries] +activity = { + module = "androidx.activity:activity", + version.ref = "activity" +} +``` + +1.9.0 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.activity:activity](androidx_activity_activity.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("InvalidUseOfOnBackPressed") + fun method() { + onBackPressed(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("InvalidUseOfOnBackPressed") + void method() { + onBackPressed(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection InvalidUseOfOnBackPressed + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="InvalidUseOfOnBackPressed" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'InvalidUseOfOnBackPressed' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore InvalidUseOfOnBackPressed ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/JavaOnlyDetector.md.html b/docs/checks/JavaOnlyDetector.md.html index 581ea63a..cf1207df 100644 --- a/docs/checks/JavaOnlyDetector.md.html +++ b/docs/checks/JavaOnlyDetector.md.html @@ -102,17 +102,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -120,7 +120,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/JvmStaticProvidesInObjectDetector.md.html b/docs/checks/JvmStaticProvidesInObjectDetector.md.html index 8ee5f29e..af71fa67 100644 --- a/docs/checks/JvmStaticProvidesInObjectDetector.md.html +++ b/docs/checks/JvmStaticProvidesInObjectDetector.md.html @@ -200,17 +200,17 @@ ``` // build.gradle.kts -implementation("com.google.dagger:dagger-lint:2.50") +implementation("com.google.dagger:dagger-lint:2.51.1") // build.gradle -implementation 'com.google.dagger:dagger-lint:2.50' +implementation 'com.google.dagger:dagger-lint:2.51.1' // build.gradle.kts with version catalogs: implementation(libs.dagger-lint) # libs.versions.toml [versions] -dagger-lint = "2.50" +dagger-lint = "2.51.1" [libraries] dagger-lint = { module = "com.google.dagger:dagger-lint", @@ -218,7 +218,7 @@ } ``` -2.50 is the version this documentation was generated from; +2.51.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.google.dagger:dagger-lint](com_google_dagger_dagger-lint.md.html). diff --git a/docs/checks/KotlinPairNotCreated.md.html b/docs/checks/KotlinPairNotCreated.md.html index 9573241c..9138578a 100644 --- a/docs/checks/KotlinPairNotCreated.md.html +++ b/docs/checks/KotlinPairNotCreated.md.html @@ -94,17 +94,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -112,7 +112,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/LaunchDuringComposition.md.html b/docs/checks/LaunchDuringComposition.md.html index 6fda0576..22cf9c27 100644 --- a/docs/checks/LaunchDuringComposition.md.html +++ b/docs/checks/LaunchDuringComposition.md.html @@ -166,17 +166,17 @@ ``` // build.gradle.kts -implementation("androidx.activity:activity-compose:1.9.0-alpha02") +implementation("androidx.activity:activity-compose:1.9.0") // build.gradle -implementation 'androidx.activity:activity-compose:1.9.0-alpha02' +implementation 'androidx.activity:activity-compose:1.9.0' // build.gradle.kts with version catalogs: implementation(libs.activity-compose) # libs.versions.toml [versions] -activity-compose = "1.9.0-alpha02" +activity-compose = "1.9.0" [libraries] activity-compose = { module = "androidx.activity:activity-compose", @@ -184,7 +184,7 @@ } ``` -1.9.0-alpha02 is the version this documentation was generated from; +1.9.0 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.activity:activity-compose](androidx_activity_activity-compose.md.html). diff --git a/docs/checks/LintImplIdFormat.md.html b/docs/checks/LintImplIdFormat.md.html index 6c948993..9deaf917 100644 --- a/docs/checks/LintImplIdFormat.md.html +++ b/docs/checks/LintImplIdFormat.md.html @@ -57,7 +57,7 @@ capitalized camel case, such as MyIssueId [LintImplIdFormat] id = "badlyCapitalized id", - ------------------- + --------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: @@ -128,6 +128,9 @@ explanation = """ Some description here. Here's a call: foo.bar.baz(args). + This line continuation is okay. \ + But this one is missing a space.\ + Okay? """.trimIndent(), category = Category.INTEROPERABILITY_KOTLIN, moreInfo = "https://code.google.com/p/android/issues/detail?id=65351", // OBSOLETE diff --git a/docs/checks/LintImplTrimIndent.md.html b/docs/checks/LintImplTrimIndent.md.html index 307d3860..4ac7bce3 100644 --- a/docs/checks/LintImplTrimIndent.md.html +++ b/docs/checks/LintImplTrimIndent.md.html @@ -53,7 +53,7 @@ Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -src/test/pkg/MyKotlinLintDetector.kt:65:Error: No need to call +src/test/pkg/MyKotlinLintDetector.kt:68:Error: No need to call .trimIndent() in issue registration strings; they are already trimmed by indent by lint when displaying to users [LintImplTrimIndent] @@ -129,6 +129,9 @@ explanation = """ Some description here. Here's a call: foo.bar.baz(args). + This line continuation is okay. \ + But this one is missing a space.\ + Okay? """.trimIndent(), category = Category.INTEROPERABILITY_KOTLIN, moreInfo = "https://code.google.com/p/android/issues/detail?id=65351", // OBSOLETE diff --git a/docs/checks/MainScopeUsage.md.html b/docs/checks/MainScopeUsage.md.html index 1d3e5db0..f5ee5865 100644 --- a/docs/checks/MainScopeUsage.md.html +++ b/docs/checks/MainScopeUsage.md.html @@ -88,17 +88,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -106,7 +106,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MissingColorAlphaChannel.md.html b/docs/checks/MissingColorAlphaChannel.md.html index bf0ff29e..3704a7af 100644 --- a/docs/checks/MissingColorAlphaChannel.md.html +++ b/docs/checks/MissingColorAlphaChannel.md.html @@ -119,17 +119,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-graphics-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-graphics-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-graphics-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-graphics-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-graphics-android) # libs.versions.toml [versions] -ui-graphics-android = "1.7.0-alpha01" +ui-graphics-android = "1.7.0-beta01" [libraries] ui-graphics-android = { module = "androidx.compose.ui:ui-graphics-android", @@ -137,7 +137,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-graphics-android](androidx_compose_ui_ui-graphics-android.md.html). diff --git a/docs/checks/MissingResourceImportAlias.md.html b/docs/checks/MissingResourceImportAlias.md.html index 49418370..432af9f4 100644 --- a/docs/checks/MissingResourceImportAlias.md.html +++ b/docs/checks/MissingResourceImportAlias.md.html @@ -107,17 +107,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -125,7 +125,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/ModifierFactoryExtensionFunction.md.html b/docs/checks/ModifierFactoryExtensionFunction.md.html index 89711880..2b826776 100644 --- a/docs/checks/ModifierFactoryExtensionFunction.md.html +++ b/docs/checks/ModifierFactoryExtensionFunction.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -119,17 +119,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -137,7 +137,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/ModifierFactoryReturnType.md.html b/docs/checks/ModifierFactoryReturnType.md.html index ddf13b9d..3a77ca21 100644 --- a/docs/checks/ModifierFactoryReturnType.md.html +++ b/docs/checks/ModifierFactoryReturnType.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -85,17 +85,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -103,7 +103,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/ModifierFactoryUnreferencedReceiver.md.html b/docs/checks/ModifierFactoryUnreferencedReceiver.md.html index 8f816047..f83d4992 100644 --- a/docs/checks/ModifierFactoryUnreferencedReceiver.md.html +++ b/docs/checks/ModifierFactoryUnreferencedReceiver.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -90,17 +90,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -108,7 +108,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/ModifierNodeInspectableProperties.md.html b/docs/checks/ModifierNodeInspectableProperties.md.html index 92f152e3..c1c6c4cc 100644 --- a/docs/checks/ModifierNodeInspectableProperties.md.html +++ b/docs/checks/ModifierNodeInspectableProperties.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -92,17 +92,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -110,7 +110,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/ModifierParameter.md.html b/docs/checks/ModifierParameter.md.html index 44f765a9..d8600934 100644 --- a/docs/checks/ModifierParameter.md.html +++ b/docs/checks/ModifierParameter.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -94,17 +94,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -112,7 +112,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/ModuleCompanionObjects.md.html b/docs/checks/ModuleCompanionObjects.md.html index 5373ab6d..ca050f75 100644 --- a/docs/checks/ModuleCompanionObjects.md.html +++ b/docs/checks/ModuleCompanionObjects.md.html @@ -200,17 +200,17 @@ ``` // build.gradle.kts -implementation("com.google.dagger:dagger-lint:2.50") +implementation("com.google.dagger:dagger-lint:2.51.1") // build.gradle -implementation 'com.google.dagger:dagger-lint:2.50' +implementation 'com.google.dagger:dagger-lint:2.51.1' // build.gradle.kts with version catalogs: implementation(libs.dagger-lint) # libs.versions.toml [versions] -dagger-lint = "2.50" +dagger-lint = "2.51.1" [libraries] dagger-lint = { module = "com.google.dagger:dagger-lint", @@ -218,7 +218,7 @@ } ``` -2.50 is the version this documentation was generated from; +2.51.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.google.dagger:dagger-lint](com_google_dagger_dagger-lint.md.html). diff --git a/docs/checks/ModuleCompanionObjectsNotInModuleParent.md.html b/docs/checks/ModuleCompanionObjectsNotInModuleParent.md.html index 74eeb2a0..bde99f84 100644 --- a/docs/checks/ModuleCompanionObjectsNotInModuleParent.md.html +++ b/docs/checks/ModuleCompanionObjectsNotInModuleParent.md.html @@ -56,17 +56,17 @@ ``` // build.gradle.kts -implementation("com.google.dagger:dagger-lint:2.50") +implementation("com.google.dagger:dagger-lint:2.51.1") // build.gradle -implementation 'com.google.dagger:dagger-lint:2.50' +implementation 'com.google.dagger:dagger-lint:2.51.1' // build.gradle.kts with version catalogs: implementation(libs.dagger-lint) # libs.versions.toml [versions] -dagger-lint = "2.50" +dagger-lint = "2.51.1" [libraries] dagger-lint = { module = "com.google.dagger:dagger-lint", @@ -74,7 +74,7 @@ } ``` -2.50 is the version this documentation was generated from; +2.51.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.google.dagger:dagger-lint](com_google_dagger_dagger-lint.md.html). diff --git a/docs/checks/MoshiUsageAdaptedByRequiresAdapter.md.html b/docs/checks/MoshiUsageAdaptedByRequiresAdapter.md.html index 24d23ae2..bb93e598 100644 --- a/docs/checks/MoshiUsageAdaptedByRequiresAdapter.md.html +++ b/docs/checks/MoshiUsageAdaptedByRequiresAdapter.md.html @@ -118,17 +118,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -136,7 +136,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageAdaptedByRequiresKeep.md.html b/docs/checks/MoshiUsageAdaptedByRequiresKeep.md.html index 43c4ea42..37952e55 100644 --- a/docs/checks/MoshiUsageAdaptedByRequiresKeep.md.html +++ b/docs/checks/MoshiUsageAdaptedByRequiresKeep.md.html @@ -109,17 +109,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -127,7 +127,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageArray.md.html b/docs/checks/MoshiUsageArray.md.html index a7d406aa..1fcb7810 100644 --- a/docs/checks/MoshiUsageArray.md.html +++ b/docs/checks/MoshiUsageArray.md.html @@ -166,17 +166,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -184,7 +184,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageBlankGenerator.md.html b/docs/checks/MoshiUsageBlankGenerator.md.html index 78c75db9..bd3f3b5b 100644 --- a/docs/checks/MoshiUsageBlankGenerator.md.html +++ b/docs/checks/MoshiUsageBlankGenerator.md.html @@ -84,17 +84,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -102,7 +102,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageBlankJsonName.md.html b/docs/checks/MoshiUsageBlankJsonName.md.html index a2c68eba..b08cb668 100644 --- a/docs/checks/MoshiUsageBlankJsonName.md.html +++ b/docs/checks/MoshiUsageBlankJsonName.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageBlankTypeLabel.md.html b/docs/checks/MoshiUsageBlankTypeLabel.md.html index 1858f020..bb405667 100644 --- a/docs/checks/MoshiUsageBlankTypeLabel.md.html +++ b/docs/checks/MoshiUsageBlankTypeLabel.md.html @@ -84,17 +84,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -102,7 +102,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageClassVisibility.md.html b/docs/checks/MoshiUsageClassVisibility.md.html index 434d9d2f..9243e444 100644 --- a/docs/checks/MoshiUsageClassVisibility.md.html +++ b/docs/checks/MoshiUsageClassVisibility.md.html @@ -98,17 +98,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -116,7 +116,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageDoubleClassAnnotation.md.html b/docs/checks/MoshiUsageDoubleClassAnnotation.md.html index 5726302e..7ccbaeea 100644 --- a/docs/checks/MoshiUsageDoubleClassAnnotation.md.html +++ b/docs/checks/MoshiUsageDoubleClassAnnotation.md.html @@ -98,17 +98,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -116,7 +116,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageDoubleTypeLabel.md.html b/docs/checks/MoshiUsageDoubleTypeLabel.md.html index 84226b9a..3cee0d79 100644 --- a/docs/checks/MoshiUsageDoubleTypeLabel.md.html +++ b/docs/checks/MoshiUsageDoubleTypeLabel.md.html @@ -97,17 +97,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -115,7 +115,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageDuplicateJsonName.md.html b/docs/checks/MoshiUsageDuplicateJsonName.md.html index 8612f1ef..108a9dce 100644 --- a/docs/checks/MoshiUsageDuplicateJsonName.md.html +++ b/docs/checks/MoshiUsageDuplicateJsonName.md.html @@ -111,17 +111,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -129,7 +129,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumAnnotatedUnknown.md.html b/docs/checks/MoshiUsageEnumAnnotatedUnknown.md.html index 3bc494d0..594b958f 100644 --- a/docs/checks/MoshiUsageEnumAnnotatedUnknown.md.html +++ b/docs/checks/MoshiUsageEnumAnnotatedUnknown.md.html @@ -53,17 +53,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -71,7 +71,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumCasing.md.html b/docs/checks/MoshiUsageEnumCasing.md.html index 8bf22881..dcc560c2 100644 --- a/docs/checks/MoshiUsageEnumCasing.md.html +++ b/docs/checks/MoshiUsageEnumCasing.md.html @@ -53,17 +53,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -71,7 +71,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumJsonClassGenerated.md.html b/docs/checks/MoshiUsageEnumJsonClassGenerated.md.html index 5e67ef5e..8a873ce3 100644 --- a/docs/checks/MoshiUsageEnumJsonClassGenerated.md.html +++ b/docs/checks/MoshiUsageEnumJsonClassGenerated.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -70,7 +70,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumMissingJsonClass.md.html b/docs/checks/MoshiUsageEnumMissingJsonClass.md.html index 95d10b55..170d4d3a 100644 --- a/docs/checks/MoshiUsageEnumMissingJsonClass.md.html +++ b/docs/checks/MoshiUsageEnumMissingJsonClass.md.html @@ -53,17 +53,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -71,7 +71,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumMissingUnknown.md.html b/docs/checks/MoshiUsageEnumMissingUnknown.md.html index 58447e23..224f9357 100644 --- a/docs/checks/MoshiUsageEnumMissingUnknown.md.html +++ b/docs/checks/MoshiUsageEnumMissingUnknown.md.html @@ -53,17 +53,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -71,7 +71,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumPropertyCouldBeMoshi.md.html b/docs/checks/MoshiUsageEnumPropertyCouldBeMoshi.md.html index c7ea6776..40920d4c 100644 --- a/docs/checks/MoshiUsageEnumPropertyCouldBeMoshi.md.html +++ b/docs/checks/MoshiUsageEnumPropertyCouldBeMoshi.md.html @@ -90,17 +90,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -108,7 +108,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageEnumPropertyDefaultUnknown.md.html b/docs/checks/MoshiUsageEnumPropertyDefaultUnknown.md.html index a50884f0..ed6d9ca8 100644 --- a/docs/checks/MoshiUsageEnumPropertyDefaultUnknown.md.html +++ b/docs/checks/MoshiUsageEnumPropertyDefaultUnknown.md.html @@ -112,17 +112,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -130,7 +130,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageGenerateAdapterShouldBeTrue.md.html b/docs/checks/MoshiUsageGenerateAdapterShouldBeTrue.md.html index e1d0c383..a77a2737 100644 --- a/docs/checks/MoshiUsageGenerateAdapterShouldBeTrue.md.html +++ b/docs/checks/MoshiUsageGenerateAdapterShouldBeTrue.md.html @@ -85,17 +85,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -103,7 +103,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageGenericSealedSubtype.md.html b/docs/checks/MoshiUsageGenericSealedSubtype.md.html index e813c13c..fa76e4d2 100644 --- a/docs/checks/MoshiUsageGenericSealedSubtype.md.html +++ b/docs/checks/MoshiUsageGenericSealedSubtype.md.html @@ -95,17 +95,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -113,7 +113,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageInappropriateTypeLabel.md.html b/docs/checks/MoshiUsageInappropriateTypeLabel.md.html index 44191dfd..249667ce 100644 --- a/docs/checks/MoshiUsageInappropriateTypeLabel.md.html +++ b/docs/checks/MoshiUsageInappropriateTypeLabel.md.html @@ -108,17 +108,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -126,7 +126,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageMissingPrimary.md.html b/docs/checks/MoshiUsageMissingPrimary.md.html index 167f47b9..fb030d78 100644 --- a/docs/checks/MoshiUsageMissingPrimary.md.html +++ b/docs/checks/MoshiUsageMissingPrimary.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageMissingTypeLabel.md.html b/docs/checks/MoshiUsageMissingTypeLabel.md.html index 2e65f4db..3ebf5d26 100644 --- a/docs/checks/MoshiUsageMissingTypeLabel.md.html +++ b/docs/checks/MoshiUsageMissingTypeLabel.md.html @@ -98,17 +98,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -116,7 +116,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageMutableCollections.md.html b/docs/checks/MoshiUsageMutableCollections.md.html index c96ecd2c..0297d68e 100644 --- a/docs/checks/MoshiUsageMutableCollections.md.html +++ b/docs/checks/MoshiUsageMutableCollections.md.html @@ -163,17 +163,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -181,7 +181,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageNonMoshiClassCollection.md.html b/docs/checks/MoshiUsageNonMoshiClassCollection.md.html index b1a273d2..7fb60e5e 100644 --- a/docs/checks/MoshiUsageNonMoshiClassCollection.md.html +++ b/docs/checks/MoshiUsageNonMoshiClassCollection.md.html @@ -153,17 +153,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -171,7 +171,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageNonMoshiClassExternal.md.html b/docs/checks/MoshiUsageNonMoshiClassExternal.md.html index 654b868d..8815d0b8 100644 --- a/docs/checks/MoshiUsageNonMoshiClassExternal.md.html +++ b/docs/checks/MoshiUsageNonMoshiClassExternal.md.html @@ -167,17 +167,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -185,7 +185,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageNonMoshiClassInternal.md.html b/docs/checks/MoshiUsageNonMoshiClassInternal.md.html index 9b5cac2f..2cc6f2e3 100644 --- a/docs/checks/MoshiUsageNonMoshiClassInternal.md.html +++ b/docs/checks/MoshiUsageNonMoshiClassInternal.md.html @@ -144,17 +144,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -162,7 +162,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageNonMoshiClassMap.md.html b/docs/checks/MoshiUsageNonMoshiClassMap.md.html index 2653abba..21acabb0 100644 --- a/docs/checks/MoshiUsageNonMoshiClassMap.md.html +++ b/docs/checks/MoshiUsageNonMoshiClassMap.md.html @@ -143,17 +143,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -161,7 +161,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageNonMoshiClassPlatform.md.html b/docs/checks/MoshiUsageNonMoshiClassPlatform.md.html index 2c8b958a..07f4e366 100644 --- a/docs/checks/MoshiUsageNonMoshiClassPlatform.md.html +++ b/docs/checks/MoshiUsageNonMoshiClassPlatform.md.html @@ -145,17 +145,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -163,7 +163,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageObject.md.html b/docs/checks/MoshiUsageObject.md.html index ed54aaac..b3193cb8 100644 --- a/docs/checks/MoshiUsageObject.md.html +++ b/docs/checks/MoshiUsageObject.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageParamNeedsInit.md.html b/docs/checks/MoshiUsageParamNeedsInit.md.html index 71dce9fb..46e43e50 100644 --- a/docs/checks/MoshiUsageParamNeedsInit.md.html +++ b/docs/checks/MoshiUsageParamNeedsInit.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsagePrivateConstructor.md.html b/docs/checks/MoshiUsagePrivateConstructor.md.html index c3e2392c..10862dd1 100644 --- a/docs/checks/MoshiUsagePrivateConstructor.md.html +++ b/docs/checks/MoshiUsagePrivateConstructor.md.html @@ -94,17 +94,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -112,7 +112,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsagePrivateConstructorProperty.md.html b/docs/checks/MoshiUsagePrivateConstructorProperty.md.html index 45788498..114d2a39 100644 --- a/docs/checks/MoshiUsagePrivateConstructorProperty.md.html +++ b/docs/checks/MoshiUsagePrivateConstructorProperty.md.html @@ -84,17 +84,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -102,7 +102,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageQualifierRetention.md.html b/docs/checks/MoshiUsageQualifierRetention.md.html index 50c74356..4c71448a 100644 --- a/docs/checks/MoshiUsageQualifierRetention.md.html +++ b/docs/checks/MoshiUsageQualifierRetention.md.html @@ -119,17 +119,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -137,7 +137,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageQualifierTarget.md.html b/docs/checks/MoshiUsageQualifierTarget.md.html index 75ce558f..48baf3c6 100644 --- a/docs/checks/MoshiUsageQualifierTarget.md.html +++ b/docs/checks/MoshiUsageQualifierTarget.md.html @@ -118,17 +118,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -136,7 +136,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageRedundantJsonName.md.html b/docs/checks/MoshiUsageRedundantJsonName.md.html index 4f96d1b0..87b0df44 100644 --- a/docs/checks/MoshiUsageRedundantJsonName.md.html +++ b/docs/checks/MoshiUsageRedundantJsonName.md.html @@ -87,17 +87,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -105,7 +105,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageRedundantSiteTarget.md.html b/docs/checks/MoshiUsageRedundantSiteTarget.md.html index 0a642bb5..74b009af 100644 --- a/docs/checks/MoshiUsageRedundantSiteTarget.md.html +++ b/docs/checks/MoshiUsageRedundantSiteTarget.md.html @@ -87,17 +87,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -105,7 +105,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageSealedMustBeSealed.md.html b/docs/checks/MoshiUsageSealedMustBeSealed.md.html index 9a7516e0..cc11e4fd 100644 --- a/docs/checks/MoshiUsageSealedMustBeSealed.md.html +++ b/docs/checks/MoshiUsageSealedMustBeSealed.md.html @@ -83,17 +83,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -101,7 +101,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageSerializedName.md.html b/docs/checks/MoshiUsageSerializedName.md.html index fe478ca2..6691581b 100644 --- a/docs/checks/MoshiUsageSerializedName.md.html +++ b/docs/checks/MoshiUsageSerializedName.md.html @@ -123,17 +123,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -141,7 +141,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageSnakeCase.md.html b/docs/checks/MoshiUsageSnakeCase.md.html index 0a7119c3..24a0d656 100644 --- a/docs/checks/MoshiUsageSnakeCase.md.html +++ b/docs/checks/MoshiUsageSnakeCase.md.html @@ -89,17 +89,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -107,7 +107,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageTransientNeedsInit.md.html b/docs/checks/MoshiUsageTransientNeedsInit.md.html index 64060a5c..c0bbbdc0 100644 --- a/docs/checks/MoshiUsageTransientNeedsInit.md.html +++ b/docs/checks/MoshiUsageTransientNeedsInit.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageUnsupportedType.md.html b/docs/checks/MoshiUsageUnsupportedType.md.html index db4d9e78..6ff61293 100644 --- a/docs/checks/MoshiUsageUnsupportedType.md.html +++ b/docs/checks/MoshiUsageUnsupportedType.md.html @@ -117,17 +117,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -135,7 +135,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageUseData.md.html b/docs/checks/MoshiUsageUseData.md.html index b9528e53..a56626d0 100644 --- a/docs/checks/MoshiUsageUseData.md.html +++ b/docs/checks/MoshiUsageUseData.md.html @@ -88,17 +88,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -106,7 +106,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MoshiUsageVarProperty.md.html b/docs/checks/MoshiUsageVarProperty.md.html index 0550ac92..e63c3bef 100644 --- a/docs/checks/MoshiUsageVarProperty.md.html +++ b/docs/checks/MoshiUsageVarProperty.md.html @@ -85,17 +85,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -103,7 +103,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/MultipleAwaitPointerEventScopes.md.html b/docs/checks/MultipleAwaitPointerEventScopes.md.html index e05819c0..6cbb9ca0 100644 --- a/docs/checks/MultipleAwaitPointerEventScopes.md.html +++ b/docs/checks/MultipleAwaitPointerEventScopes.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -70,7 +70,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/MustBeInModule.md.html b/docs/checks/MustBeInModule.md.html index af46b378..a004222d 100644 --- a/docs/checks/MustBeInModule.md.html +++ b/docs/checks/MustBeInModule.md.html @@ -1,13 +1,13 @@ -(#) @Binds/@Provides function must be in `@Module`-annotated classes. +(#) @Binds/@Provides functions must be in modules -!!! ERROR: @Binds/@Provides function must be in `@Module`-annotated classes. +!!! ERROR: @Binds/@Provides functions must be in modules This is an error. Id : `MustBeInModule` Summary -: @Binds/@Provides function must be in `@Module`-annotated classes. +: @Binds/@Provides functions must be in modules Severity : Error Category @@ -40,7 +40,7 @@ Copyright Year : 2021 -@Binds/@Provides function must be in `@Module`-annotated classes. +@Binds/@Provides functions must be in `@Module`-annotated classes. (##) Example @@ -136,17 +136,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -154,7 +154,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/InjectWithTypeMustImplementAnvilInjectable.md.html b/docs/checks/MustUseNamedParams.md.html similarity index 60% rename from docs/checks/InjectWithTypeMustImplementAnvilInjectable.md.html rename to docs/checks/MustUseNamedParams.md.html index a92aa3b0..74862eed 100644 --- a/docs/checks/InjectWithTypeMustImplementAnvilInjectable.md.html +++ b/docs/checks/MustUseNamedParams.md.html @@ -1,13 +1,13 @@ -(#) @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does). +(#) Calls to @MustUseNamedParams-annotated methods must name all parameters. -!!! ERROR: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does). +!!! ERROR: Calls to @MustUseNamedParams-annotated methods must name all parameters. This is an error. Id -: `InjectWithTypeMustImplementAnvilInjectable` +: `MustUseNamedParams` Summary -: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does). +: Calls to @MustUseNamedParams-annotated methods must name all parameters. Severity : Error Category @@ -34,69 +34,60 @@ Editing : This check runs on the fly in the IDE editor Implementation -: [Source Code](https://github.com/slackhq/slack-lints/blob/main/slack-lint-checks/src/main/java/slack/lint/InjectWithUsageDetector.kt) +: [Source Code](https://github.com/slackhq/slack-lints/blob/main/slack-lint-checks/src/main/java/slack/lint/MustUseNamedParamsDetector.kt) Tests -: [Source Code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/InjectWithUsageDetectorTest.kt) +: [Source Code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/MustUseNamedParamsDetectorTest.kt) Copyright Year -: 2021 +: 2022 -`@InjectWith`-annotated classes must implement AnvilInjectable (or -extend something that does). +Calls to @MustUseNamedParams-annotated methods must name all +parameters. (##) Example Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -src/test/pkg/BaseInjectableAnnotation.kt:30:Error: @InjectWith-annotated -classes must implement AnvilInjectable (or extend something that does). -[InjectWithTypeMustImplementAnvilInjectable] +src/foo/TestFile.kt:16:Error: Calls to @MustUseNamedParams-annotated +methods must name all parameters. [MustUseNamedParams] -class MissingAnvilInjectable - ---------------------- + methodWithAnnotation("Zac") + --------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: -`src/test/pkg/BaseInjectableAnnotation.kt`: +`src/foo/TestFile.kt`: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers -package test.pkg +package foo -import slack.anvil.injection.InjectWith -import slack.anvil.injection.AnvilInjectable -import slack.di.AppScope -import slack.di.UserScope -import slack.di.OrgScope -import slack.foundation.auth.LoggedInUserProvider +import slack.lint.annotations.MustUseNamedParams -annotation class BaseInjectableAnnotation - -abstract class BaseInjectable : AnvilInjectable - -@InjectWith(AppScope::class) -class AppActivityCorrect : BaseInjectable() - -@InjectWith(UserScope::class) -class UserActivityCorrect : BaseInjectable(), LoggedInUserProvider - -@InjectWith(OrgScope::class) -class OrgActivityCorrect : BaseInjectable(), LoggedInUserProvider +class TestFile { + @MustUseNamedParams + fun methodWithAnnotation(name: String) { + // Do nothing. + } -@InjectWith(UserScope::class) -class UserActivityWrong : BaseInjectable() + fun methodWithoutAnnotation(name: String) { + // Do nothing. + } -@InjectWith(OrgScope::class) -class OrgActivityWrong : BaseInjectable() + fun useMethod() { + methodWithAnnotation("Zac") + methodWithAnnotation(name = "Sean") -@InjectWith(AppScope::class) -class MissingAnvilInjectable + methodWithoutAnnotation("Yifan") + methodWithoutAnnotation(name = "Sean2") + } +} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can also visit the -[source code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/InjectWithUsageDetectorTest.kt) +[source code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/MustUseNamedParamsDetectorTest.kt) for the unit tests for this check to see additional scenarios. The above example was automatically extracted from the first unit test -found for this lint check, `InjectWithUsageDetector.smokeTest`. +found for this lint check, `MustUseNamedParamsDetector.simpleTest`. To report a problem with this extracted sample, visit https://github.com/slackhq/slack-lints. @@ -109,17 +100,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -127,7 +118,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). @@ -140,7 +131,7 @@ ```kt // Kotlin - @Suppress("InjectWithTypeMustImplementAnvilInjectable") + @Suppress("MustUseNamedParams") fun method() { problematicStatement() } @@ -150,7 +141,7 @@ ```java // Java - @SuppressWarnings("InjectWithTypeMustImplementAnvilInjectable") + @SuppressWarnings("MustUseNamedParams") void method() { problematicStatement(); } @@ -159,7 +150,7 @@ * Using a suppression comment like this on the line above: ```kt - //noinspection InjectWithTypeMustImplementAnvilInjectable + //noinspection MustUseNamedParams problematicStatement() ``` @@ -169,7 +160,7 @@ ```xml <?xml version="1.0" encoding="UTF-8"?> <lint> - <issue id="InjectWithTypeMustImplementAnvilInjectable" severity="ignore" /> + <issue id="MustUseNamedParams" severity="ignore" /> </lint> ``` Instead of `ignore` you can also change the severity here, for @@ -182,7 +173,7 @@ example, you can use something like ```gradle lintOptions { - disable 'InjectWithTypeMustImplementAnvilInjectable' + disable 'MustUseNamedParams' } ``` In Android projects this should be nested inside an `android { }` @@ -190,7 +181,7 @@ * For manual invocations of `lint`, using the `--ignore` flag: ``` - $ lint --ignore InjectWithTypeMustImplementAnvilInjectable ...` + $ lint --ignore MustUseNamedParams ...` ``` * Last, but not least, using baselines, as discussed diff --git a/docs/checks/MutableCollectionMutableState.md.html b/docs/checks/MutableCollectionMutableState.md.html index 2eed87ac..dc22391c 100644 --- a/docs/checks/MutableCollectionMutableState.md.html +++ b/docs/checks/MutableCollectionMutableState.md.html @@ -174,17 +174,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -192,7 +192,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/NoCollectCallFound.md.html b/docs/checks/NoCollectCallFound.md.html index d1dd131d..60caf0e6 100644 --- a/docs/checks/NoCollectCallFound.md.html +++ b/docs/checks/NoCollectCallFound.md.html @@ -160,17 +160,17 @@ ``` // build.gradle.kts -implementation("androidx.activity:activity-compose:1.9.0-alpha02") +implementation("androidx.activity:activity-compose:1.9.0") // build.gradle -implementation 'androidx.activity:activity-compose:1.9.0-alpha02' +implementation 'androidx.activity:activity-compose:1.9.0' // build.gradle.kts with version catalogs: implementation(libs.activity-compose) # libs.versions.toml [versions] -activity-compose = "1.9.0-alpha02" +activity-compose = "1.9.0" [libraries] activity-compose = { module = "androidx.activity:activity-compose", @@ -178,7 +178,7 @@ } ``` -1.9.0-alpha02 is the version this documentation was generated from; +1.9.0 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.activity:activity-compose](androidx_activity_activity-compose.md.html). diff --git a/docs/checks/NullSafeMutableLiveData-2.md.html b/docs/checks/NullSafeMutableLiveData-2.md.html new file mode 100644 index 00000000..1abd951d --- /dev/null +++ b/docs/checks/NullSafeMutableLiveData-2.md.html @@ -0,0 +1,162 @@ + +(#) LiveData value assignment nullability mismatch + +!!! ERROR: LiveData value assignment nullability mismatch + This is an error, and is also enforced at build time when + supported by the build system. For Android this means it will + run during release builds. + +Id +: `NullSafeMutableLiveData` +Summary +: LiveData value assignment nullability mismatch +Severity +: Fatal +Category +: Interoperability: Kotlin Interoperability +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.lifecycle +Feedback +: https://issuetracker.google.com/issues/new?component=413132 +Min +: Lint 7.0 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.lifecycle:lifecycle-livedata-core-ktx](androidx_lifecycle_lifecycle-livedata-core-ktx.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt) +Tests +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/lifecycle/lifecycle-livedata-core-ktx-lint/src/test/java/androidx/lifecycle/livedata/core/lint/NonNullableMutableLiveDataDetectorTest.kt) +Copyright Year +: 2019 + +This check ensures that LiveData values are not null when explicitly + declared as non-nullable. + + Kotlin interoperability does not support enforcing +explicit null-safety when using generic Java type +parameters. Since LiveData is a Java class its value can always + be null even when its type is explicitly declared as +non-nullable. This can lead to runtime exceptions from +reading a null LiveData value that is assumed to be +non-nullable. + +!!! Tip + This lint check has an associated quickfix available in the IDE. + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* NullSafeMutableLiveData: LiveData value assignment nullability mismatch (this issue) +* [NullSafeMutableLiveData from androidx.lifecycle:lifecycle-livedata-core:2.8.0](NullSafeMutableLiveData.md.html) +* [NullSafeMutableLiveData from androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01](NullSafeMutableLiveData-2.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01") + +// build.gradle +implementation 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01' + +// build.gradle.kts with version catalogs: +implementation(libs.lifecycle-livedata-core-ktx) + +# libs.versions.toml +[versions] +lifecycle-livedata-core-ktx = "2.8.0-alpha01" +[libraries] +lifecycle-livedata-core-ktx = { + module = "androidx.lifecycle:lifecycle-livedata-core-ktx", + version.ref = "lifecycle-livedata-core-ktx" +} +``` + +2.8.0-alpha01 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.lifecycle:lifecycle-livedata-core-ktx](androidx_lifecycle_lifecycle-livedata-core-ktx.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("NullSafeMutableLiveData") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("NullSafeMutableLiveData") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection NullSafeMutableLiveData + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="NullSafeMutableLiveData" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'NullSafeMutableLiveData' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore NullSafeMutableLiveData ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/NullSafeMutableLiveData.md.html b/docs/checks/NullSafeMutableLiveData.md.html index 841c6da9..d66d079b 100644 --- a/docs/checks/NullSafeMutableLiveData.md.html +++ b/docs/checks/NullSafeMutableLiveData.md.html @@ -27,7 +27,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: [androidx.lifecycle:lifecycle-livedata-core-ktx](androidx_lifecycle_lifecycle-livedata-core-ktx.md.html) +: [androidx.lifecycle:lifecycle-livedata-core](androidx_lifecycle_lifecycle-livedata-core.md.html) Affects : Kotlin and Java files @@ -54,6 +54,16 @@ !!! Tip This lint check has an associated quickfix available in the IDE. +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* NullSafeMutableLiveData: LiveData value assignment nullability mismatch (this issue) +* [NullSafeMutableLiveData from androidx.lifecycle:lifecycle-livedata-core:2.8.0](NullSafeMutableLiveData.md.html) +* [NullSafeMutableLiveData from androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01](NullSafeMutableLiveData-2.md.html) + + (##) Including !!! @@ -62,28 +72,28 @@ ``` // build.gradle.kts -implementation("androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01") +implementation("androidx.lifecycle:lifecycle-livedata-core:2.8.0") // build.gradle -implementation 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01' +implementation 'androidx.lifecycle:lifecycle-livedata-core:2.8.0' // build.gradle.kts with version catalogs: -implementation(libs.lifecycle-livedata-core-ktx) +implementation(libs.lifecycle-livedata-core) # libs.versions.toml [versions] -lifecycle-livedata-core-ktx = "2.8.0-alpha01" +lifecycle-livedata-core = "2.8.0" [libraries] -lifecycle-livedata-core-ktx = { - module = "androidx.lifecycle:lifecycle-livedata-core-ktx", - version.ref = "lifecycle-livedata-core-ktx" +lifecycle-livedata-core = { + module = "androidx.lifecycle:lifecycle-livedata-core", + version.ref = "lifecycle-livedata-core" } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0 is the version this documentation was generated from; there may be newer versions available. -[Additional details about androidx.lifecycle:lifecycle-livedata-core-ktx](androidx_lifecycle_lifecycle-livedata-core-ktx.md.html). +[Additional details about androidx.lifecycle:lifecycle-livedata-core](androidx_lifecycle_lifecycle-livedata-core.md.html). (##) Suppressing You can suppress false positives using one of the following mechanisms: diff --git a/docs/checks/OpaqueUnitKey.md.html b/docs/checks/OpaqueUnitKey.md.html index 46fb0ce1..f7299098 100644 --- a/docs/checks/OpaqueUnitKey.md.html +++ b/docs/checks/OpaqueUnitKey.md.html @@ -99,17 +99,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -117,7 +117,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/OutdatedLibrary.md.html b/docs/checks/OutdatedLibrary.md.html index 717aeb25..ae922319 100644 --- a/docs/checks/OutdatedLibrary.md.html +++ b/docs/checks/OutdatedLibrary.md.html @@ -46,23 +46,29 @@ Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -build.gradle:5:Warning: log4j:log4j version 1.2.15 has been marked as +build.gradle:5:Warning: log4j:log4j version 1.2.15 has been reported as outdated by its author [OutdatedLibrary] compile 'log4j:log4j:1.2.15' // Outdated NON_BLOCKING -------------------- -build.gradle:8:Error: log4j:log4j version 1.2.12 has been marked as -outdated by its author and will block publishing of your app to Play -Console [OutdatedLibrary] +build.gradle:8:Error: [Prevents app release in Google Play Console] +log4j:log4j version 1.2.12 has been reported as outdated by its author +and will block publishing of your app to Play Console. +The library author recommends using versions: + - 1.2.17 + - 1.2.18 or higher +These versions have not been reviewed by Google Play. They could contain +vulnerabilities or policy violations. Carefully evaluate any third-party +SDKs before integrating them into your app. [OutdatedLibrary] compile 'log4j:log4j:1.2.12' // OUTDATED BLOCKING -------------------- build.gradle:13:Warning: com.example.ads.third.party:example version -7.2.0 has been marked as outdated by its author [OutdatedLibrary] +7.2.0 has been reported as outdated by its author [OutdatedLibrary] compile 'com.example.ads.third.party:example:7.2.0' // Outdated + Critical + Policy (multiple issues), no severity ------------------------------------------- diff --git a/docs/checks/ParcelizeFunctionProperty.md.html b/docs/checks/ParcelizeFunctionProperty.md.html index df905478..7836574c 100644 --- a/docs/checks/ParcelizeFunctionProperty.md.html +++ b/docs/checks/ParcelizeFunctionProperty.md.html @@ -1,13 +1,13 @@ -(#) Function type properties should not be used in Parcelize classes +(#) Function type properties are not parcelable -!!! ERROR: Function type properties should not be used in Parcelize classes +!!! ERROR: Function type properties are not parcelable This is an error. Id : `ParcelizeFunctionProperty` Summary -: Function type properties should not be used in Parcelize classes +: Function type properties are not parcelable Severity : Error Category @@ -154,17 +154,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -172,7 +172,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/PictureInPictureIssue.md.html b/docs/checks/PictureInPictureIssue.md.html new file mode 100644 index 00000000..863fe47a --- /dev/null +++ b/docs/checks/PictureInPictureIssue.md.html @@ -0,0 +1,141 @@ + +(#) Picture In Picture best practices not followed + +!!! WARNING: Picture In Picture best practices not followed + This is a warning. + +Id +: `PictureInPictureIssue` +Summary +: Picture In Picture best practices not followed +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Feedback +: https://issuetracker.google.com/issues/new?component=192708 +Affects +: Kotlin and Java files +Editing +: This check can *not* run live in the IDE editor +See +: https://developer.android.com/develop/ui/views/picture-in-picture#smoother-transition +Implementation +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/PictureInPictureDetector.kt) +Tests +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/PictureInPictureDetectorTest.kt) +Copyright Year +: 2023 + +Starting in Android 12, the recommended approach for enabling +picture-in-picture (PiP) has changed. If your app does not use the new +approach, your app's transition animations will be of poor quality +compared to other apps. The new approach requires calling +`setAutoEnterEnabled(true)` and `setSourceRectHint(...)`. + +(##) Example + +Here is an example of lint warnings produced by this check: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text +AndroidManifest.xml:9:Warning: An activity in this app supports +picture-in-picture and the targetSdkVersion is 31 or above; it is +therefore strongly recommended to call both setAutoEnterEnabled(true) +and setSourceRectHint(...) [PictureInPictureIssue] + + <application + ----------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here are the relevant source files: + +`AndroidManifest.xml`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<manifest + package="test.pkg" + xmlns:android="http://schemas.android.com/apk/res/android"> + + <uses-sdk + android:minSdkVersion="28" + android:targetSdkVersion="31" /> + + <application + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name"> + + <activity + android:name=".TestActivity" + android:exported="true" + android:supportsPictureInPicture="true" + android:configChanges="screenLayout|orientation|screenSize|smallestScreenSize"> + + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + + </activity> + + </application> + +</manifest> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`src/TestActivity.kt`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers +package test.pkg + +import android.app.Activity + +class TestActivity: Activity { + fun test() { + enterPictureInPictureMode() + } +} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also visit the +[source code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/PictureInPictureDetectorTest.kt) +for the unit tests for this check to see additional scenarios. + +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="PictureInPictureIssue" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'PictureInPictureIssue' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore PictureInPictureIssue ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/PlaySdkIndexNonCompliant.md.html b/docs/checks/PlaySdkIndexNonCompliant.md.html index 85330230..521305ca 100644 --- a/docs/checks/PlaySdkIndexNonCompliant.md.html +++ b/docs/checks/PlaySdkIndexNonCompliant.md.html @@ -62,9 +62,10 @@ ------------------------------------------- -build.gradle:15:Error: com.example.ads.third.party:example version 7.1.1 -has Device and Network Abuse policy issues that will block publishing of -your app to Play Console [PlaySdkIndexNonCompliant] +build.gradle:15:Error: [Prevents app release in Google Play Console] +com.example.ads.third.party:example version 7.1.1 has Device and Network +Abuse policy issues that will block publishing of your app to Play +Console [PlaySdkIndexNonCompliant] compile 'com.example.ads.third.party:example:7.1.1' // Policy (Device and Network Abuse), blocking ------------------------------------------- @@ -86,9 +87,10 @@ ------------------------------------------- -build.gradle:18:Error: com.example.ads.third.party:example version 7.1.4 -has Permissions policy issues that will block publishing of your app to -Play Console [PlaySdkIndexNonCompliant] +build.gradle:18:Error: [Prevents app release in Google Play Console] +com.example.ads.third.party:example version 7.1.4 has Permissions policy +issues that will block publishing of your app to Play Console +[PlaySdkIndexNonCompliant] compile 'com.example.ads.third.party:example:7.1.4' // Policy (Permissions), blocking ------------------------------------------- @@ -119,9 +121,10 @@ ------------------------------------------- -build.gradle:22:Error: com.example.ads.third.party:example version 7.1.8 -has User Data policy issues that will block publishing of your app to -Play Console [PlaySdkIndexNonCompliant] +build.gradle:22:Error: [Prevents app release in Google Play Console] +com.example.ads.third.party:example version 7.1.8 has User Data policy +issues that will block publishing of your app to Play Console +[PlaySdkIndexNonCompliant] compile 'com.example.ads.third.party:example:7.1.8' // Policy (multiple types), blocking ------------------------------------------- diff --git a/docs/checks/ProduceStateDoesNotAssignValue.md.html b/docs/checks/ProduceStateDoesNotAssignValue.md.html index 16c86dc2..843f9d7f 100644 --- a/docs/checks/ProduceStateDoesNotAssignValue.md.html +++ b/docs/checks/ProduceStateDoesNotAssignValue.md.html @@ -131,17 +131,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -149,7 +149,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/ProtoLayoutEdgeContentLayoutResponsive-2.md.html b/docs/checks/ProtoLayoutEdgeContentLayoutResponsive-2.md.html new file mode 100644 index 00000000..c5a044f2 --- /dev/null +++ b/docs/checks/ProtoLayoutEdgeContentLayoutResponsive-2.md.html @@ -0,0 +1,155 @@ + +(#) ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. + +!!! WARNING: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. + This is a warning. + +Id +: `ProtoLayoutEdgeContentLayoutResponsive` +Summary +: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ResponsiveLayoutDetector.kt) +Copyright Year +: 2024 + +It is highly recommended to use the latest +setResponsiveInsetEnabled(true) when you're +using the ProtoLayout's EdgeContentLayout. + +This is will take care of all outer margins and inner padding to ensure +that content of +labels doesn't go off the screen (especially with different locales) and +that primary +label is placed in the consistent place. + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. (this issue) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive.md.html) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive-2.md.html) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout-material:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout-material) + +# libs.versions.toml +[versions] +protolayout-material = "1.2.0-alpha03" +[libraries] +protolayout-material = { + module = "androidx.wear.protolayout:protolayout-material", + version.ref = "protolayout-material" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutEdgeContentLayoutResponsive") + fun method() { + Builder(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutEdgeContentLayoutResponsive") + void method() { + new Builder(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutEdgeContentLayoutResponsive + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutEdgeContentLayoutResponsive" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutEdgeContentLayoutResponsive' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutEdgeContentLayoutResponsive ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProtoLayoutEdgeContentLayoutResponsive-3.md.html b/docs/checks/ProtoLayoutEdgeContentLayoutResponsive-3.md.html new file mode 100644 index 00000000..4e841ceb --- /dev/null +++ b/docs/checks/ProtoLayoutEdgeContentLayoutResponsive-3.md.html @@ -0,0 +1,155 @@ + +(#) ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. + +!!! WARNING: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. + This is a warning. + +Id +: `ProtoLayoutEdgeContentLayoutResponsive` +Summary +: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ResponsiveLayoutDetector.kt) +Copyright Year +: 2024 + +It is highly recommended to use the latest +setResponsiveInsetEnabled(true) when you're +using the ProtoLayout's EdgeContentLayout. + +This is will take care of all outer margins and inner padding to ensure +that content of +labels doesn't go off the screen (especially with different locales) and +that primary +label is placed in the consistent place. + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. (this issue) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive.md.html) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive-2.md.html) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout) + +# libs.versions.toml +[versions] +protolayout = "1.2.0-alpha03" +[libraries] +protolayout = { + module = "androidx.wear.protolayout:protolayout", + version.ref = "protolayout" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutEdgeContentLayoutResponsive") + fun method() { + Builder(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutEdgeContentLayoutResponsive") + void method() { + new Builder(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutEdgeContentLayoutResponsive + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutEdgeContentLayoutResponsive" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutEdgeContentLayoutResponsive' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutEdgeContentLayoutResponsive ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProtoLayoutEdgeContentLayoutResponsive.md.html b/docs/checks/ProtoLayoutEdgeContentLayoutResponsive.md.html new file mode 100644 index 00000000..6b3b492a --- /dev/null +++ b/docs/checks/ProtoLayoutEdgeContentLayoutResponsive.md.html @@ -0,0 +1,155 @@ + +(#) ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. + +!!! WARNING: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. + This is a warning. + +Id +: `ProtoLayoutEdgeContentLayoutResponsive` +Summary +: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ResponsiveLayoutDetector.kt) +Copyright Year +: 2024 + +It is highly recommended to use the latest +setResponsiveInsetEnabled(true) when you're +using the ProtoLayout's EdgeContentLayout. + +This is will take care of all outer margins and inner padding to ensure +that content of +labels doesn't go off the screen (especially with different locales) and +that primary +label is placed in the consistent place. + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales. (this issue) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive.md.html) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive-2.md.html) +* [ProtoLayoutEdgeContentLayoutResponsive from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutEdgeContentLayoutResponsive-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout-expression) + +# libs.versions.toml +[versions] +protolayout-expression = "1.2.0-alpha03" +[libraries] +protolayout-expression = { + module = "androidx.wear.protolayout:protolayout-expression", + version.ref = "protolayout-expression" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutEdgeContentLayoutResponsive") + fun method() { + Builder(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutEdgeContentLayoutResponsive") + void method() { + new Builder(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutEdgeContentLayoutResponsive + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutEdgeContentLayoutResponsive" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutEdgeContentLayoutResponsive' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutEdgeContentLayoutResponsive ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProtoLayoutMinSchema-2.md.html b/docs/checks/ProtoLayoutMinSchema-2.md.html index 84f6b5be..7fdca5b3 100644 --- a/docs/checks/ProtoLayoutMinSchema-2.md.html +++ b/docs/checks/ProtoLayoutMinSchema-2.md.html @@ -25,7 +25,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: [androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html) +: [androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html) Affects : Kotlin and Java files @@ -61,8 +61,9 @@ well. Issue id's must be unique, so you cannot combine these libraries. Also defined in: * ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API. (this issue) -* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-expression:1.1.0-rc01](ProtoLayoutMinSchema.md.html) -* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout:1.1.0-rc01](ProtoLayoutMinSchema-2.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutMinSchema.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutMinSchema-2.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutMinSchema-3.md.html) (##) Including @@ -73,28 +74,28 @@ ``` // build.gradle.kts -implementation("androidx.wear.protolayout:protolayout:1.1.0-rc01") +implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha03") // build.gradle -implementation 'androidx.wear.protolayout:protolayout:1.1.0-rc01' +implementation 'androidx.wear.protolayout:protolayout-material:1.2.0-alpha03' // build.gradle.kts with version catalogs: -implementation(libs.protolayout) +implementation(libs.protolayout-material) # libs.versions.toml [versions] -protolayout = "1.1.0-rc01" +protolayout-material = "1.2.0-alpha03" [libraries] -protolayout = { - module = "androidx.wear.protolayout:protolayout", - version.ref = "protolayout" +protolayout-material = { + module = "androidx.wear.protolayout:protolayout-material", + version.ref = "protolayout-material" } ``` -1.1.0-rc01 is the version this documentation was generated from; +1.2.0-alpha03 is the version this documentation was generated from; there may be newer versions available. -[Additional details about androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html). +[Additional details about androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html). (##) Suppressing You can suppress false positives using one of the following mechanisms: diff --git a/docs/checks/ProtoLayoutMinSchema-3.md.html b/docs/checks/ProtoLayoutMinSchema-3.md.html new file mode 100644 index 00000000..ce456047 --- /dev/null +++ b/docs/checks/ProtoLayoutMinSchema-3.md.html @@ -0,0 +1,164 @@ + +(#) ProtoLayout feature is not guaranteed to be available on the target device API. + +!!! ERROR: ProtoLayout feature is not guaranteed to be available on the target device API. + This is an error. + +Id +: `ProtoLayoutMinSchema` +Summary +: ProtoLayout feature is not guaranteed to be available on the target device API. +Severity +: Error +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ProtoLayoutMinSchemaDetector.kt) +Copyright Year +: 2023 + +Using features that are not supported by an older ProtoLayout +renderer/evaluator, can lead to unexpected rendering or invalid results +(for expressions). + +Each Wear OS platform version has a guaranteed minimum ProtoLayout +schema version. +On API 33, all consumers for ProtoLayout support at least Schema version +1.2 (major=1, minor=200). +On API 34, all consumers for ProtoLayout support at least Schema version +1.3 (major=1, minor=300). + +You can use those newer features through conditional Android API checks, +or by increasing the minSdk for your project. +You can also annotate your methods with @RequiresApi or +@RequiresSchemaAnnotation if you know they require the +corresponding version. +Note that @RequiresSchemaVersion annotation on classes are mostly +ignored (except for Builder classes). + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API. (this issue) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutMinSchema.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutMinSchema-2.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutMinSchema-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout) + +# libs.versions.toml +[versions] +protolayout = "1.2.0-alpha03" +[libraries] +protolayout = { + module = "androidx.wear.protolayout:protolayout", + version.ref = "protolayout" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutMinSchema") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutMinSchema") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutMinSchema + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutMinSchema" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutMinSchema' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutMinSchema ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProtoLayoutMinSchema.md.html b/docs/checks/ProtoLayoutMinSchema.md.html index f192fe87..484a0f00 100644 --- a/docs/checks/ProtoLayoutMinSchema.md.html +++ b/docs/checks/ProtoLayoutMinSchema.md.html @@ -61,8 +61,9 @@ well. Issue id's must be unique, so you cannot combine these libraries. Also defined in: * ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API. (this issue) -* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-expression:1.1.0-rc01](ProtoLayoutMinSchema.md.html) -* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout:1.1.0-rc01](ProtoLayoutMinSchema-2.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutMinSchema.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutMinSchema-2.md.html) +* [ProtoLayoutMinSchema from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutMinSchema-3.md.html) (##) Including @@ -73,17 +74,17 @@ ``` // build.gradle.kts -implementation("androidx.wear.protolayout:protolayout-expression:1.1.0-rc01") +implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03") // build.gradle -implementation 'androidx.wear.protolayout:protolayout-expression:1.1.0-rc01' +implementation 'androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03' // build.gradle.kts with version catalogs: implementation(libs.protolayout-expression) # libs.versions.toml [versions] -protolayout-expression = "1.1.0-rc01" +protolayout-expression = "1.2.0-alpha03" [libraries] protolayout-expression = { module = "androidx.wear.protolayout:protolayout-expression", @@ -91,7 +92,7 @@ } ``` -1.1.0-rc01 is the version this documentation was generated from; +1.2.0-alpha03 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html). diff --git a/docs/checks/ProtoLayoutPrimaryLayoutResponsive-2.md.html b/docs/checks/ProtoLayoutPrimaryLayoutResponsive-2.md.html new file mode 100644 index 00000000..bd885536 --- /dev/null +++ b/docs/checks/ProtoLayoutPrimaryLayoutResponsive-2.md.html @@ -0,0 +1,153 @@ + +(#) ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. + +!!! WARNING: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. + This is a warning. + +Id +: `ProtoLayoutPrimaryLayoutResponsive` +Summary +: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ResponsiveLayoutDetector.kt) +Copyright Year +: 2024 + +It is highly recommended to use the latest +setResponsiveInsetEnabled(true) when you're +using the ProtoLayout's PrimaryLayout. + +This is will take care of all inner padding to ensure that content of +labels and bottom +chip doesn't go off the screen (especially with different locales). + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. (this issue) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive.md.html) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive-2.md.html) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout-material:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout-material) + +# libs.versions.toml +[versions] +protolayout-material = "1.2.0-alpha03" +[libraries] +protolayout-material = { + module = "androidx.wear.protolayout:protolayout-material", + version.ref = "protolayout-material" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutPrimaryLayoutResponsive") + fun method() { + Builder(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutPrimaryLayoutResponsive") + void method() { + new Builder(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutPrimaryLayoutResponsive + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutPrimaryLayoutResponsive" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutPrimaryLayoutResponsive' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutPrimaryLayoutResponsive ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProtoLayoutPrimaryLayoutResponsive-3.md.html b/docs/checks/ProtoLayoutPrimaryLayoutResponsive-3.md.html new file mode 100644 index 00000000..45cb1c48 --- /dev/null +++ b/docs/checks/ProtoLayoutPrimaryLayoutResponsive-3.md.html @@ -0,0 +1,153 @@ + +(#) ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. + +!!! WARNING: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. + This is a warning. + +Id +: `ProtoLayoutPrimaryLayoutResponsive` +Summary +: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ResponsiveLayoutDetector.kt) +Copyright Year +: 2024 + +It is highly recommended to use the latest +setResponsiveInsetEnabled(true) when you're +using the ProtoLayout's PrimaryLayout. + +This is will take care of all inner padding to ensure that content of +labels and bottom +chip doesn't go off the screen (especially with different locales). + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. (this issue) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive.md.html) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive-2.md.html) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout) + +# libs.versions.toml +[versions] +protolayout = "1.2.0-alpha03" +[libraries] +protolayout = { + module = "androidx.wear.protolayout:protolayout", + version.ref = "protolayout" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutPrimaryLayoutResponsive") + fun method() { + Builder(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutPrimaryLayoutResponsive") + void method() { + new Builder(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutPrimaryLayoutResponsive + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutPrimaryLayoutResponsive" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutPrimaryLayoutResponsive' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutPrimaryLayoutResponsive ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProtoLayoutPrimaryLayoutResponsive.md.html b/docs/checks/ProtoLayoutPrimaryLayoutResponsive.md.html new file mode 100644 index 00000000..218c9850 --- /dev/null +++ b/docs/checks/ProtoLayoutPrimaryLayoutResponsive.md.html @@ -0,0 +1,153 @@ + +(#) ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. + +!!! WARNING: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. + This is a warning. + +Id +: `ProtoLayoutPrimaryLayoutResponsive` +Summary +: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/wear/protolayout/protolayout-lint/src/main/java/androidx/wear/protolayout/lint/ResponsiveLayoutDetector.kt) +Copyright Year +: 2024 + +It is highly recommended to use the latest +setResponsiveInsetEnabled(true) when you're +using the ProtoLayout's PrimaryLayout. + +This is will take care of all inner padding to ensure that content of +labels and bottom +chip doesn't go off the screen (especially with different locales). + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. (this issue) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive.md.html) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive-2.md.html) +* [ProtoLayoutPrimaryLayoutResponsive from androidx.wear.protolayout:protolayout:1.2.0-alpha03](ProtoLayoutPrimaryLayoutResponsive-3.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout-expression) + +# libs.versions.toml +[versions] +protolayout-expression = "1.2.0-alpha03" +[libraries] +protolayout-expression = { + module = "androidx.wear.protolayout:protolayout-expression", + version.ref = "protolayout-expression" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("ProtoLayoutPrimaryLayoutResponsive") + fun method() { + Builder(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("ProtoLayoutPrimaryLayoutResponsive") + void method() { + new Builder(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection ProtoLayoutPrimaryLayoutResponsive + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="ProtoLayoutPrimaryLayoutResponsive" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'ProtoLayoutPrimaryLayoutResponsive' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore ProtoLayoutPrimaryLayoutResponsive ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/ProvidesMustNotBeAbstract.md.html b/docs/checks/ProvidesMustNotBeAbstract.md.html index 69ea5618..b8bebcb8 100644 --- a/docs/checks/ProvidesMustNotBeAbstract.md.html +++ b/docs/checks/ProvidesMustNotBeAbstract.md.html @@ -1,13 +1,13 @@ -(#) @Provides functions cannot be abstract. +(#) @Provides functions cannot be abstract -!!! ERROR: @Provides functions cannot be abstract. +!!! ERROR: @Provides functions cannot be abstract This is an error. Id : `ProvidesMustNotBeAbstract` Summary -: @Provides functions cannot be abstract. +: @Provides functions cannot be abstract Severity : Error Category @@ -167,17 +167,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -185,7 +185,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/RawDispatchersUse.md.html b/docs/checks/RawDispatchersUse.md.html index 12563b99..c2a1320f 100644 --- a/docs/checks/RawDispatchersUse.md.html +++ b/docs/checks/RawDispatchersUse.md.html @@ -138,17 +138,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -156,7 +156,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/RedactedInJavaUsage.md.html b/docs/checks/RedactedInJavaUsage.md.html index 9a3693d1..0e12e4a6 100644 --- a/docs/checks/RedactedInJavaUsage.md.html +++ b/docs/checks/RedactedInJavaUsage.md.html @@ -118,17 +118,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -136,7 +136,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/RedundantBinds.md.html b/docs/checks/RedundantBinds.md.html index d142cf28..fb9d5e70 100644 --- a/docs/checks/RedundantBinds.md.html +++ b/docs/checks/RedundantBinds.md.html @@ -1,13 +1,13 @@ -(#) @Binds functions should return a different type (including annotations) than the input type. +(#) @Binds functions should return a different type -!!! ERROR: @Binds functions should return a different type (including annotations) than the input type. +!!! ERROR: @Binds functions should return a different type This is an error. Id : `RedundantBinds` Summary -: @Binds functions should return a different type (including annotations) than the input type. +: @Binds functions should return a different type Severity : Error Category @@ -100,17 +100,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -118,7 +118,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/RememberReturnType.md.html b/docs/checks/RememberReturnType.md.html index 7d08d8cd..b352a346 100644 --- a/docs/checks/RememberReturnType.md.html +++ b/docs/checks/RememberReturnType.md.html @@ -302,17 +302,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -320,7 +320,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/RememberSaveableSaverParameter.md.html b/docs/checks/RememberSaveableSaverParameter.md.html index 947d44c9..3d6aafff 100644 --- a/docs/checks/RememberSaveableSaverParameter.md.html +++ b/docs/checks/RememberSaveableSaverParameter.md.html @@ -152,17 +152,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-saveable-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-saveable-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-saveable-android) # libs.versions.toml [versions] -runtime-saveable-android = "1.7.0-alpha01" +runtime-saveable-android = "1.7.0-beta01" [libraries] runtime-saveable-android = { module = "androidx.compose.runtime:runtime-saveable-android", @@ -170,7 +170,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-saveable-android](androidx_compose_runtime_runtime-saveable-android.md.html). diff --git a/docs/checks/RemoveWorkManagerInitializer.md.html b/docs/checks/RemoveWorkManagerInitializer.md.html index b9b2dfdc..e52c4c0f 100644 --- a/docs/checks/RemoveWorkManagerInitializer.md.html +++ b/docs/checks/RemoveWorkManagerInitializer.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -104,7 +104,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/RepeatOnLifecycleWrongUsage-2.md.html b/docs/checks/RepeatOnLifecycleWrongUsage-2.md.html new file mode 100644 index 00000000..d1bd1689 --- /dev/null +++ b/docs/checks/RepeatOnLifecycleWrongUsage-2.md.html @@ -0,0 +1,150 @@ + +(#) Wrong usage of repeatOnLifecycle. + +!!! ERROR: Wrong usage of repeatOnLifecycle. + This is an error. + +Id +: `RepeatOnLifecycleWrongUsage` +Summary +: Wrong usage of repeatOnLifecycle. +Severity +: Error +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.lifecycle +Feedback +: https://issuetracker.google.com/issues/new?component=413132 +Min +: Lint 7.0 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/lifecycle/lifecycle-runtime-ktx-lint/src/main/java/androidx/lifecycle/lint/RepeatOnLifecycleDetector.kt) +Tests +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/lifecycle/lifecycle-runtime-ktx-lint/src/test/java/androidx/lifecycle/runtime/lint/RepeatOnLifecycleDetectorTest.kt) +Copyright Year +: 2021 + +The repeatOnLifecycle APIs should be used when the View is created, + that is in the `onCreate` lifecycle method for Activities, or +`onViewCreated` in case you're using Fragments. + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle. (this issue) +* [RepeatOnLifecycleWrongUsage from androidx.lifecycle:lifecycle-runtime-android:2.8.0](RepeatOnLifecycleWrongUsage.md.html) +* [RepeatOnLifecycleWrongUsage from androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01](RepeatOnLifecycleWrongUsage-2.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01") + +// build.gradle +implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01' + +// build.gradle.kts with version catalogs: +implementation(libs.lifecycle-runtime-ktx) + +# libs.versions.toml +[versions] +lifecycle-runtime-ktx = "2.8.0-alpha01" +[libraries] +lifecycle-runtime-ktx = { + module = "androidx.lifecycle:lifecycle-runtime-ktx", + version.ref = "lifecycle-runtime-ktx" +} +``` + +2.8.0-alpha01 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("RepeatOnLifecycleWrongUsage") + fun method() { + problematicStatement() + } + ``` + + or + + ```java + // Java + @SuppressWarnings("RepeatOnLifecycleWrongUsage") + void method() { + problematicStatement(); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection RepeatOnLifecycleWrongUsage + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="RepeatOnLifecycleWrongUsage" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'RepeatOnLifecycleWrongUsage' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore RepeatOnLifecycleWrongUsage ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/RepeatOnLifecycleWrongUsage.md.html b/docs/checks/RepeatOnLifecycleWrongUsage.md.html index 3369897d..911efb47 100644 --- a/docs/checks/RepeatOnLifecycleWrongUsage.md.html +++ b/docs/checks/RepeatOnLifecycleWrongUsage.md.html @@ -25,7 +25,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: [androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html) +: [androidx.lifecycle:lifecycle-runtime-android](androidx_lifecycle_lifecycle-runtime-android.md.html) Affects : Kotlin and Java files @@ -42,6 +42,16 @@ that is in the `onCreate` lifecycle method for Activities, or `onViewCreated` in case you're using Fragments. +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle. (this issue) +* [RepeatOnLifecycleWrongUsage from androidx.lifecycle:lifecycle-runtime-android:2.8.0](RepeatOnLifecycleWrongUsage.md.html) +* [RepeatOnLifecycleWrongUsage from androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01](RepeatOnLifecycleWrongUsage-2.md.html) + + (##) Including !!! @@ -50,28 +60,28 @@ ``` // build.gradle.kts -implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01") +implementation("androidx.lifecycle:lifecycle-runtime-android:2.8.0") // build.gradle -implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01' +implementation 'androidx.lifecycle:lifecycle-runtime-android:2.8.0' // build.gradle.kts with version catalogs: -implementation(libs.lifecycle-runtime-ktx) +implementation(libs.lifecycle-runtime-android) # libs.versions.toml [versions] -lifecycle-runtime-ktx = "2.8.0-alpha01" +lifecycle-runtime-android = "2.8.0" [libraries] -lifecycle-runtime-ktx = { - module = "androidx.lifecycle:lifecycle-runtime-ktx", - version.ref = "lifecycle-runtime-ktx" +lifecycle-runtime-android = { + module = "androidx.lifecycle:lifecycle-runtime-android", + version.ref = "lifecycle-runtime-android" } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0 is the version this documentation was generated from; there may be newer versions available. -[Additional details about androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html). +[Additional details about androidx.lifecycle:lifecycle-runtime-android](androidx_lifecycle_lifecycle-runtime-android.md.html). (##) Suppressing You can suppress false positives using one of the following mechanisms: diff --git a/docs/checks/RestrictCallsTo.md.html b/docs/checks/RestrictCallsTo.md.html index f2ac8762..ece75b77 100644 --- a/docs/checks/RestrictCallsTo.md.html +++ b/docs/checks/RestrictCallsTo.md.html @@ -124,17 +124,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -142,7 +142,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/RetrofitUsage.md.html b/docs/checks/RetrofitUsage.md.html index cd155d54..b445bce4 100644 --- a/docs/checks/RetrofitUsage.md.html +++ b/docs/checks/RetrofitUsage.md.html @@ -117,17 +117,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -135,7 +135,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/ReturnFromAwaitPointerEventScope.md.html b/docs/checks/ReturnFromAwaitPointerEventScope.md.html index 93a17737..c0646b5d 100644 --- a/docs/checks/ReturnFromAwaitPointerEventScope.md.html +++ b/docs/checks/ReturnFromAwaitPointerEventScope.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -70,7 +70,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/RiskyLibrary.md.html b/docs/checks/RiskyLibrary.md.html index 29c9cb36..c60c5ac5 100644 --- a/docs/checks/RiskyLibrary.md.html +++ b/docs/checks/RiskyLibrary.md.html @@ -52,9 +52,10 @@ Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -build.gradle:7:Error: log4j:log4j version 1.2.13 has been reported as -problematic by its author and will block publishing of your app to Play -Console [RiskyLibrary] +build.gradle:7:Error: [Prevents app release in Google Play Console] +log4j:log4j version 1.2.13 has been reported as problematic by its +author and will block publishing of your app to Play Console +[RiskyLibrary] compile 'log4j:log4j:1.2.13' // Critical BLOCKING -------------------- diff --git a/docs/checks/SecretInSource.md.html b/docs/checks/SecretInSource.md.html index c8e1b2b3..8cfb136c 100644 --- a/docs/checks/SecretInSource.md.html +++ b/docs/checks/SecretInSource.md.html @@ -52,7 +52,7 @@ source code [SecretInSource] val model2 = GenerativeModel("name", "AIzadGhpcyBpcyBhbm90aGVy_IHQ-akd==") - ---------------------------------- + ------------------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: diff --git a/docs/checks/SerializableUsage.md.html b/docs/checks/SerializableUsage.md.html index bf16ccd8..fad5f3d9 100644 --- a/docs/checks/SerializableUsage.md.html +++ b/docs/checks/SerializableUsage.md.html @@ -86,17 +86,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -104,7 +104,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/SimilarGradleDependency.md.html b/docs/checks/SimilarGradleDependency.md.html new file mode 100644 index 00000000..f312d89b --- /dev/null +++ b/docs/checks/SimilarGradleDependency.md.html @@ -0,0 +1,82 @@ + +(#) Multiple Versions Gradle Dependency + +!!! Tip: Multiple Versions Gradle Dependency + Advice from this check is just a tip. + +Id +: `SimilarGradleDependency` +Summary +: Multiple Versions Gradle Dependency +Severity +: Information +Category +: Correctness +Platform +: Any +Vendor +: Android Open Source Project +Feedback +: https://issuetracker.google.com/issues/new?component=192708 +Affects +: Gradle build files and TOML files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/GradleDetector.kt) +Tests +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/GradleDetectorTest.kt) +Copyright Year +: 2014 + +This detector looks for usages of libraries when name and group are the +same but versions are different. Using multiple versions in big project +is fine, and there are cases where you deliberately want to stick with +such approach. However, you may simply not be aware that this situation +happens, and that is what this lint check helps find. + +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection SimilarGradleDependency + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="SimilarGradleDependency" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'SimilarGradleDependency' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore SimilarGradleDependency ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/SpanMarkPointMissingMask.md.html b/docs/checks/SpanMarkPointMissingMask.md.html index 066cf11d..a5c95985 100644 --- a/docs/checks/SpanMarkPointMissingMask.md.html +++ b/docs/checks/SpanMarkPointMissingMask.md.html @@ -92,17 +92,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -110,7 +110,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/SpecifyForegroundServiceType.md.html b/docs/checks/SpecifyForegroundServiceType.md.html index 24409e64..25c52df6 100644 --- a/docs/checks/SpecifyForegroundServiceType.md.html +++ b/docs/checks/SpecifyForegroundServiceType.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -70,7 +70,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/SpecifyJobSchedulerIdRange.md.html b/docs/checks/SpecifyJobSchedulerIdRange.md.html index 6a155fff..b03c1632 100644 --- a/docs/checks/SpecifyJobSchedulerIdRange.md.html +++ b/docs/checks/SpecifyJobSchedulerIdRange.md.html @@ -53,17 +53,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -71,7 +71,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/StateFlowValueCalledInComposition.md.html b/docs/checks/StateFlowValueCalledInComposition.md.html index 172f404f..6d8a8dec 100644 --- a/docs/checks/StateFlowValueCalledInComposition.md.html +++ b/docs/checks/StateFlowValueCalledInComposition.md.html @@ -136,17 +136,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -154,7 +154,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/SubscribeOnMain.md.html b/docs/checks/SubscribeOnMain.md.html index cdbea0b0..24a84b77 100644 --- a/docs/checks/SubscribeOnMain.md.html +++ b/docs/checks/SubscribeOnMain.md.html @@ -98,17 +98,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -116,7 +116,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/SuspiciousCompositionLocalModifierRead.md.html b/docs/checks/SuspiciousCompositionLocalModifierRead.md.html index 3411e0fc..1d98c479 100644 --- a/docs/checks/SuspiciousCompositionLocalModifierRead.md.html +++ b/docs/checks/SuspiciousCompositionLocalModifierRead.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -120,17 +120,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -138,7 +138,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/ComposableModifierFactory.md.html b/docs/checks/SuspiciousModifierThen.md.html similarity index 52% rename from docs/checks/ComposableModifierFactory.md.html rename to docs/checks/SuspiciousModifierThen.md.html index 59e26b4d..7da9b986 100644 --- a/docs/checks/ComposableModifierFactory.md.html +++ b/docs/checks/SuspiciousModifierThen.md.html @@ -1,15 +1,15 @@ -(#) Modifier factory functions should not be @Composable +(#) Using Modifier.then with a Modifier factory function with an implicit receiver -!!! WARNING: Modifier factory functions should not be @Composable - This is a warning. +!!! ERROR: Using Modifier.then with a Modifier factory function with an implicit receiver + This is an error. Id -: `ComposableModifierFactory` +: `SuspiciousModifierThen` Summary -: Modifier factory functions should not be @Composable +: Using Modifier.then with a Modifier factory function with an implicit receiver Severity -: Warning +: Error Category : Correctness Platform @@ -21,106 +21,87 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact -: [androidx.compose.ui:ui](androidx_compose_ui_ui.md.html) +: [androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html) Affects : Kotlin and Java files and test sources Editing : This check runs on the fly in the IDE editor Implementation -: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierDeclarationDetector.kt) +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/SuspiciousModifierThenDetector.kt) Tests -: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierDeclarationDetectorTest.kt) +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/SuspiciousModifierThenDetectorTest.kt) Copyright Year -: 2020 - -Modifier factory functions that need to be aware of the composition -should use androidx.compose.ui.composed {} in their implementation -instead of being marked as @Composable. This allows Modifiers to be -referenced in top level variables and constructed outside of the -composition. +: 2024 + +Calling a Modifier factory function with an implicit receiver inside +Modifier.then will result in the receiver (`this`) being added twice to +the chain. For example, fun Modifier.myModifier() = +this.then(otherModifier()) - the implementation of factory functions +such as Modifier.otherModifier() will internally call this.then(...) to +chain the provided modifier with their implementation. When you expand +this.then(otherModifier()), it becomes: +this.then(this.then(OtherModifierImplementation)) - so you can see that +`this` is included twice in the chain, which results in modifiers such +as padding being applied twice, for example. Instead, you should either +remove the then() and directly chain the factory function on the +receiver, this.otherModifier(), or add the empty Modifier as the +receiver for the factory, such as this.then(Modifier.otherModifier()) (##) Example Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -src/androidx/compose/ui/foo/TestModifier.kt:13:Warning: Modifier factory -functions should not be marked as @Composable, and should use composed -instead [ComposableModifierFactory] - - fun Modifier.fooModifier1(): Modifier { - ------------ - +src/test/TestModifier.kt:10:Error: Using Modifier.then with a Modifier +factory function with an implicit receiver [SuspiciousModifierThen] -src/androidx/compose/ui/foo/TestModifier.kt:19:Warning: Modifier factory -functions should not be marked as @Composable, and should use composed -instead [ComposableModifierFactory] + fun Modifier.test2() = this.then(test()) + ---- - fun Modifier.fooModifier2(): Modifier = - ------------ +src/test/TestModifier.kt:12:Error: Using Modifier.then with a Modifier +factory function with an implicit receiver [SuspiciousModifierThen] -src/androidx/compose/ui/foo/TestModifier.kt:23:Warning: Modifier factory -functions should not be marked as @Composable, and should use composed -instead [ComposableModifierFactory] + fun Modifier.test3() = this.then(with(1) { test() }) + ---- - val Modifier.fooModifier3: Modifier get() { - ------------ +src/test/TestModifier.kt:14:Error: Using Modifier.then with a Modifier +factory function with an implicit receiver [SuspiciousModifierThen] -src/androidx/compose/ui/foo/TestModifier.kt:29:Warning: Modifier factory -functions should not be marked as @Composable, and should use composed -instead [ComposableModifierFactory] - - val Modifier.fooModifier4: Modifier get() = - ------------ + fun Modifier.test4() = this.then(if (true) test() else TestModifier) + ---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is the source file referenced above: -`src/androidx/compose/ui/foo/TestModifier.kt`: +`src/test/TestModifier.kt`: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers -package androidx.compose.ui.foo +package test -import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -class TestModifier(val value: Int) : Modifier.Element - -@Composable -fun someComposableCall(int: Int) = 5 +object TestModifier : Modifier.Element -@Composable -fun Modifier.fooModifier1(): Modifier { - val value = someComposableCall(3) - return this.then(TestModifier(value)) -} +fun Modifier.test(): Modifier = this.then(TestModifier) -@Composable -fun Modifier.fooModifier2(): Modifier = - this.then(TestModifier(someComposableCall(3))) +fun Modifier.test2() = this.then(test()) -@get:Composable -val Modifier.fooModifier3: Modifier get() { - val value = someComposableCall(3) - return this.then(TestModifier(value)) -} +fun Modifier.test3() = this.then(with(1) { test() }) -@get:Composable -val Modifier.fooModifier4: Modifier get() = - this.then(TestModifier(someComposableCall(3))) +fun Modifier.test4() = this.then(if (true) test() else TestModifier) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can also visit the -[source code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierDeclarationDetectorTest.kt) +[source code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/SuspiciousModifierThenDetectorTest.kt) for the unit tests for this check to see additional scenarios. The above example was automatically extracted from the first unit test -found for this lint check, `ModifierDeclarationDetector.composableModifierFactories`. +found for this lint check, `SuspiciousModifierThenDetector.errors`. To report a problem with this extracted sample, visit https://issuetracker.google.com/issues/new?component=612128. @@ -132,28 +113,28 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui:1.5.0-beta02") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui:1.5.0-beta02' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: -implementation(libs.ui) +implementation(libs.ui-android) # libs.versions.toml [versions] -ui = "1.5.0-beta02" +ui-android = "1.7.0-beta01" [libraries] -ui = { - module = "androidx.compose.ui:ui", - version.ref = "ui" +ui-android = { + module = "androidx.compose.ui:ui-android", + version.ref = "ui-android" } ``` -1.5.0-beta02 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. -[Additional details about androidx.compose.ui:ui](androidx_compose_ui_ui.md.html). +[Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). (##) Suppressing You can suppress false positives using one of the following mechanisms: @@ -163,9 +144,9 @@ ```kt // Kotlin - @Suppress("ComposableModifierFactory") + @Suppress("SuspiciousModifierThen") fun method() { - problematicStatement() + then(...) } ``` @@ -173,16 +154,16 @@ ```java // Java - @SuppressWarnings("ComposableModifierFactory") + @SuppressWarnings("SuspiciousModifierThen") void method() { - problematicStatement(); + then(...); } ``` * Using a suppression comment like this on the line above: ```kt - //noinspection ComposableModifierFactory + //noinspection SuspiciousModifierThen problematicStatement() ``` @@ -192,7 +173,7 @@ ```xml <?xml version="1.0" encoding="UTF-8"?> <lint> - <issue id="ComposableModifierFactory" severity="ignore" /> + <issue id="SuspiciousModifierThen" severity="ignore" /> </lint> ``` Instead of `ignore` you can also change the severity here, for @@ -205,7 +186,7 @@ example, you can use something like ```gradle lintOptions { - disable 'ComposableModifierFactory' + disable 'SuspiciousModifierThen' } ``` In Android projects this should be nested inside an `android { }` @@ -213,7 +194,7 @@ * For manual invocations of `lint`, using the `--ignore` flag: ``` - $ lint --ignore ComposableModifierFactory ...` + $ lint --ignore SuspiciousModifierThen ...` ``` * Last, but not least, using baselines, as discussed diff --git a/docs/checks/TestLifecycleOwnerInCoroutine.md.html b/docs/checks/TestLifecycleOwnerInCoroutine.md.html index 82cc641a..0f39d110 100644 --- a/docs/checks/TestLifecycleOwnerInCoroutine.md.html +++ b/docs/checks/TestLifecycleOwnerInCoroutine.md.html @@ -51,17 +51,17 @@ ``` // build.gradle.kts -implementation("androidx.lifecycle:lifecycle-runtime-testing:2.8.0-alpha01") +implementation("androidx.lifecycle:lifecycle-runtime-testing:2.8.0") // build.gradle -implementation 'androidx.lifecycle:lifecycle-runtime-testing:2.8.0-alpha01' +implementation 'androidx.lifecycle:lifecycle-runtime-testing:2.8.0' // build.gradle.kts with version catalogs: implementation(libs.lifecycle-runtime-testing) # libs.versions.toml [versions] -lifecycle-runtime-testing = "2.8.0-alpha01" +lifecycle-runtime-testing = "2.8.0" [libraries] lifecycle-runtime-testing = { module = "androidx.lifecycle:lifecycle-runtime-testing", @@ -69,7 +69,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.lifecycle:lifecycle-runtime-testing](androidx_lifecycle_lifecycle-runtime-testing.md.html). diff --git a/docs/checks/TestManifestGradleConfiguration.md.html b/docs/checks/TestManifestGradleConfiguration.md.html index d1b87847..7f736642 100644 --- a/docs/checks/TestManifestGradleConfiguration.md.html +++ b/docs/checks/TestManifestGradleConfiguration.md.html @@ -130,17 +130,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-test-manifest:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-test-manifest:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-test-manifest:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-test-manifest:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-test-manifest) # libs.versions.toml [versions] -ui-test-manifest = "1.7.0-alpha01" +ui-test-manifest = "1.7.0-beta01" [libraries] ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", @@ -148,7 +148,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-test-manifest](androidx_compose_ui_ui-test-manifest.md.html). diff --git a/docs/checks/UastImplementation.md.html b/docs/checks/UastImplementation.md.html index abfcea18..fbd7b938 100644 --- a/docs/checks/UastImplementation.md.html +++ b/docs/checks/UastImplementation.md.html @@ -68,12 +68,21 @@ ----------------------------------------------------------------- +src/test/pkg/UastImplementationDetectorTestInput.kt:21:Warning: +org.jetbrains.uast.kotlin.KotlinUastResolveProviderService is UAST +implementation. Consider using one of its corresponding UAST interfaces: +BaseKotlinUastResolveProviderService [UastImplementation] + +import org.jetbrains.uast.kotlin.KotlinUastResolveProviderService // ERROR 4 +---------------------------------------------------------------------------- + + src/test/pkg/UastImplementationDetectorTestInput.kt:22:Warning: org.jetbrains.uast.kotlin.UnknownKotlinExpression is UAST implementation. Consider using one of its corresponding UAST interfaces: UExpression, UAnnotated, UUnknownExpression [UastImplementation] -import org.jetbrains.uast.kotlin.UnknownKotlinExpression // ERROR 4 +import org.jetbrains.uast.kotlin.UnknownKotlinExpression // ERROR 5 ------------------------------------------------------------------- @@ -83,7 +92,7 @@ UDeclaration, UAnnotated, UDeclarationEx, UAnchorOwner, UFieldEx, UField [UastImplementation] - val delegateType = (field as? KotlinUField)?.type // ERROR 5 + val delegateType = (field as? KotlinUField)?.type // ERROR 6 ------------ @@ -92,7 +101,7 @@ Consider using one of its corresponding UAST interfaces: UImportStatement, UResolvable [UastImplementation] - val alias = (node as? KotlinUImportStatement)?.sourcePsi?.alias // ERROR 6 + val alias = (node as? KotlinUImportStatement)?.sourcePsi?.alias // ERROR 7 ---------------------- @@ -102,7 +111,7 @@ UAnnotated, UThisExpression, UInstanceExpression, ULabeled, UResolvable [UastImplementation] - class MockKtThisChecker : AbstractDetector(KotlinUThisExpression::class) { // ERROR 7 + class MockKtThisChecker : AbstractDetector(KotlinUThisExpression::class) { // ERROR 8 ---------------------------- @@ -112,16 +121,25 @@ UAnnotated, UThisExpression, UInstanceExpression, ULabeled, UResolvable [UastImplementation] - firstElement is KotlinUThisExpression && firstElement.label != null -> { // ERROR 8 + firstElement is KotlinUThisExpression && firstElement.label != null -> { // ERROR 9 --------------------- +src/test/pkg/UastImplementationDetectorTestInput.kt:87:Warning: +org.jetbrains.uast.kotlin.KotlinUastResolveProviderService is UAST +implementation. Consider using one of its corresponding UAST interfaces: +BaseKotlinUastResolveProviderService [UastImplementation] + + ServiceManager.getService(this.project, KotlinUastResolveProviderService::class.java) // ERROR 10 + --------------------------------------- + + src/test/pkg/UastImplementationDetectorTestInput.kt:93:Warning: org.jetbrains.uast.kotlin.UnknownKotlinExpression is UAST implementation. Consider using one of its corresponding UAST interfaces: UExpression, UAnnotated, UUnknownExpression [UastImplementation] - return if (this !is UnknownKotlinExpression) this else null // ERROR 9 + return if (this !is UnknownKotlinExpression) this else null // ERROR 11 ----------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -149,8 +167,8 @@ import org.jetbrains.uast.kotlin.KotlinUField // ERROR 1 import org.jetbrains.uast.kotlin.KotlinUImportStatement // ERROR 2 import org.jetbrains.uast.kotlin.KotlinUThisExpression // ERROR 3 -import org.jetbrains.uast.kotlin.KotlinUastResolveProviderService -import org.jetbrains.uast.kotlin.UnknownKotlinExpression // ERROR 4 +import org.jetbrains.uast.kotlin.KotlinUastResolveProviderService // ERROR 4 +import org.jetbrains.uast.kotlin.UnknownKotlinExpression // ERROR 5 class UastImplementationDetectorTestInput { @@ -173,7 +191,7 @@ private fun checkFieldSafety(field: UField) { if (field.name.endsWith("delegate")) { - val delegateType = (field as? KotlinUField)?.type // ERROR 5 + val delegateType = (field as? KotlinUField)?.type // ERROR 6 assert (delegateType != null) } } @@ -185,13 +203,13 @@ override fun createUastHandler(context: JavaContext): UElementHandler? { return object : UElementHandler() { override fun visitImportStatement(node: UImportStatement) { - val alias = (node as? KotlinUImportStatement)?.sourcePsi?.alias // ERROR 6 + val alias = (node as? KotlinUImportStatement)?.sourcePsi?.alias // ERROR 7 } } } } - class MockKtThisChecker : AbstractDetector(KotlinUThisExpression::class) { // ERROR 7 + class MockKtThisChecker : AbstractDetector(KotlinUThisExpression::class) { // ERROR 8 override fun createUastHandler(context: JavaContext): UElementHandler? { return object : UElementHandler() { override fun visitElement(node: UElement) { @@ -204,7 +222,7 @@ var firstElement = expr return when { - firstElement is KotlinUThisExpression && firstElement.label != null -> { // ERROR 8 + firstElement is KotlinUThisExpression && firstElement.label != null -> { // ERROR 9 expr } firstElement is UThisExpression -> null @@ -215,13 +233,13 @@ fun KtElement.getBindingContext(): BindingContext { // OK for now to retrieve a service. Won't be allowed after switching to K2 UAST val service = - ServiceManager.getService(this.project, KotlinUastResolveProviderService::class.java) // OK 1 + ServiceManager.getService(this.project, KotlinUastResolveProviderService::class.java) // ERROR 10 return service?.getBindingContext(this) ?: BindingContext.EMPTY } internal val UElement.realUastParent: UElement? get() { - return if (this !is UnknownKotlinExpression) this else null // ERROR 9 + return if (this !is UnknownKotlinExpression) this else null // ERROR 11 } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/checks/UnclosedTrace.md.html b/docs/checks/UnclosedTrace.md.html new file mode 100644 index 00000000..4f693131 --- /dev/null +++ b/docs/checks/UnclosedTrace.md.html @@ -0,0 +1,238 @@ + +(#) Incorrect trace section usage + +!!! WARNING: Incorrect trace section usage + This is a warning. + +Id +: `UnclosedTrace` +Summary +: Incorrect trace section usage +Severity +: Warning +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Feedback +: https://issuetracker.google.com/issues/new?component=192708 +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/TraceSectionDetector.kt) +Tests +: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/TraceSectionDetectorTest.kt) +Copyright Year +: 2024 + +Calls to begin trace sections must be followed by corresponding calls to +end those trace sections. Care must be taken to ensure that +begin-section / end-section pairs are properly nested, and that +functions do not return when there are still unclosed trace sections. +The easiest way to ensure begin-section / end-section pairs are properly +closed is to use a try-finally block as follows: + +```kotlin +try { + Trace.beginSection("OK") + return true +} finally { + Trace.endSection() +} +``` + +This lint check may result in false-positives if trace sections are +guarded by conditionals. For example, it may erroneously say the +following has unclosed trace sections: + +```kotlin +try { + Trace.beginSection("Wrong") + if (a == b) { + Trace.beginSection("OK") + blockingCall() + } +} finally { + // Even though this is technically correct, the lint check isn't capable of detecting + // that the two conditionals are the same + if (a == b) Trace.endSection() + Trace.endSection() +} +``` + +To fix the code snippet above, you could add a nested try-finally as +follows: + +```kotlin +try { + Trace.beginSection("OK") + if (a == b) { + try { + Trace.beginSection("OK") + blockingCall() + } finally { + Trace.endSection() + } + } +} finally { + Trace.endSection() +} +``` + +(##) Options + +You can configure this lint checks using the following options: + +(###) strict + +Whether to assume any method call could throw an exception. +In strict mode, this check assumes that any method call in between begin-section and end-section pairs could potentially throw an exception. Strict mode is useful for situations where unchecked Java exceptions are caught and do not necessarily result in a crash. + +If strict mode is off, this check will still consider the flow of exceptions in Kotlin, but it will ignore unchecked exceptions (`RuntimeException` and its subclasses) in Java unless the method declares explicitly that it `throws` them. If strict mode is enabled, all Java method calls need to be guarded using a finally block so ensure the trace is always ended. + +Default is false. + +Example `lint.xml`: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xml linenumbers +<lint> + <issue id="UnclosedTrace"> + <option name="strict" value="false" /> + </issue> +</lint> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(##) Example + +Here is an example of lint warnings produced by this check: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text +src/test/pkg/test.kt:12:Warning: The beginSection() call is not always +closed with a matching endSection() because the code in between may +suspend [UnclosedTrace] + + Trace.beginSection("Wrong-1") + ------------ + + +src/test/pkg/test.kt:18:Warning: The beginSection() call is not always +closed with a matching endSection() because the code in between may +throw an exception [UnclosedTrace] + + Trace.beginSection("Wrong-2") + ------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is the source file referenced above: + +`src/test/pkg/test.kt`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers +package test.pkg + +import android.os.Trace + +fun okay1(foo: Int, bar: Int) { + Trace.beginSection("OK-1") + val foobar = foo + bar + Trace.endSection() +} + +suspend fun wrong1() { + Trace.beginSection("Wrong-1") + suspendingCall() + Trace.endSection() +} + +fun wrong2(foo: String, bar: String) { + Trace.beginSection("Wrong-2") + // Kotlin does not have checked exceptions. Any function could throw. + // Adding strings is a function, and therefore could throw an exception + val foobar = foo + bar + Trace.endSection() +} + +fun okay2(foo: String, bar: String) { + Trace.beginSection("OK-2") + try { + val foobar = foo + bar + } finally { + Trace.endSection() + } +} + +suspend fun suspendingCall() { } +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also visit the +[source code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/TraceSectionDetectorTest.kt) +for the unit tests for this check to see additional scenarios. + +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("UnclosedTrace") + fun method() { + beginSection(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("UnclosedTrace") + void method() { + beginSection(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection UnclosedTrace + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="UnclosedTrace" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'UnclosedTrace' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore UnclosedTrace ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/UnnecessaryComposedModifier.md.html b/docs/checks/UnnecessaryComposedModifier.md.html index 47170011..a14bee50 100644 --- a/docs/checks/UnnecessaryComposedModifier.md.html +++ b/docs/checks/UnnecessaryComposedModifier.md.html @@ -21,7 +21,7 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact @@ -122,17 +122,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -140,7 +140,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html). diff --git a/docs/checks/UnrememberedAnimatable.md.html b/docs/checks/UnrememberedAnimatable.md.html index 64422dd6..d835d9c1 100644 --- a/docs/checks/UnrememberedAnimatable.md.html +++ b/docs/checks/UnrememberedAnimatable.md.html @@ -319,17 +319,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-core-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-core-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-core-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-core-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-core-android) # libs.versions.toml [versions] -animation-core-android = "1.7.0-alpha01" +animation-core-android = "1.7.0-beta01" [libraries] animation-core-android = { module = "androidx.compose.animation:animation-core-android", @@ -337,7 +337,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.animation:animation-core-android](androidx_compose_animation_animation-core-android.md.html). diff --git a/docs/checks/UnrememberedGetBackStackEntry.md.html b/docs/checks/UnrememberedGetBackStackEntry.md.html index c736e754..d6fa10c3 100644 --- a/docs/checks/UnrememberedGetBackStackEntry.md.html +++ b/docs/checks/UnrememberedGetBackStackEntry.md.html @@ -191,17 +191,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-compose:2.8.0-alpha01") +implementation("androidx.navigation:navigation-compose:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-compose:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-compose:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-compose) # libs.versions.toml [versions] -navigation-compose = "2.8.0-alpha01" +navigation-compose = "2.8.0-beta01" [libraries] navigation-compose = { module = "androidx.navigation:navigation-compose", @@ -209,7 +209,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.navigation:navigation-compose](androidx_navigation_navigation-compose.md.html). diff --git a/docs/checks/UnrememberedMutableInteractionSource.md.html b/docs/checks/UnrememberedMutableInteractionSource.md.html index 3e3ea4d8..97ae1186 100644 --- a/docs/checks/UnrememberedMutableInteractionSource.md.html +++ b/docs/checks/UnrememberedMutableInteractionSource.md.html @@ -182,17 +182,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.foundation:foundation-android:1.7.0-alpha01") +implementation("androidx.compose.foundation:foundation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.foundation:foundation-android:1.7.0-alpha01' +implementation 'androidx.compose.foundation:foundation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.foundation-android) # libs.versions.toml [versions] -foundation-android = "1.7.0-alpha01" +foundation-android = "1.7.0-beta01" [libraries] foundation-android = { module = "androidx.compose.foundation:foundation-android", @@ -200,7 +200,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.foundation:foundation-android](androidx_compose_foundation_foundation-android.md.html). diff --git a/docs/checks/UnrememberedMutableState.md.html b/docs/checks/UnrememberedMutableState.md.html index dd5f3ccf..82bfaa87 100644 --- a/docs/checks/UnrememberedMutableState.md.html +++ b/docs/checks/UnrememberedMutableState.md.html @@ -364,17 +364,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -382,7 +382,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html). diff --git a/docs/checks/UnsafeLifecycleWhenUsage-2.md.html b/docs/checks/UnsafeLifecycleWhenUsage-2.md.html new file mode 100644 index 00000000..c1c5d212 --- /dev/null +++ b/docs/checks/UnsafeLifecycleWhenUsage-2.md.html @@ -0,0 +1,159 @@ + +(#) Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method + +!!! ERROR: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method + This is an error. + +Id +: `UnsafeLifecycleWhenUsage` +Summary +: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method +Severity +: Error +Category +: Correctness +Platform +: Android +Vendor +: Android Open Source Project +Identifier +: androidx.lifecycle +Feedback +: https://issuetracker.google.com/issues/new?component=413132 +Min +: Lint 7.0 +Compiled +: Lint 8.0 and 8.1 +Artifact +: [androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html) + +Affects +: Kotlin and Java files +Editing +: This check runs on the fly in the IDE editor +Implementation +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/lifecycle/lifecycle-runtime-ktx-lint/src/main/java/androidx/lifecycle/lint/LifecycleWhenChecks.kt) +Tests +: [Source Code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:/lifecycle/lifecycle-runtime-ktx-lint/src/test/java/androidx/lifecycle/runtime/lint/LifecycleWhenChecksTest.kt) +Copyright Year +: 2019 + +If the `Lifecycle` is destroyed within the block of +`Lifecycle.whenStarted` or any similar `Lifecycle.when` method is +suspended, the block will be cancelled, which will +also cancel any child coroutine launched inside the +block. As as a result, If you have a try finally block + in your code, the finally might run after the Lifecycle moves outside + the desired state. It is recommended to check the +`Lifecycle.isAtLeast` before accessing UI in finally +block. Similarly, if you have a catch statement that +might catch `CancellationException`, you should +check the `Lifecycle.isAtLeast` before accessing the UI. See + documentation of `Lifecycle.whenStateAtLeast` for more details. + +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method (this issue) +* [UnsafeLifecycleWhenUsage from androidx.lifecycle:lifecycle-runtime-android:2.8.0](UnsafeLifecycleWhenUsage.md.html) +* [UnsafeLifecycleWhenUsage from androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01](UnsafeLifecycleWhenUsage-2.md.html) + + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01") + +// build.gradle +implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01' + +// build.gradle.kts with version catalogs: +implementation(libs.lifecycle-runtime-ktx) + +# libs.versions.toml +[versions] +lifecycle-runtime-ktx = "2.8.0-alpha01" +[libraries] +lifecycle-runtime-ktx = { + module = "androidx.lifecycle:lifecycle-runtime-ktx", + version.ref = "lifecycle-runtime-ktx" +} +``` + +2.8.0-alpha01 is the version this documentation was generated from; +there may be newer versions available. + +[Additional details about androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html). +(##) Suppressing + +You can suppress false positives using one of the following mechanisms: + +* Using a suppression annotation like this on the enclosing + element: + + ```kt + // Kotlin + @Suppress("UnsafeLifecycleWhenUsage") + fun method() { + whenCreated(...) + } + ``` + + or + + ```java + // Java + @SuppressWarnings("UnsafeLifecycleWhenUsage") + void method() { + whenCreated(...); + } + ``` + +* Using a suppression comment like this on the line above: + + ```kt + //noinspection UnsafeLifecycleWhenUsage + problematicStatement() + ``` + +* Using a special `lint.xml` file in the source tree which turns off + the check in that folder and any sub folder. A simple file might look + like this: + ```xml + <?xml version="1.0" encoding="UTF-8"?> + <lint> + <issue id="UnsafeLifecycleWhenUsage" severity="ignore" /> + </lint> + ``` + Instead of `ignore` you can also change the severity here, for + example from `error` to `warning`. You can find additional + documentation on how to filter issues by path, regular expression and + so on + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html). + +* In Gradle projects, using the DSL syntax to configure lint. For + example, you can use something like + ```gradle + lintOptions { + disable 'UnsafeLifecycleWhenUsage' + } + ``` + In Android projects this should be nested inside an `android { }` + block. + +* For manual invocations of `lint`, using the `--ignore` flag: + ``` + $ lint --ignore UnsafeLifecycleWhenUsage ...` + ``` + +* Last, but not least, using baselines, as discussed + [here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html). + + \ No newline at end of file diff --git a/docs/checks/UnsafeLifecycleWhenUsage.md.html b/docs/checks/UnsafeLifecycleWhenUsage.md.html index 264c4029..97252931 100644 --- a/docs/checks/UnsafeLifecycleWhenUsage.md.html +++ b/docs/checks/UnsafeLifecycleWhenUsage.md.html @@ -25,7 +25,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: [androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html) +: [androidx.lifecycle:lifecycle-runtime-android](androidx_lifecycle_lifecycle-runtime-android.md.html) Affects : Kotlin and Java files @@ -51,6 +51,16 @@ check the `Lifecycle.isAtLeast` before accessing the UI. See documentation of `Lifecycle.whenStateAtLeast` for more details. +(##) Repackaged + +This lint check appears to have been packaged in other artifacts as +well. Issue id's must be unique, so you cannot combine these libraries. +Also defined in: +* UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method (this issue) +* [UnsafeLifecycleWhenUsage from androidx.lifecycle:lifecycle-runtime-android:2.8.0](UnsafeLifecycleWhenUsage.md.html) +* [UnsafeLifecycleWhenUsage from androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01](UnsafeLifecycleWhenUsage-2.md.html) + + (##) Including !!! @@ -59,28 +69,28 @@ ``` // build.gradle.kts -implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01") +implementation("androidx.lifecycle:lifecycle-runtime-android:2.8.0") // build.gradle -implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01' +implementation 'androidx.lifecycle:lifecycle-runtime-android:2.8.0' // build.gradle.kts with version catalogs: -implementation(libs.lifecycle-runtime-ktx) +implementation(libs.lifecycle-runtime-android) # libs.versions.toml [versions] -lifecycle-runtime-ktx = "2.8.0-alpha01" +lifecycle-runtime-android = "2.8.0" [libraries] -lifecycle-runtime-ktx = { - module = "androidx.lifecycle:lifecycle-runtime-ktx", - version.ref = "lifecycle-runtime-ktx" +lifecycle-runtime-android = { + module = "androidx.lifecycle:lifecycle-runtime-android", + version.ref = "lifecycle-runtime-android" } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0 is the version this documentation was generated from; there may be newer versions available. -[Additional details about androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html). +[Additional details about androidx.lifecycle:lifecycle-runtime-android](androidx_lifecycle_lifecycle-runtime-android.md.html). (##) Suppressing You can suppress false positives using one of the following mechanisms: diff --git a/docs/checks/UnsafeOptInUsageError.md.html b/docs/checks/UnsafeOptInUsageError.md.html index f684525a..7c4d7c77 100644 --- a/docs/checks/UnsafeOptInUsageError.md.html +++ b/docs/checks/UnsafeOptInUsageError.md.html @@ -70,17 +70,17 @@ ``` // build.gradle.kts -implementation("androidx.annotation:annotation-experimental:1.4.0") +implementation("androidx.annotation:annotation-experimental:1.4.1") // build.gradle -implementation 'androidx.annotation:annotation-experimental:1.4.0' +implementation 'androidx.annotation:annotation-experimental:1.4.1' // build.gradle.kts with version catalogs: implementation(libs.annotation-experimental) # libs.versions.toml [versions] -annotation-experimental = "1.4.0" +annotation-experimental = "1.4.1" [libraries] annotation-experimental = { module = "androidx.annotation:annotation-experimental", @@ -88,7 +88,7 @@ } ``` -1.4.0 is the version this documentation was generated from; +1.4.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.annotation:annotation-experimental](androidx_annotation_annotation-experimental.md.html). diff --git a/docs/checks/UnsafeOptInUsageWarning.md.html b/docs/checks/UnsafeOptInUsageWarning.md.html index ec71e816..d79ac4d7 100644 --- a/docs/checks/UnsafeOptInUsageWarning.md.html +++ b/docs/checks/UnsafeOptInUsageWarning.md.html @@ -70,17 +70,17 @@ ``` // build.gradle.kts -implementation("androidx.annotation:annotation-experimental:1.4.0") +implementation("androidx.annotation:annotation-experimental:1.4.1") // build.gradle -implementation 'androidx.annotation:annotation-experimental:1.4.0' +implementation 'androidx.annotation:annotation-experimental:1.4.1' // build.gradle.kts with version catalogs: implementation(libs.annotation-experimental) # libs.versions.toml [versions] -annotation-experimental = "1.4.0" +annotation-experimental = "1.4.1" [libraries] annotation-experimental = { module = "androidx.annotation:annotation-experimental", @@ -88,7 +88,7 @@ } ``` -1.4.0 is the version this documentation was generated from; +1.4.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.annotation:annotation-experimental](androidx_annotation_annotation-experimental.md.html). diff --git a/docs/checks/UnsafeRepeatOnLifecycleDetector.md.html b/docs/checks/UnsafeRepeatOnLifecycleDetector.md.html index 14dde395..4e68d8c8 100644 --- a/docs/checks/UnsafeRepeatOnLifecycleDetector.md.html +++ b/docs/checks/UnsafeRepeatOnLifecycleDetector.md.html @@ -49,17 +49,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -67,7 +67,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/UnusedBoxWithConstraintsScope.md.html b/docs/checks/UnusedBoxWithConstraintsScope.md.html index a5b8d44a..1b12074d 100644 --- a/docs/checks/UnusedBoxWithConstraintsScope.md.html +++ b/docs/checks/UnusedBoxWithConstraintsScope.md.html @@ -111,17 +111,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.foundation:foundation-android:1.7.0-alpha01") +implementation("androidx.compose.foundation:foundation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.foundation:foundation-android:1.7.0-alpha01' +implementation 'androidx.compose.foundation:foundation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.foundation-android) # libs.versions.toml [versions] -foundation-android = "1.7.0-alpha01" +foundation-android = "1.7.0-beta01" [libraries] foundation-android = { module = "androidx.compose.foundation:foundation-android", @@ -129,7 +129,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.foundation:foundation-android](androidx_compose_foundation_foundation-android.md.html). diff --git a/docs/checks/UnusedContentLambdaTargetStateParameter.md.html b/docs/checks/UnusedContentLambdaTargetStateParameter.md.html index 06216ed4..9de93485 100644 --- a/docs/checks/UnusedContentLambdaTargetStateParameter.md.html +++ b/docs/checks/UnusedContentLambdaTargetStateParameter.md.html @@ -179,17 +179,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-android) # libs.versions.toml [versions] -animation-android = "1.7.0-alpha01" +animation-android = "1.7.0-beta01" [libraries] animation-android = { module = "androidx.compose.animation:animation-android", @@ -197,7 +197,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.animation:animation-android](androidx_compose_animation_animation-android.md.html). diff --git a/docs/checks/UnusedCrossfadeTargetStateParameter.md.html b/docs/checks/UnusedCrossfadeTargetStateParameter.md.html index 713535e1..bbeb043c 100644 --- a/docs/checks/UnusedCrossfadeTargetStateParameter.md.html +++ b/docs/checks/UnusedCrossfadeTargetStateParameter.md.html @@ -131,17 +131,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-android) # libs.versions.toml [versions] -animation-android = "1.7.0-alpha01" +animation-android = "1.7.0-beta01" [libraries] animation-android = { module = "androidx.compose.animation:animation-android", @@ -149,7 +149,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.animation:animation-android](androidx_compose_animation_animation-android.md.html). diff --git a/docs/checks/UnusedMaterial3ScaffoldPaddingParameter.md.html b/docs/checks/UnusedMaterial3ScaffoldPaddingParameter.md.html index 991a6a37..f1bd226f 100644 --- a/docs/checks/UnusedMaterial3ScaffoldPaddingParameter.md.html +++ b/docs/checks/UnusedMaterial3ScaffoldPaddingParameter.md.html @@ -127,17 +127,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.material3:material3-android:1.2.0-rc01") +implementation("androidx.compose.material3:material3-android:1.3.0-beta01") // build.gradle -implementation 'androidx.compose.material3:material3-android:1.2.0-rc01' +implementation 'androidx.compose.material3:material3-android:1.3.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.material3-android) # libs.versions.toml [versions] -material3-android = "1.2.0-rc01" +material3-android = "1.3.0-beta01" [libraries] material3-android = { module = "androidx.compose.material3:material3-android", @@ -145,7 +145,7 @@ } ``` -1.2.0-rc01 is the version this documentation was generated from; +1.3.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.material3:material3-android](androidx_compose_material3_material3-android.md.html). diff --git a/docs/checks/UnusedMaterialScaffoldPaddingParameter.md.html b/docs/checks/UnusedMaterialScaffoldPaddingParameter.md.html index f8448097..765362ef 100644 --- a/docs/checks/UnusedMaterialScaffoldPaddingParameter.md.html +++ b/docs/checks/UnusedMaterialScaffoldPaddingParameter.md.html @@ -127,17 +127,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.material:material-android:1.7.0-alpha01") +implementation("androidx.compose.material:material-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.material:material-android:1.7.0-alpha01' +implementation 'androidx.compose.material:material-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.material-android) # libs.versions.toml [versions] -material-android = "1.7.0-alpha01" +material-android = "1.7.0-beta01" [libraries] material-android = { module = "androidx.compose.material:material-android", @@ -145,7 +145,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.material:material-android](androidx_compose_material_material-android.md.html). diff --git a/docs/checks/UnusedTransitionTargetStateParameter.md.html b/docs/checks/UnusedTransitionTargetStateParameter.md.html index 7d1b4a83..deac888b 100644 --- a/docs/checks/UnusedTransitionTargetStateParameter.md.html +++ b/docs/checks/UnusedTransitionTargetStateParameter.md.html @@ -134,17 +134,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-core-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-core-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-core-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-core-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-core-android) # libs.versions.toml [versions] -animation-core-android = "1.7.0-alpha01" +animation-core-android = "1.7.0-beta01" [libraries] animation-core-android = { module = "androidx.compose.animation:animation-core-android", @@ -152,7 +152,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.animation:animation-core-android](androidx_compose_animation_animation-core-android.md.html). diff --git a/docs/checks/UseAndroidAlpha.md.html b/docs/checks/UseAndroidAlpha.md.html index c2249a2e..bc9b1bcb 100644 --- a/docs/checks/UseAndroidAlpha.md.html +++ b/docs/checks/UseAndroidAlpha.md.html @@ -51,17 +51,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -69,7 +69,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseAppTint.md.html b/docs/checks/UseAppTint.md.html index 7c6468aa..91911e54 100644 --- a/docs/checks/UseAppTint.md.html +++ b/docs/checks/UseAppTint.md.html @@ -51,17 +51,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -69,7 +69,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseCompatLoadingForColorStateLists.md.html b/docs/checks/UseCompatLoadingForColorStateLists.md.html index 64590f2e..83d0b131 100644 --- a/docs/checks/UseCompatLoadingForColorStateLists.md.html +++ b/docs/checks/UseCompatLoadingForColorStateLists.md.html @@ -48,17 +48,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -66,7 +66,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseCompatLoadingForDrawables.md.html b/docs/checks/UseCompatLoadingForDrawables.md.html index 613287a1..f1298f57 100644 --- a/docs/checks/UseCompatLoadingForDrawables.md.html +++ b/docs/checks/UseCompatLoadingForDrawables.md.html @@ -48,17 +48,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -66,7 +66,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseCompatTextViewDrawableApis.md.html b/docs/checks/UseCompatTextViewDrawableApis.md.html index 00a68bf4..d833d515 100644 --- a/docs/checks/UseCompatTextViewDrawableApis.md.html +++ b/docs/checks/UseCompatTextViewDrawableApis.md.html @@ -48,17 +48,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -66,7 +66,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseCompatTextViewDrawableXml.md.html b/docs/checks/UseCompatTextViewDrawableXml.md.html index e11d2453..fd60f04f 100644 --- a/docs/checks/UseCompatTextViewDrawableXml.md.html +++ b/docs/checks/UseCompatTextViewDrawableXml.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -70,7 +70,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseGetLayoutInflater.md.html b/docs/checks/UseGetLayoutInflater.md.html index dccb1b9c..6f397bef 100644 --- a/docs/checks/UseGetLayoutInflater.md.html +++ b/docs/checks/UseGetLayoutInflater.md.html @@ -100,17 +100,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -118,7 +118,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/UseOfNonLambdaOffsetOverload.md.html b/docs/checks/UseOfNonLambdaOffsetOverload.md.html index 27c41c60..73da3dcc 100644 --- a/docs/checks/UseOfNonLambdaOffsetOverload.md.html +++ b/docs/checks/UseOfNonLambdaOffsetOverload.md.html @@ -50,17 +50,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.foundation:foundation-android:1.7.0-alpha01") +implementation("androidx.compose.foundation:foundation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.foundation:foundation-android:1.7.0-alpha01' +implementation 'androidx.compose.foundation:foundation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.foundation-android) # libs.versions.toml [versions] -foundation-android = "1.7.0-alpha01" +foundation-android = "1.7.0-beta01" [libraries] foundation-android = { module = "androidx.compose.foundation:foundation-android", @@ -68,7 +68,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.foundation:foundation-android](androidx_compose_foundation_foundation-android.md.html). diff --git a/docs/checks/UseRequireInsteadOfGet.md.html b/docs/checks/UseRequireInsteadOfGet.md.html index eb1a544c..fe830ce4 100644 --- a/docs/checks/UseRequireInsteadOfGet.md.html +++ b/docs/checks/UseRequireInsteadOfGet.md.html @@ -169,17 +169,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -187,7 +187,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.fragment:fragment](androidx_fragment_fragment.md.html). diff --git a/docs/checks/UseRxSetProgress2.md.html b/docs/checks/UseRxSetProgress2.md.html index e206cd67..dccf0b30 100644 --- a/docs/checks/UseRxSetProgress2.md.html +++ b/docs/checks/UseRxSetProgress2.md.html @@ -54,17 +54,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -72,7 +72,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/UseSupportActionBar.md.html b/docs/checks/UseSupportActionBar.md.html index c5291d1e..2281753d 100644 --- a/docs/checks/UseSupportActionBar.md.html +++ b/docs/checks/UseSupportActionBar.md.html @@ -48,17 +48,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -66,7 +66,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseSwitchCompatOrMaterialCode.md.html b/docs/checks/UseSwitchCompatOrMaterialCode.md.html index 6558578a..11ce6d0b 100644 --- a/docs/checks/UseSwitchCompatOrMaterialCode.md.html +++ b/docs/checks/UseSwitchCompatOrMaterialCode.md.html @@ -38,7 +38,7 @@ Copyright Year : 2020 -Use `SwitchCompat` from AppCompat or `SwitchMaterial` from Material +Use `SwitchCompat` from AppCompat or `MaterialSwitch` from Material library. (##) Including @@ -49,17 +49,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -67,7 +67,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UseSwitchCompatOrMaterialXml.md.html b/docs/checks/UseSwitchCompatOrMaterialXml.md.html index 554b6cf3..a48e5dba 100644 --- a/docs/checks/UseSwitchCompatOrMaterialXml.md.html +++ b/docs/checks/UseSwitchCompatOrMaterialXml.md.html @@ -38,7 +38,7 @@ Copyright Year : 2020 -Use `SwitchCompat` from AppCompat or `SwitchMaterial` from Material +Use `SwitchCompat` from AppCompat or `MaterialSwitch` from Material library. (##) Including @@ -49,17 +49,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -67,7 +67,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/UsingMaterialAndMaterial3Libraries.md.html b/docs/checks/UsingMaterialAndMaterial3Libraries.md.html index 615f49ca..d9c19797 100644 --- a/docs/checks/UsingMaterialAndMaterial3Libraries.md.html +++ b/docs/checks/UsingMaterialAndMaterial3Libraries.md.html @@ -88,17 +88,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.material3:material3-android:1.2.0-rc01") +implementation("androidx.compose.material3:material3-android:1.3.0-beta01") // build.gradle -implementation 'androidx.compose.material3:material3-android:1.2.0-rc01' +implementation 'androidx.compose.material3:material3-android:1.3.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.material3-android) # libs.versions.toml [versions] -material3-android = "1.2.0-rc01" +material3-android = "1.3.0-beta01" [libraries] material3-android = { module = "androidx.compose.material3:material3-android", @@ -106,7 +106,7 @@ } ``` -1.2.0-rc01 is the version this documentation was generated from; +1.3.0-beta01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.compose.material3:material3-android](androidx_compose_material3_material3-android.md.html). diff --git a/docs/checks/UsingOnClickInXml.md.html b/docs/checks/UsingOnClickInXml.md.html index 0c14f262..e1ad2d52 100644 --- a/docs/checks/UsingOnClickInXml.md.html +++ b/docs/checks/UsingOnClickInXml.md.html @@ -49,17 +49,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -67,7 +67,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html). diff --git a/docs/checks/WearableActionDuplicate.md.html b/docs/checks/WearableActionDuplicate.md.html index efd7fecd..61287745 100644 --- a/docs/checks/WearableActionDuplicate.md.html +++ b/docs/checks/WearableActionDuplicate.md.html @@ -42,7 +42,7 @@ Here is an example of lint warnings produced by this check: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text -src/main/AndroidManifest.xml:20:Warning: Duplicate watch face +src/main/AndroidManifest.xml:36:Warning: Duplicate watch face configuration activities found [WearableActionDuplicate] <action android:name="androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR" /> diff --git a/docs/checks/WorkerHasAPublicModifier.md.html b/docs/checks/WorkerHasAPublicModifier.md.html index 1605745f..e4600389 100644 --- a/docs/checks/WorkerHasAPublicModifier.md.html +++ b/docs/checks/WorkerHasAPublicModifier.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -70,7 +70,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.work:work-runtime](androidx_work_work-runtime.md.html). diff --git a/docs/checks/WrongRequiresOptIn.md.html b/docs/checks/WrongRequiresOptIn.md.html index 01f91baa..7c1a5d38 100644 --- a/docs/checks/WrongRequiresOptIn.md.html +++ b/docs/checks/WrongRequiresOptIn.md.html @@ -52,17 +52,17 @@ ``` // build.gradle.kts -implementation("androidx.annotation:annotation-experimental:1.4.0") +implementation("androidx.annotation:annotation-experimental:1.4.1") // build.gradle -implementation 'androidx.annotation:annotation-experimental:1.4.0' +implementation 'androidx.annotation:annotation-experimental:1.4.1' // build.gradle.kts with version catalogs: implementation(libs.annotation-experimental) # libs.versions.toml [versions] -annotation-experimental = "1.4.0" +annotation-experimental = "1.4.1" [libraries] annotation-experimental = { module = "androidx.annotation:annotation-experimental", @@ -70,7 +70,7 @@ } ``` -1.4.0 is the version this documentation was generated from; +1.4.1 is the version this documentation was generated from; there may be newer versions available. [Additional details about androidx.annotation:annotation-experimental](androidx_annotation_annotation-experimental.md.html). diff --git a/docs/checks/WrongResourceImportAlias.md.html b/docs/checks/WrongResourceImportAlias.md.html index ed3a3a75..279b781d 100644 --- a/docs/checks/WrongResourceImportAlias.md.html +++ b/docs/checks/WrongResourceImportAlias.md.html @@ -108,17 +108,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -126,7 +126,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. [Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html). diff --git a/docs/checks/androidx_activity_activity-compose.md.html b/docs/checks/androidx_activity_activity-compose.md.html index efcf4e92..382dee0e 100644 --- a/docs/checks/androidx_activity_activity-compose.md.html +++ b/docs/checks/androidx_activity_activity-compose.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.activity:activity-compose:1.9.0-alpha02 +: androidx.activity:activity-compose:1.9.0 (##) Included Issues @@ -34,17 +34,17 @@ ``` // build.gradle.kts -implementation("androidx.activity:activity-compose:1.9.0-alpha02") +implementation("androidx.activity:activity-compose:1.9.0") // build.gradle -implementation 'androidx.activity:activity-compose:1.9.0-alpha02' +implementation 'androidx.activity:activity-compose:1.9.0' // build.gradle.kts with version catalogs: implementation(libs.activity-compose) # libs.versions.toml [versions] -activity-compose = "1.9.0-alpha02" +activity-compose = "1.9.0" [libraries] activity-compose = { module = "androidx.activity:activity-compose", @@ -52,7 +52,7 @@ } ``` -1.9.0-alpha02 is the version this documentation was generated from; +1.9.0 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -66,8 +66,7 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.9.0-alpha02|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.9.0-alpha01|2023/11/29| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.9.0|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.8.2|2023/12/13| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.8.1|2023/11/15| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.8.0|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_activity_activity.md.html b/docs/checks/androidx_activity_activity.md.html index 9f7c7d7e..ca5d46ee 100644 --- a/docs/checks/androidx_activity_activity.md.html +++ b/docs/checks/androidx_activity_activity.md.html @@ -18,13 +18,14 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.activity:activity:1.9.0-alpha02 +: androidx.activity:activity:1.9.0 (##) Included Issues -|Issue Id |Issue Description | -|------------------------------------------------------------------------------------------|---------------------------------------------------| -|[InvalidFragmentVersionForActivityResult](InvalidFragmentVersionForActivityResult.md.html)|Update to Fragment 1.3.0 to use ActivityResult APIs| +|Issue Id |Issue Description | +|------------------------------------------------------------------------------------------|----------------------------------------------------------| +|[InvalidFragmentVersionForActivityResult](InvalidFragmentVersionForActivityResult.md.html)|Update to Fragment 1.3.0 to use ActivityResult APIs | +|[InvalidUseOfOnBackPressed](InvalidUseOfOnBackPressed.md.html) |Do not call onBackPressed() within OnBackPressedDisptacher| (##) Including @@ -34,17 +35,17 @@ ``` // build.gradle.kts -implementation("androidx.activity:activity:1.9.0-alpha02") +implementation("androidx.activity:activity:1.9.0") // build.gradle -implementation 'androidx.activity:activity:1.9.0-alpha02' +implementation 'androidx.activity:activity:1.9.0' // build.gradle.kts with version catalogs: implementation(libs.activity) # libs.versions.toml [versions] -activity = "1.9.0-alpha02" +activity = "1.9.0" [libraries] activity = { module = "androidx.activity:activity", @@ -52,13 +53,14 @@ } ``` -1.9.0-alpha02 is the version this documentation was generated from; +1.9.0 is the version this documentation was generated from; there may be newer versions available. (##) Changes * 1.2.0: First version includes InvalidFragmentVersionForActivityResult. +* 1.9.0: Adds InvalidUseOfOnBackPressed. (##) Version Compatibility @@ -66,8 +68,7 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.9.0-alpha02|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.9.0-alpha01|2023/11/29| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.9.0|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.8.2|2023/12/13| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.8.1|2023/11/15| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.8.0|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_annotation_annotation-experimental.md.html b/docs/checks/androidx_annotation_annotation-experimental.md.html index b8ce3623..150091cc 100644 --- a/docs/checks/androidx_annotation_annotation-experimental.md.html +++ b/docs/checks/androidx_annotation_annotation-experimental.md.html @@ -20,7 +20,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.annotation:annotation-experimental:1.4.0 +: androidx.annotation:annotation-experimental:1.4.1 (##) Included Issues @@ -39,17 +39,17 @@ ``` // build.gradle.kts -implementation("androidx.annotation:annotation-experimental:1.4.0") +implementation("androidx.annotation:annotation-experimental:1.4.1") // build.gradle -implementation 'androidx.annotation:annotation-experimental:1.4.0' +implementation 'androidx.annotation:annotation-experimental:1.4.1' // build.gradle.kts with version catalogs: implementation(libs.annotation-experimental) # libs.versions.toml [versions] -annotation-experimental = "1.4.0" +annotation-experimental = "1.4.1" [libraries] annotation-experimental = { module = "androidx.annotation:annotation-experimental", @@ -57,7 +57,7 @@ } ``` -1.4.0 is the version this documentation was generated from; +1.4.1 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -75,6 +75,7 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.4.1|2024/04/03| 4| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.4.0|2024/01/24| 4| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.3.1|2023/06/21| 4| Yes| 7.3 and 7.4| 7.0| | 1.3.0|2022/09/07| 3| Yes| 7.3 and 7.4| 7.0| diff --git a/docs/checks/androidx_appcompat_appcompat.md.html b/docs/checks/androidx_appcompat_appcompat.md.html index 3ff62280..f5cc7bce 100644 --- a/docs/checks/androidx_appcompat_appcompat.md.html +++ b/docs/checks/androidx_appcompat_appcompat.md.html @@ -18,7 +18,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.appcompat:appcompat:1.7.0-alpha03 +: androidx.appcompat:appcompat:1.7.0-rc01 (##) Included Issues @@ -43,17 +43,17 @@ ``` // build.gradle.kts -implementation("androidx.appcompat:appcompat:1.7.0-alpha03") +implementation("androidx.appcompat:appcompat:1.7.0-rc01") // build.gradle -implementation 'androidx.appcompat:appcompat:1.7.0-alpha03' +implementation 'androidx.appcompat:appcompat:1.7.0-rc01' // build.gradle.kts with version catalogs: implementation(libs.appcompat) # libs.versions.toml [versions] -appcompat = "1.7.0-alpha03" +appcompat = "1.7.0-rc01" [libraries] appcompat = { module = "androidx.appcompat:appcompat", @@ -61,7 +61,7 @@ } ``` -1.7.0-alpha03 is the version this documentation was generated from; +1.7.0-rc01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -78,6 +78,8 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-rc01|2024/05/14| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-beta01|2024/05/01| 10| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha03|2023/07/26| 10| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha02|2023/02/08| 10| Yes| 7.3 and 7.4| 7.0| | 1.7.0-alpha01|2022/10/05| 10| Yes| 7.3 and 7.4| 7.0| diff --git a/docs/checks/androidx_compose_animation_animation-android.md.html b/docs/checks/androidx_compose_animation_animation-android.md.html index c160b67b..49022080 100644 --- a/docs/checks/androidx_compose_animation_animation-android.md.html +++ b/docs/checks/androidx_compose_animation_animation-android.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.animation:animation-android:1.7.0-alpha01 +: androidx.compose.animation:animation-android:1.7.0-beta01 (##) Included Issues @@ -34,17 +34,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-android) # libs.versions.toml [versions] -animation-android = "1.7.0-alpha01" +animation-android = "1.7.0-beta01" [libraries] animation-android = { module = "androidx.compose.animation:animation-android", @@ -52,7 +52,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -66,7 +66,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_animation_animation-core-android.md.html b/docs/checks/androidx_compose_animation_animation-core-android.md.html index 32af25f1..9343da08 100644 --- a/docs/checks/androidx_compose_animation_animation-core-android.md.html +++ b/docs/checks/androidx_compose_animation_animation-core-android.md.html @@ -18,7 +18,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.animation:animation-core-android:1.7.0-alpha01 +: androidx.compose.animation:animation-core-android:1.7.0-beta01 (##) Included Issues @@ -36,17 +36,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.animation:animation-core-android:1.7.0-alpha01") +implementation("androidx.compose.animation:animation-core-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.animation:animation-core-android:1.7.0-alpha01' +implementation 'androidx.compose.animation:animation-core-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.animation-core-android) # libs.versions.toml [versions] -animation-core-android = "1.7.0-alpha01" +animation-core-android = "1.7.0-beta01" [libraries] animation-core-android = { module = "androidx.compose.animation:animation-core-android", @@ -54,7 +54,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -69,7 +69,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 3| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_animation_animation-core.md.html b/docs/checks/androidx_compose_animation_animation-core.md.html deleted file mode 100644 index 1418d0dd..00000000 --- a/docs/checks/androidx_compose_animation_animation-core.md.html +++ /dev/null @@ -1,95 +0,0 @@ -(#) androidx.compose.animation:animation-core - -Name -: Compose Animation Core -Description -: Animation engine and animation primitives that are the building blocks -: of the Compose animation library -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.animation.core -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.animation:animation-core:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|------------------------------------------------------------------------------------|----------------------------------------------------------------------------------| -|[UnusedTransitionTargetStateParameter](UnusedTransitionTargetStateParameter.md.html)|Transition.animate* calls should use the provided targetState when defining values| -|[UnrememberedAnimatable](UnrememberedAnimatable.md.html) |Creating an Animatable during composition without using `remember` | - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.animation:animation-core:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.animation:animation-core:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.animation-core) - -# libs.versions.toml -[versions] -animation-core = "1.5.0-beta02" -[libraries] -animation-core = { - module = "androidx.compose.animation:animation-core", - version.ref = "animation-core" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes UnrememberedAnimatable, - UnusedTransitionTargetStateParameter. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.3.3|2023/01/11| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.2|2022/12/07| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.1|2022/11/09| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 2| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 2| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 2| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 2| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 2| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 2| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 2| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 2| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 2| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_animation_animation.md.html b/docs/checks/androidx_compose_animation_animation.md.html deleted file mode 100644 index 0840577f..00000000 --- a/docs/checks/androidx_compose_animation_animation.md.html +++ /dev/null @@ -1,94 +0,0 @@ -(#) androidx.compose.animation:animation - -Name -: Compose Animation -Description -: Compose animation library -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.animation -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.animation:animation:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------| -|[UnusedCrossfadeTargetStateParameter](UnusedCrossfadeTargetStateParameter.md.html) |Crossfade calls should use the provided `T` parameter in the content lambda | -|[UnusedContentLambdaTargetStateParameter](UnusedContentLambdaTargetStateParameter.md.html)|AnimatedContent calls should use the provided `T` parameter in the content lambda| - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.animation:animation:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.animation:animation:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.animation) - -# libs.versions.toml -[versions] -animation = "1.5.0-beta02" -[libraries] -animation = { - module = "androidx.compose.animation:animation", - version.ref = "animation" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes UnusedCrossfadeTargetStateParameter. -* 1.5.0-alpha04: Adds UnusedContentLambdaTargetStateParameter. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 1| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 1| Yes| 8.0 and 8.1| 7.0| -| 1.3.3|2023/01/11| 1| Yes| 7.3 and 7.4| 7.0| -| 1.3.2|2022/12/07| 1| Yes| 7.3 and 7.4| 7.0| -| 1.3.1|2022/11/09| 1| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 1| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 1| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 1| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 1| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 1| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 1| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 1| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 1| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 1| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 1| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 1| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_foundation_foundation-android.md.html b/docs/checks/androidx_compose_foundation_foundation-android.md.html index dbfd3b0c..22be33d6 100644 --- a/docs/checks/androidx_compose_foundation_foundation-android.md.html +++ b/docs/checks/androidx_compose_foundation_foundation-android.md.html @@ -19,7 +19,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.foundation:foundation-android:1.7.0-alpha01 +: androidx.compose.foundation:foundation-android:1.7.0-beta01 (##) Included Issues @@ -38,17 +38,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.foundation:foundation-android:1.7.0-alpha01") +implementation("androidx.compose.foundation:foundation-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.foundation:foundation-android:1.7.0-alpha01' +implementation 'androidx.compose.foundation:foundation-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.foundation-android) # libs.versions.toml [versions] -foundation-android = "1.7.0-alpha01" +foundation-android = "1.7.0-beta01" [libraries] foundation-android = { module = "androidx.compose.foundation:foundation-android", @@ -56,7 +56,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -72,7 +72,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 4| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 4| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 4| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 4| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_foundation_foundation.md.html b/docs/checks/androidx_compose_foundation_foundation.md.html deleted file mode 100644 index b5ad6c3d..00000000 --- a/docs/checks/androidx_compose_foundation_foundation.md.html +++ /dev/null @@ -1,87 +0,0 @@ -(#) androidx.compose.foundation:foundation - -Name -: Compose Foundation -Description -: Higher level abstractions of the Compose UI primitives. This library is -: design system agnostic, providing the high-level building blocks for -: both application and design-system developers -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.foundation -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.foundation:foundation:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------| -|[FrequentlyChangedStateReadInComposition](FrequentlyChangedStateReadInComposition.md.html)|Frequently changing state should not be directly read in composable function | -|[UseOfNonLambdaOffsetOverload](UseOfNonLambdaOffsetOverload.md.html) |Modifier.offset{ } is preferred over Modifier.offset() for `State` backed arguments.| - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.foundation:foundation:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.foundation:foundation:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.foundation) - -# libs.versions.toml -[versions] -foundation = "1.5.0-beta02" -[libraries] -foundation = { - module = "androidx.compose.foundation:foundation", - version.ref = "foundation" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.2.0: First version includes - FrequentlyChangedStateReadInComposition. -* 1.3.0: Adds UseOfNonLambdaOffsetOverload. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.3.1|2022/11/09| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 1| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 1| Yes| 7.3 and 7.4| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_material3_material3-android.md.html b/docs/checks/androidx_compose_material3_material3-android.md.html index cffa9469..e0096318 100644 --- a/docs/checks/androidx_compose_material3_material3-android.md.html +++ b/docs/checks/androidx_compose_material3_material3-android.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.material3:material3-android:1.2.0-rc01 +: androidx.compose.material3:material3-android:1.3.0-beta01 (##) Included Issues @@ -34,17 +34,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.material3:material3-android:1.2.0-rc01") +implementation("androidx.compose.material3:material3-android:1.3.0-beta01") // build.gradle -implementation 'androidx.compose.material3:material3-android:1.2.0-rc01' +implementation 'androidx.compose.material3:material3-android:1.3.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.material3-android) # libs.versions.toml [versions] -material3-android = "1.2.0-rc01" +material3-android = "1.3.0-beta01" [libraries] material3-android = { module = "androidx.compose.material3:material3-android", @@ -52,14 +52,13 @@ } ``` -1.2.0-rc01 is the version this documentation was generated from; +1.3.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes -* 1.2.0-alpha02: First version includes - UnusedMaterial3ScaffoldPaddingParameter. -* 1.2.0-alpha04: Adds UsingMaterialAndMaterial3Libraries. +* 1.2.0: First version includes UnusedMaterial3ScaffoldPaddingParameter, + UsingMaterialAndMaterial3Libraries. (##) Version Compatibility @@ -67,19 +66,14 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.2.0-rc01|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-beta02|2024/01/10| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-beta01|2023/12/13| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha12|2023/11/29| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha11|2023/11/15| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha10|2023/10/18| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha09|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha08|2023/09/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha07|2023/09/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha06|2023/08/23| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha05|2023/08/09| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha04|2023/07/26| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha03|2023/06/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha02|2023/05/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-beta01|2024/05/14| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-alpha06|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-alpha05|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-alpha04|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-alpha03|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-alpha02|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0-alpha01|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.1|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| \ No newline at end of file diff --git a/docs/checks/androidx_compose_material3_material3.md.html b/docs/checks/androidx_compose_material3_material3.md.html deleted file mode 100644 index 94539747..00000000 --- a/docs/checks/androidx_compose_material3_material3.md.html +++ /dev/null @@ -1,74 +0,0 @@ -(#) androidx.compose.material3:material3 - -Name -: Compose Material3 Components -Description -: Compose Material You Design Components library -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.material3 -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.material3:material3:1.2.0-alpha02 - -(##) Included Issues - -|Issue Id |Issue Description | -|------------------------------------------------------------------------------------------|----------------------------------------------------------------------| -|[UnusedMaterial3ScaffoldPaddingParameter](UnusedMaterial3ScaffoldPaddingParameter.md.html)|Scaffold content should use the padding provided as a lambda parameter| - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.material3:material3:1.2.0-alpha02") - -// build.gradle -implementation 'androidx.compose.material3:material3:1.2.0-alpha02' - -// build.gradle.kts with version catalogs: -implementation(libs.material3) - -# libs.versions.toml -[versions] -material3 = "1.2.0-alpha02" -[libraries] -material3 = { - module = "androidx.compose.material3:material3", - version.ref = "material3" -} -``` - -1.2.0-alpha02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes - UnusedMaterial3ScaffoldPaddingParameter. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.2.0-alpha02|2023/05/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.2.0-alpha01|2023/05/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.1.0|2023/05/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.0.1|2022/11/09| 1| Yes| 7.3 and 7.4| 7.0| -| 1.0.0|2022/10/24| 1| Yes| 7.3 and 7.4| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_material_material-android.md.html b/docs/checks/androidx_compose_material_material-android.md.html index 84ff2e7b..5a65e691 100644 --- a/docs/checks/androidx_compose_material_material-android.md.html +++ b/docs/checks/androidx_compose_material_material-android.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.material:material-android:1.7.0-alpha01 +: androidx.compose.material:material-android:1.7.0-beta01 (##) Included Issues @@ -34,17 +34,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.material:material-android:1.7.0-alpha01") +implementation("androidx.compose.material:material-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.material:material-android:1.7.0-alpha01' +implementation 'androidx.compose.material:material-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.material-android) # libs.versions.toml [versions] -material-android = "1.7.0-alpha01" +material-android = "1.7.0-beta01" [libraries] material-android = { module = "androidx.compose.material:material-android", @@ -52,7 +52,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -66,7 +66,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_material_material.md.html b/docs/checks/androidx_compose_material_material.md.html deleted file mode 100644 index fcab90a3..00000000 --- a/docs/checks/androidx_compose_material_material.md.html +++ /dev/null @@ -1,92 +0,0 @@ -(#) androidx.compose.material:material - -Name -: Compose Material Components -Description -: Compose Material Design Components library -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.material -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.material:material:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|----------------------------------------------------------------------------------------|----------------------------------------------------------------------| -|[ConflictingOnColor](ConflictingOnColor.md.html) |Background colors with the same value should have the same 'on' color | -|[UnusedMaterialScaffoldPaddingParameter](UnusedMaterialScaffoldPaddingParameter.md.html)|Scaffold content should use the padding provided as a lambda parameter| - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.material:material:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.material:material:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.material) - -# libs.versions.toml -[versions] -material = "1.5.0-beta02" -[libraries] -material = { - module = "androidx.compose.material:material", - version.ref = "material" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes ConflictingOnColor. -* 1.2.0: Adds UnusedMaterialScaffoldPaddingParameter. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.3.1|2022/11/09| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 2| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 1| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 1| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 1| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 1| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 1| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 1| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 1| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 1| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_runtime_runtime-android.md.html b/docs/checks/androidx_compose_runtime_runtime-android.md.html index 2487b44b..a0f0f137 100644 --- a/docs/checks/androidx_compose_runtime_runtime-android.md.html +++ b/docs/checks/androidx_compose_runtime_runtime-android.md.html @@ -18,7 +18,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.runtime:runtime-android:1.7.0-alpha01 +: androidx.compose.runtime:runtime-android:1.7.0-beta01 (##) Included Issues @@ -47,17 +47,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-android) # libs.versions.toml [versions] -runtime-android = "1.7.0-alpha01" +runtime-android = "1.7.0-beta01" [libraries] runtime-android = { module = "androidx.compose.runtime:runtime-android", @@ -65,7 +65,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -84,7 +84,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 14| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 14| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 14| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 14| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 14| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 14| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_runtime_runtime-saveable-android.md.html b/docs/checks/androidx_compose_runtime_runtime-saveable-android.md.html index 762fd407..263560f7 100644 --- a/docs/checks/androidx_compose_runtime_runtime-saveable-android.md.html +++ b/docs/checks/androidx_compose_runtime_runtime-saveable-android.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.runtime:runtime-saveable-android:1.7.0-alpha01 +: androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01 (##) Included Issues @@ -33,17 +33,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.runtime:runtime-saveable-android:1.7.0-alpha01") +implementation("androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.runtime:runtime-saveable-android:1.7.0-alpha01' +implementation 'androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.runtime-saveable-android) # libs.versions.toml [versions] -runtime-saveable-android = "1.7.0-alpha01" +runtime-saveable-android = "1.7.0-beta01" [libraries] runtime-saveable-android = { module = "androidx.compose.runtime:runtime-saveable-android", @@ -51,7 +51,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -64,7 +64,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_runtime_runtime-saveable.md.html b/docs/checks/androidx_compose_runtime_runtime-saveable.md.html deleted file mode 100644 index 7632523b..00000000 --- a/docs/checks/androidx_compose_runtime_runtime-saveable.md.html +++ /dev/null @@ -1,92 +0,0 @@ -(#) androidx.compose.runtime:runtime-saveable - -Name -: Compose Saveable -Description -: Compose components that allow saving and restoring the local ui state -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.runtime.saveable -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.runtime:runtime-saveable:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|------------------------------------------------------------------------|------------------------------------------------------------------------------------------| -|[RememberSaveableSaverParameter](RememberSaveableSaverParameter.md.html)|`Saver` objects should be passed to the saver parameter, not the vararg `inputs` parameter| - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.runtime:runtime-saveable:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.runtime:runtime-saveable:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.runtime-saveable) - -# libs.versions.toml -[versions] -runtime-saveable = "1.5.0-beta02" -[libraries] -runtime-saveable = { - module = "androidx.compose.runtime:runtime-saveable", - version.ref = "runtime-saveable" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes RememberSaveableSaverParameter. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 1| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 1| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 1| Yes| 8.0 and 8.1| 7.0| -| 1.3.3|2023/01/11| 1| Yes| 7.3 and 7.4| 7.0| -| 1.3.2|2022/12/07| 1| Yes| 7.3 and 7.4| 7.0| -| 1.3.1|2022/11/09| 1| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 1| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 1| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 1| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 1| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 1| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 1| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 1| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 1| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 1| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 1| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 1| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_runtime_runtime.md.html b/docs/checks/androidx_compose_runtime_runtime.md.html deleted file mode 100644 index d0315578..00000000 --- a/docs/checks/androidx_compose_runtime_runtime.md.html +++ /dev/null @@ -1,114 +0,0 @@ -(#) androidx.compose.runtime:runtime - -Name -: Compose Runtime -Description -: Tree composition support for code generated by the Compose compiler -: plugin and corresponding public API -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.runtime -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.runtime:runtime:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| -|[AutoboxingStateValueProperty](AutoboxingStateValueProperty.md.html) |State access causes value to be autoboxed | -|[AutoboxingStateCreation](AutoboxingStateCreation.md.html) |`State` will autobox values assigned to this state. Use a specialized state type instead.| -|[CoroutineCreationDuringComposition](CoroutineCreationDuringComposition.md.html)|Calls to `async` or `launch` should happen inside a LaunchedEffect and not composition | -|[FlowOperatorInvokedInComposition](FlowOperatorInvokedInComposition.md.html) |Flow operator functions should not be invoked within composition | -|[ComposableLambdaParameterNaming](ComposableLambdaParameterNaming.md.html) |Primary composable lambda parameter not named `content` | -|[ComposableLambdaParameterPosition](ComposableLambdaParameterPosition.md.html) |Non-trailing primary composable lambda parameter | -|[ComposableNaming](ComposableNaming.md.html) |Incorrect naming for @Composable functions | -|[StateFlowValueCalledInComposition](StateFlowValueCalledInComposition.md.html) |StateFlow.value should not be called within composition | -|[CompositionLocalNaming](CompositionLocalNaming.md.html) |CompositionLocal properties should be prefixed with `Local` | -|[MutableCollectionMutableState](MutableCollectionMutableState.md.html) |Creating a MutableState object with a mutable collection type | -|[ProduceStateDoesNotAssignValue](ProduceStateDoesNotAssignValue.md.html) |produceState calls should assign `value` inside the producer lambda | -|[RememberReturnType](RememberReturnType.md.html) |`remember` calls must not return `Unit` | -|[OpaqueUnitKey](OpaqueUnitKey.md.html) |Passing an expression which always returns `Unit` as a key argument | -|[UnrememberedMutableState](UnrememberedMutableState.md.html) |Creating a state object during composition without using `remember` | - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.runtime:runtime:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.runtime:runtime:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.runtime) - -# libs.versions.toml -[versions] -runtime = "1.5.0-beta02" -[libraries] -runtime = { - module = "androidx.compose.runtime:runtime", - version.ref = "runtime" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes ComposableLambdaParameterNaming, - ComposableLambdaParameterPosition, ComposableNaming, - CompositionLocalNaming, CoroutineCreationDuringComposition, - RememberReturnType, UnrememberedMutableState. -* 1.1.0: Adds FlowOperatorInvokedInComposition, - MutableCollectionMutableState, ProduceStateDoesNotAssignValue, - StateFlowValueCalledInComposition. -* 1.5.0-alpha04: Adds AutoboxingStateValueProperty. -* 1.5.0-beta01: Adds AutoboxingStateCreation, OpaqueUnitKey. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 14| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 14| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 12| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 11| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 11| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 11| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 11| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 11| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 11| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 11| Yes| 8.0 and 8.1| 7.0| -| 1.3.3|2023/01/11| 11| Yes| 7.3 and 7.4| 7.0| -| 1.3.2|2022/12/07| 11| Yes| 7.3 and 7.4| 7.0| -| 1.3.1|2022/11/09| 11| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 11| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 11| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 11| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 11| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 11| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 7| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 7| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 7| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 7| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 7| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 7| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_ui_ui-android.md.html b/docs/checks/androidx_compose_ui_ui-android.md.html index 4cf0b1dc..ff870cce 100644 --- a/docs/checks/androidx_compose_ui_ui-android.md.html +++ b/docs/checks/androidx_compose_ui_ui-android.md.html @@ -14,11 +14,11 @@ Feedback : https://issuetracker.google.com/issues/new?component=612128 Min -: Lint 7.0 +: Lint 8.0 and 8.1 Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.ui:ui-android:1.7.0-alpha01 +: androidx.compose.ui:ui-android:1.7.0-beta01 (##) Included Issues @@ -33,6 +33,7 @@ |[MultipleAwaitPointerEventScopes](MultipleAwaitPointerEventScopes.md.html) |Suspicious use of multiple awaitPointerEventScope blocks. Using multiple awaitPointerEventScope blocks may cause some input events to be dropped.| |[ReturnFromAwaitPointerEventScope](ReturnFromAwaitPointerEventScope.md.html) |Returning from awaitPointerEventScope may cause some input events to be dropped | |[SuspiciousCompositionLocalModifierRead](SuspiciousCompositionLocalModifierRead.md.html)|CompositionLocals should not be read in Modifier.onAttach() or Modifier.onDetach() | +|[SuspiciousModifierThen](SuspiciousModifierThen.md.html) |Using Modifier.then with a Modifier factory function with an implicit receiver | (##) Including @@ -42,17 +43,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-android) # libs.versions.toml [versions] -ui-android = "1.7.0-alpha01" +ui-android = "1.7.0-beta01" [libraries] ui-android = { module = "androidx.compose.ui:ui-android", @@ -60,7 +61,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -73,6 +74,7 @@ SuspiciousCompositionLocalModifierRead, UnnecessaryComposedModifier. * 1.6.0: Removes ComposableModifierFactory. +* 1.7.0-alpha02: Adds SuspiciousModifierThen. (##) Version Compatibility @@ -80,7 +82,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 10| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 10| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 10| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 10| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_ui_ui-graphics-android.md.html b/docs/checks/androidx_compose_ui_ui-graphics-android.md.html index 90410f6d..ab66787e 100644 --- a/docs/checks/androidx_compose_ui_ui-graphics-android.md.html +++ b/docs/checks/androidx_compose_ui_ui-graphics-android.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.ui:ui-graphics-android:1.7.0-alpha01 +: androidx.compose.ui:ui-graphics-android:1.7.0-beta01 (##) Included Issues @@ -34,17 +34,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-graphics-android:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-graphics-android:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-graphics-android:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-graphics-android:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-graphics-android) # libs.versions.toml [versions] -ui-graphics-android = "1.7.0-alpha01" +ui-graphics-android = "1.7.0-beta01" [libraries] ui-graphics-android = { module = "androidx.compose.ui:ui-graphics-android", @@ -52,7 +52,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -66,7 +66,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07| | 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 2| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 2| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 2| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_ui_ui-graphics.md.html b/docs/checks/androidx_compose_ui_ui-graphics.md.html deleted file mode 100644 index 3b37b136..00000000 --- a/docs/checks/androidx_compose_ui_ui-graphics.md.html +++ /dev/null @@ -1,94 +0,0 @@ -(#) androidx.compose.ui:ui-graphics - -Name -: Compose Graphics -Description -: Compose graphics -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.ui.graphics -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.ui:ui-graphics:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|------------------------------------------------------------|---------------------------| -|[MissingColorAlphaChannel](MissingColorAlphaChannel.md.html)|Missing Color alpha channel| -|[InvalidColorHexValue](InvalidColorHexValue.md.html) |Invalid Color hex value | - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.ui:ui-graphics:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.ui:ui-graphics:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.ui-graphics) - -# libs.versions.toml -[versions] -ui-graphics = "1.5.0-beta02" -[libraries] -ui-graphics = { - module = "androidx.compose.ui:ui-graphics", - version.ref = "ui-graphics" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes InvalidColorHexValue, - MissingColorAlphaChannel. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 2| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 2| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 2| Yes| 8.0 and 8.1| 7.0| -| 1.3.3|2023/01/11| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.2|2022/12/07| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.1|2022/11/09| 2| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 2| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 2| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 2| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 2| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 2| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 2| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 2| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 2| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 2| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 2| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_compose_ui_ui-test-manifest.md.html b/docs/checks/androidx_compose_ui_ui-test-manifest.md.html index bcde774c..89c4e4bb 100644 --- a/docs/checks/androidx_compose_ui_ui-test-manifest.md.html +++ b/docs/checks/androidx_compose_ui_ui-test-manifest.md.html @@ -19,7 +19,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.compose.ui:ui-test-manifest:1.7.0-alpha01 +: androidx.compose.ui:ui-test-manifest:1.7.0-beta01 (##) Included Issues @@ -35,17 +35,17 @@ ``` // build.gradle.kts -implementation("androidx.compose.ui:ui-test-manifest:1.7.0-alpha01") +implementation("androidx.compose.ui:ui-test-manifest:1.7.0-beta01") // build.gradle -implementation 'androidx.compose.ui:ui-test-manifest:1.7.0-alpha01' +implementation 'androidx.compose.ui:ui-test-manifest:1.7.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.ui-test-manifest) # libs.versions.toml [versions] -ui-test-manifest = "1.7.0-alpha01" +ui-test-manifest = "1.7.0-beta01" [libraries] ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", @@ -53,7 +53,7 @@ } ``` -1.7.0-alpha01 is the version this documentation was generated from; +1.7.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -66,7 +66,22 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha05|2024/03/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha04|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha03|2024/02/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha02|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.7.0-alpha01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.7|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.6|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.5|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.4|2024/03/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.3|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.2|2024/02/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.6.1|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.4|2023/10/18| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.5.3|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_compose_ui_ui-text-android.md.html b/docs/checks/androidx_compose_ui_ui-text-android.md.html new file mode 100644 index 00000000..6199c991 --- /dev/null +++ b/docs/checks/androidx_compose_ui_ui-text-android.md.html @@ -0,0 +1,72 @@ +(#) androidx.compose.ui:ui-text-android + +Name +: Compose UI Text +Description +: Compose Text primitives and utilities +License +: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +Vendor +: Jetpack Compose +Identifier +: androidx.compose.ui.text +Feedback +: https://issuetracker.google.com/issues/new?component=779818 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: androidx.compose.ui:ui-text-android:1.7.0-beta01 + +(##) Included Issues + +|Issue Id |Issue Description | +|------------------------------------------------------------------|-----------------------------------------------------| +|[InvalidLanguageTagDelimiter](InvalidLanguageTagDelimiter.md.html)|Undercore (_) is an unsupported delimiter for subtags| + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.compose.ui:ui-text-android:1.7.0-beta01") + +// build.gradle +implementation 'androidx.compose.ui:ui-text-android:1.7.0-beta01' + +// build.gradle.kts with version catalogs: +implementation(libs.ui-text-android) + +# libs.versions.toml +[versions] +ui-text-android = "1.7.0-beta01" +[libraries] +ui-text-android = { + module = "androidx.compose.ui:ui-text-android", + version.ref = "ui-text-android" +} +``` + +1.7.0-beta01 is the version this documentation was generated from; +there may be newer versions available. + +(##) Changes + +* 1.7.0-alpha06: First version includes InvalidLanguageTagDelimiter. + +(##) Version Compatibility + +There are multiple older versions available of this library: + +| Version | Date | Issues | Compatible | Compiled | Requires | +|-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.7.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha08|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha07|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0-alpha06|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| + + \ No newline at end of file diff --git a/docs/checks/androidx_compose_ui_ui.md.html b/docs/checks/androidx_compose_ui_ui.md.html deleted file mode 100644 index 88db9302..00000000 --- a/docs/checks/androidx_compose_ui_ui.md.html +++ /dev/null @@ -1,109 +0,0 @@ -(#) androidx.compose.ui:ui - -Name -: Compose UI -Description -: Compose UI primitives. This library contains the primitives that form -: the Compose UI Toolkit, such as drawing, measurement and layout. -License -: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -Vendor -: Jetpack Compose -Identifier -: androidx.compose.ui -Feedback -: https://issuetracker.google.com/issues/new?component=612128 -Min -: Lint 7.0 -Compiled -: Lint 8.0 and 8.1 -Artifact -: androidx.compose.ui:ui:1.5.0-beta02 - -(##) Included Issues - -|Issue Id |Issue Description | -|----------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -|[UnnecessaryComposedModifier](UnnecessaryComposedModifier.md.html) |Modifier.composed should only be used for modifiers that invoke @Composable functions | -|[ComposableModifierFactory](ComposableModifierFactory.md.html) |Modifier factory functions should not be @Composable | -|[ModifierFactoryExtensionFunction](ModifierFactoryExtensionFunction.md.html) |Modifier factory functions should be extensions on Modifier | -|[ModifierFactoryReturnType](ModifierFactoryReturnType.md.html) |Modifier factory functions should return Modifier | -|[ModifierFactoryUnreferencedReceiver](ModifierFactoryUnreferencedReceiver.md.html) |Modifier factory functions must use the receiver Modifier instance | -|[ModifierNodeInspectableProperties](ModifierNodeInspectableProperties.md.html) |ModifierNodeElement missing inspectableProperties | -|[ModifierParameter](ModifierParameter.md.html) |Guidelines for Modifier parameters in a Composable function | -|[ReturnFromAwaitPointerEventScope](ReturnFromAwaitPointerEventScope.md.html) |Returning from awaitPointerEventScope may cause some input events to be dropped | -|[SuspiciousCompositionLocalModifierRead](SuspiciousCompositionLocalModifierRead.md.html)|CompositionLocals should not be read in Modifier.onAttach() or Modifier.onDetach() | -|[MultipleAwaitPointerEventScopes](MultipleAwaitPointerEventScopes.md.html) |Suspicious use of multiple awaitPointerEventScope blocks. Using multiple awaitPointerEventScope blocks may cause some input events to be dropped.| - -(##) Including - -!!! - This is not a built-in check. To include it, add the below dependency - to your project. - -``` -// build.gradle.kts -implementation("androidx.compose.ui:ui:1.5.0-beta02") - -// build.gradle -implementation 'androidx.compose.ui:ui:1.5.0-beta02' - -// build.gradle.kts with version catalogs: -implementation(libs.ui) - -# libs.versions.toml -[versions] -ui = "1.5.0-beta02" -[libraries] -ui = { - module = "androidx.compose.ui:ui", - version.ref = "ui" -} -``` - -1.5.0-beta02 is the version this documentation was generated from; -there may be newer versions available. - -(##) Changes - -* 1.0.0: First version includes ComposableModifierFactory, - ModifierFactoryExtensionFunction, ModifierFactoryReturnType, - ModifierFactoryUnreferencedReceiver, ModifierParameter, - UnnecessaryComposedModifier. -* 1.3.0: Adds MultipleAwaitPointerEventScopes, - ReturnFromAwaitPointerEventScope. -* 1.4.0: Adds ModifierNodeInspectableProperties. -* 1.5.0-alpha01: Adds SuspiciousCompositionLocalModifierRead. - -(##) Version Compatibility - -There are multiple older versions available of this library: - -| Version | Date | Issues | Compatible | Compiled | Requires | -|-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.5.0-beta02|2023/06/07| 10| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-beta01|2023/05/24| 10| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha04|2023/05/10| 10| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha03|2023/04/19| 10| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.5.0-alpha02|2023/04/05| 10| Yes| 8.0 and 8.1| 7.0| -| 1.5.0-alpha01|2023/03/22| 10| Yes| 8.0 and 8.1| 7.0| -| 1.4.3|2023/05/03| 9| Yes| 8.0 and 8.1| 7.0| -| 1.4.2|2023/04/19| 9| Yes| 8.0 and 8.1| 7.0| -| 1.4.1|2023/04/05| 9| Yes| 8.0 and 8.1| 7.0| -| 1.4.0|2023/03/22| 9| Yes| 8.0 and 8.1| 7.0| -| 1.3.3|2023/01/11| 8| Yes| 7.3 and 7.4| 7.0| -| 1.3.2|2022/12/07| 8| Yes| 7.3 and 7.4| 7.0| -| 1.3.1|2022/11/09| 8| Yes| 7.3 and 7.4| 7.0| -| 1.3.0|2022/10/24| 8| Yes| 7.3 and 7.4| 7.0| -| 1.2.1|2022/08/10| 6| Yes| 7.3 and 7.4| 7.0| -| 1.2.0|2022/07/27| 6| Yes| 7.3 and 7.4| 7.0| -| 1.1.1|2022/02/23| 6| Yes| 7.1| 7.0| -| 1.1.0|2022/02/09| 6| Yes| 7.1| 7.0| -| 1.0.5|2021/11/03| 6| Yes| 7.0| 7.0| -| 1.0.4|2021/10/13| 6| Yes| 7.0| 7.0| -| 1.0.3|2021/09/29| 6| Yes| 7.0| 7.0| -| 1.0.2|2021/09/01| 6| Yes| 7.0| 7.0| -| 1.0.1|2021/08/04| 6| Yes| 7.0| 7.0| -| 1.0.0|2021/07/28| 6| Yes| 7.0| 7.0| - - \ No newline at end of file diff --git a/docs/checks/androidx_fragment_fragment-testing-manifest.md.html b/docs/checks/androidx_fragment_fragment-testing-manifest.md.html index 99316c84..6a4c1d34 100644 --- a/docs/checks/androidx_fragment_fragment-testing-manifest.md.html +++ b/docs/checks/androidx_fragment_fragment-testing-manifest.md.html @@ -19,7 +19,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.fragment:fragment-testing-manifest:1.7.0-alpha09 +: androidx.fragment:fragment-testing-manifest:1.8.0-beta01 (##) Included Issues @@ -35,17 +35,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment-testing-manifest:1.7.0-alpha09") +implementation("androidx.fragment:fragment-testing-manifest:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment-testing-manifest:1.7.0-alpha09' +implementation 'androidx.fragment:fragment-testing-manifest:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment-testing-manifest) # libs.versions.toml [versions] -fragment-testing-manifest = "1.7.0-alpha09" +fragment-testing-manifest = "1.8.0-beta01" [libraries] fragment-testing-manifest = { module = "androidx.fragment:fragment-testing-manifest", @@ -53,7 +53,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -66,15 +66,11 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.7.0-alpha09|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha08|2024/01/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha07|2023/11/29| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha06|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha05|2023/09/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha04|2023/09/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha03|2023/08/23| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha02|2023/08/09| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha01|2023/06/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-alpha02|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-alpha01|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.1|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.2|2023/11/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.1|2023/07/26| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2023/06/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_fragment_fragment-testing.md.html b/docs/checks/androidx_fragment_fragment-testing.md.html index b3fc1fa0..c123e537 100644 --- a/docs/checks/androidx_fragment_fragment-testing.md.html +++ b/docs/checks/androidx_fragment_fragment-testing.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.fragment:fragment-testing:1.7.0-alpha09 +: androidx.fragment:fragment-testing:1.8.0-beta01 (##) Included Issues @@ -33,17 +33,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment-testing:1.7.0-alpha09") +implementation("androidx.fragment:fragment-testing:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment-testing:1.7.0-alpha09' +implementation 'androidx.fragment:fragment-testing:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment-testing) # libs.versions.toml [versions] -fragment-testing = "1.7.0-alpha09" +fragment-testing = "1.8.0-beta01" [libraries] fragment-testing = { module = "androidx.fragment:fragment-testing", @@ -51,7 +51,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -64,15 +64,11 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.7.0-alpha09|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha08|2024/01/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha07|2023/11/29| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha06|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha05|2023/09/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha04|2023/09/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha03|2023/08/23| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha02|2023/08/09| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha01|2023/06/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-alpha02|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-alpha01|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.1|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.2|2023/11/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.1|2023/07/26| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2023/06/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_fragment_fragment.md.html b/docs/checks/androidx_fragment_fragment.md.html index 5567f645..ad16d23b 100644 --- a/docs/checks/androidx_fragment_fragment.md.html +++ b/docs/checks/androidx_fragment_fragment.md.html @@ -20,7 +20,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.fragment:fragment:1.7.0-alpha09 +: androidx.fragment:fragment:1.8.0-beta01 (##) Included Issues @@ -44,17 +44,17 @@ ``` // build.gradle.kts -implementation("androidx.fragment:fragment:1.7.0-alpha09") +implementation("androidx.fragment:fragment:1.8.0-beta01") // build.gradle -implementation 'androidx.fragment:fragment:1.7.0-alpha09' +implementation 'androidx.fragment:fragment:1.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.fragment) # libs.versions.toml [versions] -fragment = "1.7.0-alpha09" +fragment = "1.8.0-beta01" [libraries] fragment = { module = "androidx.fragment:fragment", @@ -62,7 +62,7 @@ } ``` -1.7.0-alpha09 is the version this documentation was generated from; +1.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -80,15 +80,11 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.7.0-alpha09|2024/01/24| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha08|2024/01/10| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha07|2023/11/29| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha06|2023/10/04| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha05|2023/09/20| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha04|2023/09/06| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha03|2023/08/23| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha02|2023/08/09| 9| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.7.0-alpha01|2023/06/07| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-beta01|2024/05/14| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-alpha02|2024/04/17| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.8.0-alpha01|2024/04/03| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.1|2024/05/14| 9| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.7.0|2024/05/01| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.2|2023/11/01| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.1|2023/07/26| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.6.0|2023/06/07| 9| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_lifecycle_lifecycle-livedata-core-ktx.md.html b/docs/checks/androidx_lifecycle_lifecycle-livedata-core-ktx.md.html index 65c422f5..7bcae9cc 100644 --- a/docs/checks/androidx_lifecycle_lifecycle-livedata-core-ktx.md.html +++ b/docs/checks/androidx_lifecycle_lifecycle-livedata-core-ktx.md.html @@ -21,9 +21,9 @@ (##) Included Issues -|Issue Id |Issue Description | -|----------------------------------------------------------|----------------------------------------------| -|[NullSafeMutableLiveData](NullSafeMutableLiveData.md.html)|LiveData value assignment nullability mismatch| +|Issue Id |Issue Description | +|------------------------------------------------------------|----------------------------------------------| +|[NullSafeMutableLiveData](NullSafeMutableLiveData-2.md.html)|LiveData value assignment nullability mismatch| (##) Including diff --git a/docs/checks/androidx_lifecycle_lifecycle-livedata-core.md.html b/docs/checks/androidx_lifecycle_lifecycle-livedata-core.md.html new file mode 100644 index 00000000..033a31fa --- /dev/null +++ b/docs/checks/androidx_lifecycle_lifecycle-livedata-core.md.html @@ -0,0 +1,58 @@ +(#) androidx.lifecycle:lifecycle-livedata-core + +Name +: Lifecycle LiveData Core +Description +: Android Lifecycle LiveData Core +License +: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +Vendor +: Android Open Source Project +Identifier +: androidx.lifecycle +Feedback +: https://issuetracker.google.com/issues/new?component=413132 +Min +: Lint 7.0 +Compiled +: Lint 8.0 and 8.1 +Artifact +: androidx.lifecycle:lifecycle-livedata-core:2.8.0 + +(##) Included Issues + +|Issue Id |Issue Description | +|----------------------------------------------------------|----------------------------------------------| +|[NullSafeMutableLiveData](NullSafeMutableLiveData.md.html)|LiveData value assignment nullability mismatch| + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.lifecycle:lifecycle-livedata-core:2.8.0") + +// build.gradle +implementation 'androidx.lifecycle:lifecycle-livedata-core:2.8.0' + +// build.gradle.kts with version catalogs: +implementation(libs.lifecycle-livedata-core) + +# libs.versions.toml +[versions] +lifecycle-livedata-core = "2.8.0" +[libraries] +lifecycle-livedata-core = { + module = "androidx.lifecycle:lifecycle-livedata-core", + version.ref = "lifecycle-livedata-core" +} +``` + +2.8.0 is the version this documentation was generated from; +there may be newer versions available. + + + \ No newline at end of file diff --git a/docs/checks/androidx_lifecycle_lifecycle-runtime-android.md.html b/docs/checks/androidx_lifecycle_lifecycle-runtime-android.md.html new file mode 100644 index 00000000..53fd2f25 --- /dev/null +++ b/docs/checks/androidx_lifecycle_lifecycle-runtime-android.md.html @@ -0,0 +1,59 @@ +(#) androidx.lifecycle:lifecycle-runtime-android + +Name +: Lifecycle Runtime +Description +: Android Lifecycle Runtime +License +: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +Vendor +: Android Open Source Project +Identifier +: androidx.lifecycle +Feedback +: https://issuetracker.google.com/issues/new?component=413132 +Min +: Lint 7.0 +Compiled +: Lint 8.0 and 8.1 +Artifact +: androidx.lifecycle:lifecycle-runtime-android:2.8.0 + +(##) Included Issues + +|Issue Id |Issue Description | +|------------------------------------------------------------------|-------------------------------------------------------------------------------| +|[UnsafeLifecycleWhenUsage](UnsafeLifecycleWhenUsage.md.html) |Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method| +|[RepeatOnLifecycleWrongUsage](RepeatOnLifecycleWrongUsage.md.html)|Wrong usage of repeatOnLifecycle. | + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.lifecycle:lifecycle-runtime-android:2.8.0") + +// build.gradle +implementation 'androidx.lifecycle:lifecycle-runtime-android:2.8.0' + +// build.gradle.kts with version catalogs: +implementation(libs.lifecycle-runtime-android) + +# libs.versions.toml +[versions] +lifecycle-runtime-android = "2.8.0" +[libraries] +lifecycle-runtime-android = { + module = "androidx.lifecycle:lifecycle-runtime-android", + version.ref = "lifecycle-runtime-android" +} +``` + +2.8.0 is the version this documentation was generated from; +there may be newer versions available. + + + \ No newline at end of file diff --git a/docs/checks/androidx_lifecycle_lifecycle-runtime-ktx.md.html b/docs/checks/androidx_lifecycle_lifecycle-runtime-ktx.md.html index b06363d9..02d65f16 100644 --- a/docs/checks/androidx_lifecycle_lifecycle-runtime-ktx.md.html +++ b/docs/checks/androidx_lifecycle_lifecycle-runtime-ktx.md.html @@ -21,10 +21,10 @@ (##) Included Issues -|Issue Id |Issue Description | -|------------------------------------------------------------------|-------------------------------------------------------------------------------| -|[UnsafeLifecycleWhenUsage](UnsafeLifecycleWhenUsage.md.html) |Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method| -|[RepeatOnLifecycleWrongUsage](RepeatOnLifecycleWrongUsage.md.html)|Wrong usage of repeatOnLifecycle. | +|Issue Id |Issue Description | +|--------------------------------------------------------------------|-------------------------------------------------------------------------------| +|[UnsafeLifecycleWhenUsage](UnsafeLifecycleWhenUsage-2.md.html) |Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method| +|[RepeatOnLifecycleWrongUsage](RepeatOnLifecycleWrongUsage-2.md.html)|Wrong usage of repeatOnLifecycle. | (##) Including diff --git a/docs/checks/androidx_lifecycle_lifecycle-runtime-testing.md.html b/docs/checks/androidx_lifecycle_lifecycle-runtime-testing.md.html index 9c58576d..e3cde88a 100644 --- a/docs/checks/androidx_lifecycle_lifecycle-runtime-testing.md.html +++ b/docs/checks/androidx_lifecycle_lifecycle-runtime-testing.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.lifecycle:lifecycle-runtime-testing:2.8.0-alpha01 +: androidx.lifecycle:lifecycle-runtime-testing:2.8.0 (##) Included Issues @@ -33,17 +33,17 @@ ``` // build.gradle.kts -implementation("androidx.lifecycle:lifecycle-runtime-testing:2.8.0-alpha01") +implementation("androidx.lifecycle:lifecycle-runtime-testing:2.8.0") // build.gradle -implementation 'androidx.lifecycle:lifecycle-runtime-testing:2.8.0-alpha01' +implementation 'androidx.lifecycle:lifecycle-runtime-testing:2.8.0' // build.gradle.kts with version catalogs: implementation(libs.lifecycle-runtime-testing) # libs.versions.toml [versions] -lifecycle-runtime-testing = "2.8.0-alpha01" +lifecycle-runtime-testing = "2.8.0" [libraries] lifecycle-runtime-testing = { module = "androidx.lifecycle:lifecycle-runtime-testing", @@ -51,7 +51,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -64,7 +64,7 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 2.8.0-alpha01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.0|2024/01/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| \ No newline at end of file diff --git a/docs/checks/androidx_navigation_navigation-common.md.html b/docs/checks/androidx_navigation_navigation-common.md.html index 6215c5b9..ca3d05c8 100644 --- a/docs/checks/androidx_navigation_navigation-common.md.html +++ b/docs/checks/androidx_navigation_navigation-common.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.navigation:navigation-common:2.8.0-alpha01 +: androidx.navigation:navigation-common:2.8.0-beta01 (##) Included Issues @@ -33,17 +33,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-common:2.8.0-alpha01") +implementation("androidx.navigation:navigation-common:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-common:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-common:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-common) # libs.versions.toml [versions] -navigation-common = "2.8.0-alpha01" +navigation-common = "2.8.0-beta01" [libraries] navigation-common = { module = "androidx.navigation:navigation-common", @@ -51,7 +51,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -64,7 +64,16 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 2.8.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha08|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha07|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha06|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha05|2024/03/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha04|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha03|2024/02/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha02|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.8.0-alpha01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.7.7|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.6|2023/12/13| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.5|2023/11/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.4|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_navigation_navigation-compose.md.html b/docs/checks/androidx_navigation_navigation-compose.md.html index 881687db..dc7ef63b 100644 --- a/docs/checks/androidx_navigation_navigation-compose.md.html +++ b/docs/checks/androidx_navigation_navigation-compose.md.html @@ -15,7 +15,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.navigation:navigation-compose:2.8.0-alpha01 +: androidx.navigation:navigation-compose:2.8.0-beta01 (##) Included Issues @@ -33,17 +33,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-compose:2.8.0-alpha01") +implementation("androidx.navigation:navigation-compose:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-compose:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-compose:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-compose) # libs.versions.toml [versions] -navigation-compose = "2.8.0-alpha01" +navigation-compose = "2.8.0-beta01" [libraries] navigation-compose = { module = "androidx.navigation:navigation-compose", @@ -51,7 +51,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -65,7 +65,16 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 2.8.0-beta01|2024/05/14| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha08|2024/05/01| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha07|2024/04/17| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha06|2024/04/03| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha05|2024/03/20| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha04|2024/03/06| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha03|2024/02/21| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha02|2024/02/07| 3| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.8.0-alpha01|2024/01/24| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.7.7|2024/02/07| 3| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.6|2023/12/13| 3| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.5|2023/11/01| 3| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.4|2023/10/04| 3| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_navigation_navigation-runtime.md.html b/docs/checks/androidx_navigation_navigation-runtime.md.html index db73a1d9..614c3ca8 100644 --- a/docs/checks/androidx_navigation_navigation-runtime.md.html +++ b/docs/checks/androidx_navigation_navigation-runtime.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.navigation:navigation-runtime:2.8.0-alpha01 +: androidx.navigation:navigation-runtime:2.8.0-beta01 (##) Included Issues @@ -33,17 +33,17 @@ ``` // build.gradle.kts -implementation("androidx.navigation:navigation-runtime:2.8.0-alpha01") +implementation("androidx.navigation:navigation-runtime:2.8.0-beta01") // build.gradle -implementation 'androidx.navigation:navigation-runtime:2.8.0-alpha01' +implementation 'androidx.navigation:navigation-runtime:2.8.0-beta01' // build.gradle.kts with version catalogs: implementation(libs.navigation-runtime) # libs.versions.toml [versions] -navigation-runtime = "2.8.0-alpha01" +navigation-runtime = "2.8.0-beta01" [libraries] navigation-runtime = { module = "androidx.navigation:navigation-runtime", @@ -51,7 +51,7 @@ } ``` -2.8.0-alpha01 is the version this documentation was generated from; +2.8.0-beta01 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -64,7 +64,16 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 2.8.0-beta01|2024/05/14| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha08|2024/05/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha07|2024/04/17| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha06|2024/04/03| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha05|2024/03/20| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha04|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha03|2024/02/21| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.8.0-alpha02|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.8.0-alpha01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 2.7.7|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.6|2023/12/13| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.5|2023/11/01| 1| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.7.4|2023/10/04| 1| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/androidx_wear_protolayout_protolayout-expression.md.html b/docs/checks/androidx_wear_protolayout_protolayout-expression.md.html index 1346a42a..6efb88e3 100644 --- a/docs/checks/androidx_wear_protolayout_protolayout-expression.md.html +++ b/docs/checks/androidx_wear_protolayout_protolayout-expression.md.html @@ -17,13 +17,15 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.wear.protolayout:protolayout-expression:1.1.0-rc01 +: androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03 (##) Included Issues -|Issue Id |Issue Description | -|----------------------------------------------------|-------------------------------------------------------------------------------| -|[ProtoLayoutMinSchema](ProtoLayoutMinSchema.md.html)|ProtoLayout feature is not guaranteed to be available on the target device API.| +|Issue Id |Issue Description | +|----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +|[ProtoLayoutMinSchema](ProtoLayoutMinSchema.md.html) |ProtoLayout feature is not guaranteed to be available on the target device API. | +|[ProtoLayoutPrimaryLayoutResponsive](ProtoLayoutPrimaryLayoutResponsive.md.html) |ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. | +|[ProtoLayoutEdgeContentLayoutResponsive](ProtoLayoutEdgeContentLayoutResponsive.md.html)|ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.| (##) Including @@ -33,17 +35,17 @@ ``` // build.gradle.kts -implementation("androidx.wear.protolayout:protolayout-expression:1.1.0-rc01") +implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03") // build.gradle -implementation 'androidx.wear.protolayout:protolayout-expression:1.1.0-rc01' +implementation 'androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03' // build.gradle.kts with version catalogs: implementation(libs.protolayout-expression) # libs.versions.toml [versions] -protolayout-expression = "1.1.0-rc01" +protolayout-expression = "1.2.0-alpha03" [libraries] protolayout-expression = { module = "androidx.wear.protolayout:protolayout-expression", @@ -51,12 +53,14 @@ } ``` -1.1.0-rc01 is the version this documentation was generated from; +1.2.0-alpha03 is the version this documentation was generated from; there may be newer versions available. (##) Changes -* 1.1.0-alpha04: First version includes ProtoLayoutMinSchema. +* 1.1.0: First version includes ProtoLayoutMinSchema. +* 1.2.0-alpha02: Adds ProtoLayoutEdgeContentLayoutResponsive, + ProtoLayoutPrimaryLayoutResponsive. (##) Version Compatibility @@ -64,8 +68,9 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.1.0-rc01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.1.0-beta01|2024/01/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.1.0-alpha04|2023/12/13| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha03|2024/05/14| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha02|2024/05/01| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha01|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.1.0|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| \ No newline at end of file diff --git a/docs/checks/androidx_wear_protolayout_protolayout-material.md.html b/docs/checks/androidx_wear_protolayout_protolayout-material.md.html new file mode 100644 index 00000000..e0738af2 --- /dev/null +++ b/docs/checks/androidx_wear_protolayout_protolayout-material.md.html @@ -0,0 +1,74 @@ +(#) androidx.wear.protolayout:protolayout-material + +Name +: androidx.wear.protolayout:protolayout-material +Description +: Material components library for ProtoLayout. +License +: [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +Vendor +: Android Open Source Project +Identifier +: androidx.wear.protolayout +Feedback +: https://issuetracker.google.com/issues/new?component=1112273 +Min +: Lint 8.0 and 8.1 +Compiled +: Lint 8.0 and 8.1 +Artifact +: androidx.wear.protolayout:protolayout-material:1.2.0-alpha03 + +(##) Included Issues + +|Issue Id |Issue Description | +|------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +|[ProtoLayoutMinSchema](ProtoLayoutMinSchema-2.md.html) |ProtoLayout feature is not guaranteed to be available on the target device API. | +|[ProtoLayoutPrimaryLayoutResponsive](ProtoLayoutPrimaryLayoutResponsive-2.md.html) |ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. | +|[ProtoLayoutEdgeContentLayoutResponsive](ProtoLayoutEdgeContentLayoutResponsive-2.md.html)|ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.| + +(##) Including + +!!! + This is not a built-in check. To include it, add the below dependency + to your project. + +``` +// build.gradle.kts +implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha03") + +// build.gradle +implementation 'androidx.wear.protolayout:protolayout-material:1.2.0-alpha03' + +// build.gradle.kts with version catalogs: +implementation(libs.protolayout-material) + +# libs.versions.toml +[versions] +protolayout-material = "1.2.0-alpha03" +[libraries] +protolayout-material = { + module = "androidx.wear.protolayout:protolayout-material", + version.ref = "protolayout-material" +} +``` + +1.2.0-alpha03 is the version this documentation was generated from; +there may be newer versions available. + +(##) Changes + +* 1.2.0-alpha02: First version includes + ProtoLayoutEdgeContentLayoutResponsive, ProtoLayoutMinSchema, + ProtoLayoutPrimaryLayoutResponsive. + +(##) Version Compatibility + +There are multiple older versions available of this library: + +| Version | Date | Issues | Compatible | Compiled | Requires | +|-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.2.0-alpha03|2024/05/14| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha02|2024/05/01| 3| Yes| 8.0 and 8.1|8.0 and 8.1| + + \ No newline at end of file diff --git a/docs/checks/androidx_wear_protolayout_protolayout.md.html b/docs/checks/androidx_wear_protolayout_protolayout.md.html index 79e7a7e2..56b0394d 100644 --- a/docs/checks/androidx_wear_protolayout_protolayout.md.html +++ b/docs/checks/androidx_wear_protolayout_protolayout.md.html @@ -17,13 +17,15 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.wear.protolayout:protolayout:1.1.0-rc01 +: androidx.wear.protolayout:protolayout:1.2.0-alpha03 (##) Included Issues -|Issue Id |Issue Description | -|------------------------------------------------------|-------------------------------------------------------------------------------| -|[ProtoLayoutMinSchema](ProtoLayoutMinSchema-2.md.html)|ProtoLayout feature is not guaranteed to be available on the target device API.| +|Issue Id |Issue Description | +|------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +|[ProtoLayoutMinSchema](ProtoLayoutMinSchema-3.md.html) |ProtoLayout feature is not guaranteed to be available on the target device API. | +|[ProtoLayoutPrimaryLayoutResponsive](ProtoLayoutPrimaryLayoutResponsive-3.md.html) |ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales. | +|[ProtoLayoutEdgeContentLayoutResponsive](ProtoLayoutEdgeContentLayoutResponsive-3.md.html)|ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.| (##) Including @@ -33,17 +35,17 @@ ``` // build.gradle.kts -implementation("androidx.wear.protolayout:protolayout:1.1.0-rc01") +implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha03") // build.gradle -implementation 'androidx.wear.protolayout:protolayout:1.1.0-rc01' +implementation 'androidx.wear.protolayout:protolayout:1.2.0-alpha03' // build.gradle.kts with version catalogs: implementation(libs.protolayout) # libs.versions.toml [versions] -protolayout = "1.1.0-rc01" +protolayout = "1.2.0-alpha03" [libraries] protolayout = { module = "androidx.wear.protolayout:protolayout", @@ -51,12 +53,14 @@ } ``` -1.1.0-rc01 is the version this documentation was generated from; +1.2.0-alpha03 is the version this documentation was generated from; there may be newer versions available. (##) Changes -* 1.1.0-alpha04: First version includes ProtoLayoutMinSchema. +* 1.1.0: First version includes ProtoLayoutMinSchema. +* 1.2.0-alpha02: Adds ProtoLayoutEdgeContentLayoutResponsive, + ProtoLayoutPrimaryLayoutResponsive. (##) Version Compatibility @@ -64,8 +68,9 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| -| 1.1.0-rc01|2024/01/24| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.1.0-beta01|2024/01/10| 1| Yes| 8.0 and 8.1|8.0 and 8.1| -| 1.1.0-alpha04|2023/12/13| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha03|2024/05/14| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha02|2024/05/01| 3| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.2.0-alpha01|2024/03/06| 1| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.1.0|2024/02/07| 1| Yes| 8.0 and 8.1|8.0 and 8.1| \ No newline at end of file diff --git a/docs/checks/androidx_work_work-runtime.md.html b/docs/checks/androidx_work_work-runtime.md.html index e83fb4fb..b73e1653 100644 --- a/docs/checks/androidx_work_work-runtime.md.html +++ b/docs/checks/androidx_work_work-runtime.md.html @@ -17,7 +17,7 @@ Compiled : Lint 8.0 and 8.1 Artifact -: androidx.work:work-runtime:2.10.0-alpha01 +: androidx.work:work-runtime:2.10.0-alpha02 (##) Included Issues @@ -41,17 +41,17 @@ ``` // build.gradle.kts -implementation("androidx.work:work-runtime:2.10.0-alpha01") +implementation("androidx.work:work-runtime:2.10.0-alpha02") // build.gradle -implementation 'androidx.work:work-runtime:2.10.0-alpha01' +implementation 'androidx.work:work-runtime:2.10.0-alpha02' // build.gradle.kts with version catalogs: implementation(libs.work-runtime) # libs.versions.toml [versions] -work-runtime = "2.10.0-alpha01" +work-runtime = "2.10.0-alpha02" [libraries] work-runtime = { module = "androidx.work:work-runtime", @@ -59,7 +59,7 @@ } ``` -2.10.0-alpha01 is the version this documentation was generated from; +2.10.0-alpha02 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -78,6 +78,7 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 2.10.0-alpha02|2024/04/17| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.10.0-alpha01|2024/01/24| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.9.0|2023/11/29| 9| Yes| 8.0 and 8.1|8.0 and 8.1| | 2.8.1|2023/03/22| 9| Yes| 7.3 and 7.4| 7.0| diff --git a/docs/checks/categories.md.html b/docs/checks/categories.md.html index 36179b73..b5de36f8 100644 --- a/docs/checks/categories.md.html +++ b/docs/checks/categories.md.html @@ -3,7 +3,7 @@ Order: [Alphabetical](index.md.html) | By category | [By vendor](vendors.md.html) | [By severity](severity.md.html) | [By year](year.md.html) | [Libraries](libraries.md.html) -* Correctness (490) +* Correctness (506) - [AaptCrash: Potential AAPT crash](AaptCrash.md.html) - [AccidentalOctal: Accidental Octal](AccidentalOctal.md.html) @@ -25,11 +25,11 @@ - [BadConfigurationProvider: Invalid WorkManager Configuration Provider](BadConfigurationProvider.md.html) - [BadPeriodicWorkRequestEnqueue: Use `enqueueUniquePeriodicWork()` instead of `enqueue()`](BadPeriodicWorkRequestEnqueue.md.html) - [BatteryLife: Battery Life Issues](BatteryLife.md.html) - - [BindingReceiverParameter: @Binds/@Provides functions cannot be extension functions.](BindingReceiverParameter.md.html) - - [BindingReturnType: @Binds/@Provides functions must have a return type. Cannot be void or Unit.](BindingReturnType.md.html) - - [BindsMustBeAbstract: @Binds functions must be abstract and cannot have function bodies.](BindsMustBeAbstract.md.html) - - [BindsTypeMismatch: @Binds function parameters must be type-assignable to their return types.](BindsTypeMismatch.md.html) - - [BindsWrongParameterCount: @Binds functions require a single parameter as an input to bind.](BindsWrongParameterCount.md.html) + - [BindingReceiverParameter: @Binds/@Provides functions cannot be extensions](BindingReceiverParameter.md.html) + - [BindingReturnType: @Binds/@Provides must have a return type](BindingReturnType.md.html) + - [BindsMustBeAbstract: @Binds functions must be abstract](BindsMustBeAbstract.md.html) + - [BindsTypeMismatch: @Binds parameter/return must be type-assignable](BindsTypeMismatch.md.html) + - [BindsWrongParameterCount: @Binds must have one parameter](BindsWrongParameterCount.md.html) - [BlockedPrivateApi: Using Blocked Private API](BlockedPrivateApi.md.html) - [BomWithoutPlatform: Using a BOM without platform call](BomWithoutPlatform.md.html) - [BottomAppBar: BottomAppBar Problems](BottomAppBar.md.html) @@ -47,9 +47,10 @@ - [ComposableLambdaParameterPosition: Non-trailing primary composable lambda parameter](ComposableLambdaParameterPosition.md.html) - [ComposableNaming: Incorrect naming for @Composable functions](ComposableNaming.md.html) - [ComposableNavGraphInComposeScope: Building navigation graph in compose scope](ComposableNavGraphInComposeScope.md.html) - - [ComposeComposableModifier: Using @Composable builder functions for modifiers is not recommended](ComposeComposableModifier.md.html) + - [ComposeComposableModifier: Don't use @Composable builder functions for modifiers](ComposeComposableModifier.md.html) - [ComposeM2Api: Using a Compose M2 API is not recommended](ComposeM2Api.md.html) - - [ComposeViewModelForwarding: Forwarding a ViewModel through multiple @Composable functions should be avoided](ComposeViewModelForwarding.md.html) + - [ComposeModifierComposed: Don't use Modifier.composed {}](ComposeModifierComposed.md.html) + - [ComposeViewModelForwarding: Don't forward ViewModels through composables](ComposeViewModelForwarding.md.html) - [ComposeViewModelInjection: Implicit dependencies of composables should be made explicit](ComposeViewModelInjection.md.html) - [CompositionLocalNaming: CompositionLocal properties should be prefixed with `Local`](CompositionLocalNaming.md.html) - [ConflictingOnColor: Background colors with the same value should have the same 'on' color](ConflictingOnColor.md.html) @@ -80,6 +81,7 @@ - [DoNotCallProviders: Dagger provider methods should not be called directly by user code.](DoNotCallProviders.md.html) - [DoNotExposeEitherNetInRepositories: Repository APIs should not expose EitherNet types directly.](DoNotExposeEitherNetInRepositories.md.html) - [DoNotMock: ](DoNotMock.md.html) + - [DoNotMockAnything: Do not add new mocks.](DoNotMockAnything.md.html) - [DoNotMockAutoValue: AutoValue classes represent pure data classes, so mocking them should not be necessary.](DoNotMockAutoValue.md.html) - [DoNotMockDataClass: data classes represent pure data classes, so mocking them should not be necessary.](DoNotMockDataClass.md.html) - [DoNotMockObjectClass: object classes are singletons, so mocking them should not be necessary](DoNotMockObjectClass.md.html) @@ -102,7 +104,7 @@ - [ErroneousLayoutAttribute: Layout attribute that's not applicable to a particular view.](ErroneousLayoutAttribute.md.html) - [ErrorProneDoNotMockUsage: Use Slack's internal `@DoNotMock` annotation.](ErrorProneDoNotMockUsage.md.html) - [ExactAlarm: Invalid Usage of Exact Alarms](ExactAlarm.md.html) - - [ExceptionMessage: Please provide a string for the lazyMessage parameter](ExceptionMessage.md.html) + - [ExceptionMessage: Please provide a string for the `lazyMessage` parameter](ExceptionMessage.md.html) - [ExifInterface: Using `android.media.ExifInterface`](ExifInterface.md.html) - [ExperimentalAnnotationRetention: Experimental annotation with incorrect retention](ExperimentalAnnotationRetention.md.html) - [ExtraText: Extraneous text in resource files](ExtraText.md.html) @@ -159,8 +161,6 @@ - [IncorrectReferencesDeclaration: `createRefsFor(vararg ids: Any)` should have at least one argument and match assigned variables](IncorrectReferencesDeclaration.md.html) - [InflateParams: Layout Inflation without a Parent](InflateParams.md.html) - [InjectInJava: Only Kotlin classes should be injected in order for Anvil to work.](InjectInJava.md.html) - - [InjectWithScopeRequiredLoggedInUserProvider: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope.](InjectWithScopeRequiredLoggedInUserProvider.md.html) - - [InjectWithTypeMustImplementAnvilInjectable: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does).](InjectWithTypeMustImplementAnvilInjectable.md.html) - [InlinedApi: Using inlined constants on older versions](InlinedApi.md.html) - [InnerclassSeparator: Inner classes should use `$` rather than `.`](InnerclassSeparator.md.html) - [InstantApps: Instant App Issues](InstantApps.md.html) @@ -175,6 +175,7 @@ - [InvalidId: Invalid ID declaration](InvalidId.md.html) - [InvalidImeActionId: Invalid imeActionId declaration](InvalidImeActionId.md.html) - [InvalidImport: Flags invalid imports.](InvalidImport.md.html) + - [InvalidLanguageTagDelimiter: Undercore (_) is an unsupported delimiter for subtags](InvalidLanguageTagDelimiter.md.html) - [InvalidNavigation: No start destination specified](InvalidNavigation.md.html) - [InvalidPackage: Package not included in Android](InvalidPackage.md.html) - [InvalidPeriodicWorkRequestInterval: Invalid interval duration](InvalidPeriodicWorkRequestInterval.md.html) @@ -183,6 +184,7 @@ a value for `size` in the scrolling direction.](InvalidSetHasFixedSize.md.html) - [InvalidSingleLineComment: Marks single line comments that are not sentences.](InvalidSingleLineComment.md.html) - [InvalidString: Marks invalid translation strings.](InvalidString.md.html) + - [InvalidUseOfOnBackPressed: Do not call onBackPressed() within OnBackPressedDisptacher](InvalidUseOfOnBackPressed.md.html) - [InvalidUsesTagAttribute: Invalid `name` attribute for `uses` element](InvalidUsesTagAttribute.md.html) - [InvalidVectorPath: Invalid vector paths](InvalidVectorPath.md.html) - [InvalidWakeLockTag: Invalid Wake Lock Tag](InvalidWakeLockTag.md.html) @@ -288,7 +290,8 @@ - [MotionSceneFileValidationError: Validation errors in `MotionScene` files](MotionSceneFileValidationError.md.html) - [MultipleAwaitPointerEventScopes: Suspicious use of multiple awaitPointerEventScope blocks. Using multiple awaitPointerEventScope blocks may cause some input events to be dropped.](MultipleAwaitPointerEventScopes.md.html) - [MultipleUsesSdk: Multiple `` elements in the manifest](MultipleUsesSdk.md.html) - - [MustBeInModule: @Binds/@Provides function must be in `@Module`-annotated classes.](MustBeInModule.md.html) + - [MustBeInModule: @Binds/@Provides functions must be in modules](MustBeInModule.md.html) + - [MustUseNamedParams: Calls to @MustUseNamedParams-annotated methods must name all parameters.](MustUseNamedParams.md.html) - [MutableCollectionMutableState: Creating a MutableState object with a mutable collection type](MutableCollectionMutableState.md.html) - [MutatingSharedPrefs: Mutating an Immutable SharedPrefs Set](MutatingSharedPrefs.md.html) - [NamespaceTypo: Misspelled namespace declaration](NamespaceTypo.md.html) @@ -317,9 +320,10 @@ - [OverrideAbstract: Not overriding abstract methods on older platforms](OverrideAbstract.md.html) - [ParcelClassLoader: Default Parcel Class Loader](ParcelClassLoader.md.html) - [ParcelCreator: Missing Parcelable `CREATOR` field](ParcelCreator.md.html) - - [ParcelizeFunctionProperty: Function type properties should not be used in Parcelize classes](ParcelizeFunctionProperty.md.html) + - [ParcelizeFunctionProperty: Function type properties are not parcelable](ParcelizeFunctionProperty.md.html) - [PendingBindings: Missing Pending Bindings](PendingBindings.md.html) - [PermissionImpliesUnsupportedHardware: Permission Implies Unsupported Hardware](PermissionImpliesUnsupportedHardware.md.html) + - [PictureInPictureIssue: Picture In Picture best practices not followed](PictureInPictureIssue.md.html) - [PinSetExpiry: Validate `` expiration attribute](PinSetExpiry.md.html) - [PrivateApi: Using Private APIs](PrivateApi.md.html) - [PrivateResource: Using private resources](PrivateResource.md.html) @@ -328,9 +332,16 @@ - [ProguardSplit: Proguard.cfg file contains generic Android rules](ProguardSplit.md.html) - [PropertyEscape: Incorrect property escapes](PropertyEscape.md.html) - [ProtectedPermissions: Using system app permission](ProtectedPermissions.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract.](ProvidesMustNotBeAbstract.md.html) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract](ProvidesMustNotBeAbstract.md.html) - [PublicKeyCredential: Creating public key credential](PublicKeyCredential.md.html) - [PxUsage: Using 'px' dimension](PxUsage.md.html) - [QueryPermissionsNeeded: Using APIs affected by query permissions](QueryPermissionsNeeded.md.html) @@ -340,7 +351,7 @@ - [RawDispatchersUse: Use SlackDispatchers.](RawDispatchersUse.md.html) - [RecyclerView: RecyclerView Problems](RecyclerView.md.html) - [RedactedInJavaUsage: @Redacted is only supported in Kotlin classes!](RedactedInJavaUsage.md.html) - - [RedundantBinds: @Binds functions should return a different type (including annotations) than the input type.](RedundantBinds.md.html) + - [RedundantBinds: @Binds functions should return a different type](RedundantBinds.md.html) - [RedundantLabel: Redundant label on activity](RedundantLabel.md.html) - [ReferenceType: Incorrect reference types](ReferenceType.md.html) - [Registered: Class is not registered in the manifest](Registered.md.html) @@ -349,6 +360,7 @@ - [RemoteViewLayout: Unsupported View in RemoteView](RemoteViewLayout.md.html) - [RemoveWorkManagerInitializer: Remove androidx.work.WorkManagerInitializer from your AndroidManifest.xml when using on-demand initialization.](RemoveWorkManagerInitializer.md.html) - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) + - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) - [RequiredSize: Missing `layout_width` or `layout_height` attributes](RequiredSize.md.html) - [RequiresFeature: Requires Feature](RequiresFeature.md.html) - [ResAuto: Hardcoded Package in Namespace](ResAuto.md.html) @@ -382,6 +394,7 @@ - [ShortAlarm: Short or Frequent Alarm](ShortAlarm.md.html) - [ShouldUseStaticImport: Flags declarations that should be statically imported.](ShouldUseStaticImport.md.html) - [ShowToast: Toast created but not shown](ShowToast.md.html) + - [SimilarGradleDependency: Multiple Versions Gradle Dependency](SimilarGradleDependency.md.html) - [SimpleDateFormat: Implied locale in date format](SimpleDateFormat.md.html) - [Slices: Slices](Slices.md.html) - [SoonBlockedPrivateApi: Using Soon-to-Be Blocked Private API](SoonBlockedPrivateApi.md.html) @@ -405,6 +418,7 @@ - [SuspiciousCompositionLocalModifierRead: CompositionLocals should not be read in Modifier.onAttach() or Modifier.onDetach()](SuspiciousCompositionLocalModifierRead.md.html) - [SuspiciousImport: '`import android.R`' statement](SuspiciousImport.md.html) - [SuspiciousIndentation: Suspicious indentation](SuspiciousIndentation.md.html) + - [SuspiciousModifierThen: Using Modifier.then with a Modifier factory function with an implicit receiver](SuspiciousModifierThen.md.html) - [SwitchIntDef: Missing @IntDef in Switch](SwitchIntDef.md.html) - [TestAppLink: Unmatched URLs](TestAppLink.md.html) - [TestLifecycleOwnerInCoroutine: Use the suspending function setCurrentState(), rather than directly accessing the currentState property.](TestLifecycleOwnerInCoroutine.md.html) @@ -414,6 +428,7 @@ - [TimberTagLength: Too Long Log Tags](TimberTagLength.md.html) - [Todo: Marks todos in any given file.](Todo.md.html) - [TranslucentOrientation: Mixing screenOrientation and translucency](TranslucentOrientation.md.html) + - [UnclosedTrace: Incorrect trace section usage](UnclosedTrace.md.html) - [UniqueConstants: Overlapping Enumeration Constants](UniqueConstants.md.html) - [UniquePermission: Permission names are not unique](UniquePermission.md.html) - [UnknownId: Reference to an unknown id](UnknownId.md.html) @@ -425,6 +440,7 @@ - [UnrememberedMutableInteractionSource: Creating a MutableInteractionSource during composition without using `remember`](UnrememberedMutableInteractionSource.md.html) - [UnrememberedMutableState: Creating a state object during composition without using `remember`](UnrememberedMutableState.md.html) - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) + - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) - [UnsafeOptInUsageError: Unsafe opt-in usage intended to be error-level severity](UnsafeOptInUsageError.md.html) - [UnsafeOptInUsageWarning: Unsafe opt-in usage intended to be warning-level severity](UnsafeOptInUsageWarning.md.html) - [UnsafeRepeatOnLifecycleDetector: RepeatOnLifecycle should be used with viewLifecycleOwner in Fragments.](UnsafeRepeatOnLifecycleDetector.md.html) @@ -709,8 +725,9 @@ - [WearRecents: Wear OS: Recents and app resume](WearRecents.md.html) - [WearSplashScreen: Wear: Use `SplashScreen` library](WearSplashScreen.md.html) -* Productivity (17) +* Productivity (19) + - [ComposeCompositionLocalGetter: CompositionLocals should not use getters](ComposeCompositionLocalGetter.md.html) - [ComposeCompositionLocalUsage: CompositionLocals are discouraged](ComposeCompositionLocalUsage.md.html) - [ComposeContentEmitterReturningValues: Composable functions should emit XOR return](ComposeContentEmitterReturningValues.md.html) - [ComposeModifierMissing: Missing modifier parameter](ComposeModifierMissing.md.html) @@ -725,6 +742,7 @@ - [ComposePreviewPublic: Preview composables should be private](ComposePreviewPublic.md.html) - [ComposeRememberMissing: State values should be remembered](ComposeRememberMissing.md.html) - [ComposeUnstableCollections: Immutable collections should ideally be used in Composables](ComposeUnstableCollections.md.html) + - [ComposeUnstableReceiver: Unstable receivers will always be recomposed](ComposeUnstableReceiver.md.html) - [KtxExtensionAvailable: KTX Extension Available](KtxExtensionAvailable.md.html) - [ModifierNodeInspectableProperties: ModifierNodeElement missing inspectableProperties](ModifierNodeInspectableProperties.md.html) - [UseTomlInstead: Use TOML Version Catalog Instead](UseTomlInstead.md.html) @@ -763,13 +781,14 @@ - [JavaPluginLanguageLevel: No Explicit Java Language Level Given](JavaPluginLanguageLevel.md.html) -* Interoperability: Kotlin Interoperability (6) +* Interoperability: Kotlin Interoperability (7) - [JavaOnlyDetector: Using @JavaOnly elements in Kotlin code.](JavaOnlyDetector.md.html) - [KotlinPropertyAccess: Kotlin Property Access](KotlinPropertyAccess.md.html) - [LambdaLast: Lambda Parameters Last](LambdaLast.md.html) - [NoHardKeywords: No Hard Kotlin Keywords](NoHardKeywords.md.html) - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) + - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) - [UnknownNullness: Unknown nullness](UnknownNullness.md.html) * Lint Implementation Issues (12) diff --git a/docs/checks/com_google_dagger_dagger-lint.md.html b/docs/checks/com_google_dagger_dagger-lint.md.html index dedd1bad..35246bd5 100644 --- a/docs/checks/com_google_dagger_dagger-lint.md.html +++ b/docs/checks/com_google_dagger_dagger-lint.md.html @@ -21,7 +21,7 @@ Compiled : Lint 7.1 Artifact -: com.google.dagger:dagger-lint:2.50 +: com.google.dagger:dagger-lint:2.51.1 (##) Included Issues @@ -40,17 +40,17 @@ ``` // build.gradle.kts -implementation("com.google.dagger:dagger-lint:2.50") +implementation("com.google.dagger:dagger-lint:2.51.1") // build.gradle -implementation 'com.google.dagger:dagger-lint:2.50' +implementation 'com.google.dagger:dagger-lint:2.51.1' // build.gradle.kts with version catalogs: implementation(libs.dagger-lint) # libs.versions.toml [versions] -dagger-lint = "2.50" +dagger-lint = "2.51.1" [libraries] dagger-lint = { module = "com.google.dagger:dagger-lint", @@ -58,7 +58,7 @@ } ``` -2.50 is the version this documentation was generated from; +2.51.1 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -73,6 +73,8 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 2.51.1|2024/03/29| 4| Yes| 7.1| 7.1| +| 2.51|2024/02/27| 4| Yes| 7.1| 7.1| | 2.50|2023/12/19| 4| Yes| 7.1| 7.1| | 2.49|2023/12/01| 4| Yes| 7.1| 7.1| | 2.48.1|2023/10/03| 4| Yes| 7.1| 7.1| diff --git a/docs/checks/com_slack_lint_compose_compose-lint-checks.md.html b/docs/checks/com_slack_lint_compose_compose-lint-checks.md.html index c639c39e..107c7443 100644 --- a/docs/checks/com_slack_lint_compose_compose-lint-checks.md.html +++ b/docs/checks/com_slack_lint_compose_compose-lint-checks.md.html @@ -17,30 +17,33 @@ Compiled : Lint 8.0 and 8.1 Artifact -: com.slack.lint.compose:compose-lint-checks:1.2.0 +: com.slack.lint.compose:compose-lint-checks:1.3.1 (##) Included Issues -|Issue Id |Issue Description | -|------------------------------------------------------------------------------------|-------------------------------------------------------------------------------| -|[ComposeNamingUppercase](ComposeNamingUppercase.md.html) |Unit Composables should be uppercase | -|[ComposeNamingLowercase](ComposeNamingLowercase.md.html) |Value-returning Composables should be lowercase | -|[ComposeCompositionLocalUsage](ComposeCompositionLocalUsage.md.html) |CompositionLocals are discouraged | -|[ComposeContentEmitterReturningValues](ComposeContentEmitterReturningValues.md.html)|Composable functions should emit XOR return | -|[ComposeComposableModifier](ComposeComposableModifier.md.html) |Using @Composable builder functions for modifiers is not recommended | -|[ComposeModifierMissing](ComposeModifierMissing.md.html) |Missing modifier parameter | -|[ComposeModifierReused](ComposeModifierReused.md.html) |Modifiers should only be used once | -|[ComposeModifierWithoutDefault](ComposeModifierWithoutDefault.md.html) |Missing Modifier default value | -|[ComposeM2Api](ComposeM2Api.md.html) |Using a Compose M2 API is not recommended | -|[ComposeMultipleContentEmitters](ComposeMultipleContentEmitters.md.html) |Composables should only be emit from one source | -|[ComposeMutableParameters](ComposeMutableParameters.md.html) |Mutable objects in Compose will break state | -|[ComposeParameterOrder](ComposeParameterOrder.md.html) |Composable function parameters should be ordered | -|[ComposePreviewNaming](ComposePreviewNaming.md.html) |Preview annotations require certain suffixes | -|[ComposePreviewPublic](ComposePreviewPublic.md.html) |Preview composables should be private | -|[ComposeRememberMissing](ComposeRememberMissing.md.html) |State values should be remembered | -|[ComposeUnstableCollections](ComposeUnstableCollections.md.html) |Immutable collections should ideally be used in Composables | -|[ComposeViewModelForwarding](ComposeViewModelForwarding.md.html) |Forwarding a ViewModel through multiple @Composable functions should be avoided| -|[ComposeViewModelInjection](ComposeViewModelInjection.md.html) |Implicit dependencies of composables should be made explicit | +|Issue Id |Issue Description | +|------------------------------------------------------------------------------------|------------------------------------------------------------| +|[ComposeNamingUppercase](ComposeNamingUppercase.md.html) |Unit Composables should be uppercase | +|[ComposeNamingLowercase](ComposeNamingLowercase.md.html) |Value-returning Composables should be lowercase | +|[ComposeCompositionLocalUsage](ComposeCompositionLocalUsage.md.html) |CompositionLocals are discouraged | +|[ComposeCompositionLocalGetter](ComposeCompositionLocalGetter.md.html) |CompositionLocals should not use getters | +|[ComposeContentEmitterReturningValues](ComposeContentEmitterReturningValues.md.html)|Composable functions should emit XOR return | +|[ComposeComposableModifier](ComposeComposableModifier.md.html) |Don't use @Composable builder functions for modifiers | +|[ComposeModifierMissing](ComposeModifierMissing.md.html) |Missing modifier parameter | +|[ComposeModifierReused](ComposeModifierReused.md.html) |Modifiers should only be used once | +|[ComposeModifierWithoutDefault](ComposeModifierWithoutDefault.md.html) |Missing Modifier default value | +|[ComposeM2Api](ComposeM2Api.md.html) |Using a Compose M2 API is not recommended | +|[ComposeMultipleContentEmitters](ComposeMultipleContentEmitters.md.html) |Composables should only be emit from one source | +|[ComposeMutableParameters](ComposeMutableParameters.md.html) |Mutable objects in Compose will break state | +|[ComposeParameterOrder](ComposeParameterOrder.md.html) |Composable function parameters should be ordered | +|[ComposePreviewNaming](ComposePreviewNaming.md.html) |Preview annotations require certain suffixes | +|[ComposePreviewPublic](ComposePreviewPublic.md.html) |Preview composables should be private | +|[ComposeRememberMissing](ComposeRememberMissing.md.html) |State values should be remembered | +|[ComposeUnstableCollections](ComposeUnstableCollections.md.html) |Immutable collections should ideally be used in Composables | +|[ComposeViewModelForwarding](ComposeViewModelForwarding.md.html) |Don't forward ViewModels through composables | +|[ComposeViewModelInjection](ComposeViewModelInjection.md.html) |Implicit dependencies of composables should be made explicit| +|[ComposeModifierComposed](ComposeModifierComposed.md.html) |Don't use Modifier.composed {} | +|[ComposeUnstableReceiver](ComposeUnstableReceiver.md.html) |Unstable receivers will always be recomposed | (##) Including @@ -51,17 +54,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint.compose:compose-lint-checks:1.2.0") +lintChecks("com.slack.lint.compose:compose-lint-checks:1.3.1") // build.gradle -lintChecks 'com.slack.lint.compose:compose-lint-checks:1.2.0' +lintChecks 'com.slack.lint.compose:compose-lint-checks:1.3.1' // build.gradle.kts with version catalogs: lintChecks(libs.compose-lint-checks) # libs.versions.toml [versions] -compose-lint-checks = "1.2.0" +compose-lint-checks = "1.3.1" [libraries] compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", @@ -69,7 +72,7 @@ } ``` -1.2.0 is the version this documentation was generated from; +1.3.1 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -84,6 +87,8 @@ ComposeUnstableCollections, ComposeViewModelForwarding, ComposeViewModelInjection. * 1.1.0: Adds ComposeM2Api. +* 1.3.0: Adds ComposeCompositionLocalGetter, ComposeModifierComposed, + ComposeUnstableReceiver. (##) Version Compatibility @@ -91,6 +96,8 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 1.3.1|2024/01/25| 21| Yes| 8.0 and 8.1|8.0 and 8.1| +| 1.3.0|2024/01/25| 21| Yes| 8.2+| 8.2+| | 1.2.0|2023/04/19| 18| Yes| 8.0 and 8.1|8.0 and 8.1| | 1.1.1|2023/03/08| 18| Yes| 7.3 and 7.4|7.3 and 7.4| | 1.1.0|2023/03/07| 18| Yes| 7.3 and 7.4|7.3 and 7.4| diff --git a/docs/checks/com_slack_lint_slack-lint-checks.md.html b/docs/checks/com_slack_lint_slack-lint-checks.md.html index 79cf8304..95a355ff 100644 --- a/docs/checks/com_slack_lint_slack-lint-checks.md.html +++ b/docs/checks/com_slack_lint_slack-lint-checks.md.html @@ -19,103 +19,103 @@ Compiled : Lint 8.0 and 8.1 Artifact -: com.slack.lint:slack-lint-checks:0.7.0 +: com.slack.lint:slack-lint-checks:0.7.3 (##) Included Issues -|Issue Id |Issue Description | -|--------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------| -|[CastingViewContextToActivity](CastingViewContextToActivity.md.html) |Unsafe cast of `Context` to `Activity` | -|[ArgInFormattedQuantityStringRes](ArgInFormattedQuantityStringRes.md.html) |Count value in formatted string resource. | -|[BindsTypeMismatch](BindsTypeMismatch.md.html) |@Binds function parameters must be type-assignable to their return types. | -|[BindingReturnType](BindingReturnType.md.html) |@Binds/@Provides functions must have a return type. Cannot be void or Unit. | -|[BindingReceiverParameter](BindingReceiverParameter.md.html) |@Binds/@Provides functions cannot be extension functions. | -|[BindsWrongParameterCount](BindsWrongParameterCount.md.html) |@Binds functions require a single parameter as an input to bind. | -|[BindsMustBeAbstract](BindsMustBeAbstract.md.html) |@Binds functions must be abstract and cannot have function bodies. | -|[RedundantBinds](RedundantBinds.md.html) |@Binds functions should return a different type (including annotations) than the input type. | -|[MustBeInModule](MustBeInModule.md.html) |@Binds/@Provides function must be in `@Module`-annotated classes. | -|[ProvidesMustNotBeAbstract](ProvidesMustNotBeAbstract.md.html) |@Provides functions cannot be abstract. | -|[KotlinPairNotCreated](KotlinPairNotCreated.md.html) |Use Kotlin's kotlin.Pair instead of other Pair types from other libraries like AndroidX and Slack commons | -|[DoNotCallProviders](DoNotCallProviders.md.html) |Dagger provider methods should not be called directly by user code. | -|[InclusiveNaming](InclusiveNaming.md.html) |Use inclusive naming. | -|[InclusiveNaming](InclusiveNaming.md.html) |Use inclusive naming. | -|[DeprecatedCall](DeprecatedCall.md.html) |This class or method is deprecated; consider using an alternative. | -|[DeprecatedSqlUsage](DeprecatedSqlUsage.md.html) |Use SqlDelight! | -|[JavaOnlyDetector](JavaOnlyDetector.md.html) |Using @JavaOnly elements in Kotlin code. | -|[SerializableUsage](SerializableUsage.md.html) |Don't use Serializable. | -|[RawDispatchersUse](RawDispatchersUse.md.html) |Use SlackDispatchers. | -|[MainScopeUsage](MainScopeUsage.md.html) |Use slack.foundation.coroutines.android.MainScope. | -|[SubscribeOnMain](SubscribeOnMain.md.html) |subscribeOn called with the main thread scheduler. | -|[GuavaChecksUsed](GuavaChecksUsed.md.html) |Use Slack's JavaPreconditions instead of Guava's Preconditions checks | -|[GuavaPreconditionsUsedInKotlin](GuavaPreconditionsUsedInKotlin.md.html) |Kotlin precondition checks should use the Kotlin standard library checks | -|[DoNotMockPlatformTypes](DoNotMockPlatformTypes.md.html) |platform types should not be mocked | -|[DoNotMockDataClass](DoNotMockDataClass.md.html) |data classes represent pure data classes, so mocking them should not be necessary. | -|[DoNotMock](DoNotMock.md.html) | | -|[DoNotMockSealedClass](DoNotMockSealedClass.md.html) |sealed classes have a restricted type hierarchy, use a subtype instead | -|[DoNotMockAutoValue](DoNotMockAutoValue.md.html) |AutoValue classes represent pure data classes, so mocking them should not be necessary. | -|[DoNotMockObjectClass](DoNotMockObjectClass.md.html) |object classes are singletons, so mocking them should not be necessary | -|[DoNotMockRecordClass](DoNotMockRecordClass.md.html) |record classes represent pure data classes, so mocking them should not be necessary. | -|[ErrorProneDoNotMockUsage](ErrorProneDoNotMockUsage.md.html) |Use Slack's internal `@DoNotMock` annotation. | -|[MoshiUsageAdaptedByRequiresAdapter](MoshiUsageAdaptedByRequiresAdapter.md.html) |@AdaptedBy.adapter must be a JsonAdapter or JsonAdapter.Factory. | -|[MoshiUsageAdaptedByRequiresKeep](MoshiUsageAdaptedByRequiresKeep.md.html) |Adapters targeted by @AdaptedBy must have @Keep. | -|[MoshiUsageArray](MoshiUsageArray.md.html) |Prefer List over Array. | -|[MoshiUsageBlankGenerator](MoshiUsageBlankGenerator.md.html) |Don't use blank JsonClass.generator values. | -|[MoshiUsageBlankJsonName](MoshiUsageBlankJsonName.md.html) |Don't use blank names in `@Json`. | -|[MoshiUsageBlankTypeLabel](MoshiUsageBlankTypeLabel.md.html) |Moshi-sealed requires a type label specified after the 'sealed:' prefix. | -|[MoshiUsageDoubleClassAnnotation](MoshiUsageDoubleClassAnnotation.md.html) |Only use one of @AdaptedBy or @JsonClass. | -|[MoshiUsageDoubleTypeLabel](MoshiUsageDoubleTypeLabel.md.html) |Only use one of @TypeLabel or @DefaultObject. | -|[MoshiUsageDuplicateJsonName](MoshiUsageDuplicateJsonName.md.html) |Duplicate JSON names are errors as JSON does not allow duplicate keys in objects. | -|[MoshiUsageEnumAnnotatedUnknown](MoshiUsageEnumAnnotatedUnknown.md.html) |UNKNOWN members in @JsonClass-annotated enums should not be annotated with @Json | -|[MoshiUsageEnumCasing](MoshiUsageEnumCasing.md.html) |Consider using `@Json(name = ...)` rather than lower casing. | -|[MoshiUsageEnumJsonClassGenerated](MoshiUsageEnumJsonClassGenerated.md.html) |Enums annotated with @JsonClass must not set `generateAdapter` to true. | -|[MoshiUsageEnumMissingJsonClass](MoshiUsageEnumMissingJsonClass.md.html) |Enums serialized with Moshi should be annotated with @JsonClass. | -|[MoshiUsageEnumPropertyCouldBeMoshi](MoshiUsageEnumPropertyCouldBeMoshi.md.html) |Consider making enum properties also use Moshi. | -|[MoshiUsageEnumPropertyDefaultUnknown](MoshiUsageEnumPropertyDefaultUnknown.md.html) |Suspicious default value to 'UNKNOWN' for a Moshi enum. | -|[MoshiUsageEnumMissingUnknown](MoshiUsageEnumMissingUnknown.md.html) |Enums serialized with Moshi must reserve the first member as UNKNOWN. | -|[MoshiUsageGenerateAdapterShouldBeTrue](MoshiUsageGenerateAdapterShouldBeTrue.md.html) |JsonClass.generateAdapter must be true in order for Moshi code gen to run. | -|[MoshiUsageGenericSealedSubtype](MoshiUsageGenericSealedSubtype.md.html) |Sealed subtypes used with moshi-sealed cannot be generic. | -|[MoshiUsageInappropriateTypeLabel](MoshiUsageInappropriateTypeLabel.md.html) |Inappropriate @TypeLabel or @DefaultObject annotation. | -|[MoshiUsageRedundantSiteTarget](MoshiUsageRedundantSiteTarget.md.html) |Use of site-targets on @Json are redundant. | -|[MoshiUsageMissingPrimary](MoshiUsageMissingPrimary.md.html) |@JsonClass-annotated types must have a primary constructor or be sealed. | -|[MoshiUsageMissingTypeLabel](MoshiUsageMissingTypeLabel.md.html) |Sealed Moshi subtypes must be annotated with @TypeLabel or @DefaultObject. | -|[MoshiUsageMutableCollections](MoshiUsageMutableCollections.md.html) |Use immutable collections rather than mutable versions. | -|[MoshiUsageQualifierRetention](MoshiUsageQualifierRetention.md.html) |JsonQualifiers must have RUNTIME retention. | -|[MoshiUsageQualifierTarget](MoshiUsageQualifierTarget.md.html) |JsonQualifiers must include FIELD targeting. | -|[MoshiUsageNonMoshiClassCollection](MoshiUsageNonMoshiClassCollection.md.html) |Concrete Collection type '%HINT%' is not natively supported by Moshi. | -|[MoshiUsageNonMoshiClassExternal](MoshiUsageNonMoshiClassExternal.md.html) |External type '%HINT%' is not natively supported by Moshi. | -|[MoshiUsageNonMoshiClassInternal](MoshiUsageNonMoshiClassInternal.md.html) |Non-Moshi internal type '%HINT%' is not natively supported by Moshi. | -|[MoshiUsageNonMoshiClassMap](MoshiUsageNonMoshiClassMap.md.html) |Concrete Map type '%HINT%' is not natively supported by Moshi. | -|[MoshiUsageNonMoshiClassPlatform](MoshiUsageNonMoshiClassPlatform.md.html) |Platform type '%HINT%' is not natively supported by Moshi. | -|[MoshiUsageObject](MoshiUsageObject.md.html) |Object types cannot be annotated with @JsonClass. | -|[MoshiUsageParamNeedsInit](MoshiUsageParamNeedsInit.md.html) |Constructor non-property parameters in Moshi classes must have default values. | -|[MoshiUsagePrivateConstructor](MoshiUsagePrivateConstructor.md.html) |Constructors in Moshi classes cannot be private. | -|[MoshiUsagePrivateConstructorProperty](MoshiUsagePrivateConstructorProperty.md.html) |Constructor parameter properties in Moshi classes cannot be private. | -|[MoshiUsageRedundantJsonName](MoshiUsageRedundantJsonName.md.html) |Json.name with the same value as the property/enum member name is redundant. | -|[MoshiUsageSealedMustBeSealed](MoshiUsageSealedMustBeSealed.md.html) |Moshi-sealed can only be applied to 'sealed' types. | -|[MoshiUsageSerializedName](MoshiUsageSerializedName.md.html) |Use Moshi's @Json rather than Gson's @SerializedName. | -|[MoshiUsageSnakeCase](MoshiUsageSnakeCase.md.html) |Consider using `@Json(name = ...)` rather than direct snake casing. | -|[MoshiUsageTransientNeedsInit](MoshiUsageTransientNeedsInit.md.html) |Transient constructor properties must have default values. | -|[MoshiUsageUnsupportedType](MoshiUsageUnsupportedType.md.html) |This type cannot be annotated with @JsonClass. | -|[MoshiUsageUseData](MoshiUsageUseData.md.html) |Model classes should be immutable data classes. | -|[MoshiUsageVarProperty](MoshiUsageVarProperty.md.html) |Moshi properties should be immutable. | -|[MoshiUsageClassVisibility](MoshiUsageClassVisibility.md.html) |@JsonClass-annotated types must be public, package-private, or internal. | -|[FragmentConstructorInjection](FragmentConstructorInjection.md.html) |Fragment dependencies should be injected using constructor injections only. | -|[FragmentFieldInjection](FragmentFieldInjection.md.html) |Fragment dependencies should be injected using the Fragment's constructor. | -|[InjectWithScopeRequiredLoggedInUserProvider](InjectWithScopeRequiredLoggedInUserProvider.md.html)|@InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope.| -|[InjectWithTypeMustImplementAnvilInjectable](InjectWithTypeMustImplementAnvilInjectable.md.html) |@InjectWith-annotated classes must implement AnvilInjectable (or extend something that does). | -|[RedactedInJavaUsage](RedactedInJavaUsage.md.html) |@Redacted is only supported in Kotlin classes! | -|[InjectInJava](InjectInJava.md.html) |Only Kotlin classes should be injected in order for Anvil to work. | -|[RetrofitUsage](RetrofitUsage.md.html) |This is replaced by the caller. | -|[RestrictCallsTo](RestrictCallsTo.md.html) |Methods annotated with @RestrictedCallsTo should only be called from the specified scope. | -|[SpanMarkPointMissingMask](SpanMarkPointMissingMask.md.html) |Check that Span flags use the bitwise mask SPAN_POINT_MARK_MASK when being compared to. | -|[DoNotExposeEitherNetInRepositories](DoNotExposeEitherNetInRepositories.md.html) |Repository APIs should not expose EitherNet types directly. | -|[FullyQualifiedResource](FullyQualifiedResource.md.html) |Resources should use an import alias instead of being fully qualified. | -|[MissingResourceImportAlias](MissingResourceImportAlias.md.html) |Missing import alias for R class. | -|[WrongResourceImportAlias](WrongResourceImportAlias.md.html) |Wrong import alias for this R class. | -|[DenyListedApi](DenyListedApi.md.html) |Deny-listed API | -|[DenyListedBlockingApi](DenyListedBlockingApi.md.html) |Deny-listed API | -|[ParcelizeFunctionProperty](ParcelizeFunctionProperty.md.html) |Function type properties should not be used in Parcelize classes | -|[ExceptionMessage](ExceptionMessage.md.html) |Please provide a string for the lazyMessage parameter | +|Issue Id |Issue Description | +|--------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------| +|[CastingViewContextToActivity](CastingViewContextToActivity.md.html) |Unsafe cast of `Context` to `Activity` | +|[ArgInFormattedQuantityStringRes](ArgInFormattedQuantityStringRes.md.html) |Count value in formatted string resource. | +|[BindsTypeMismatch](BindsTypeMismatch.md.html) |@Binds parameter/return must be type-assignable | +|[BindingReturnType](BindingReturnType.md.html) |@Binds/@Provides must have a return type | +|[BindingReceiverParameter](BindingReceiverParameter.md.html) |@Binds/@Provides functions cannot be extensions | +|[BindsWrongParameterCount](BindsWrongParameterCount.md.html) |@Binds must have one parameter | +|[BindsMustBeAbstract](BindsMustBeAbstract.md.html) |@Binds functions must be abstract | +|[RedundantBinds](RedundantBinds.md.html) |@Binds functions should return a different type | +|[MustBeInModule](MustBeInModule.md.html) |@Binds/@Provides functions must be in modules | +|[ProvidesMustNotBeAbstract](ProvidesMustNotBeAbstract.md.html) |@Provides functions cannot be abstract | +|[KotlinPairNotCreated](KotlinPairNotCreated.md.html) |Use Kotlin's kotlin.Pair instead of other Pair types from other libraries like AndroidX and Slack commons| +|[DoNotCallProviders](DoNotCallProviders.md.html) |Dagger provider methods should not be called directly by user code. | +|[InclusiveNaming](InclusiveNaming.md.html) |Use inclusive naming. | +|[InclusiveNaming](InclusiveNaming.md.html) |Use inclusive naming. | +|[DeprecatedCall](DeprecatedCall.md.html) |This class or method is deprecated; consider using an alternative. | +|[DeprecatedSqlUsage](DeprecatedSqlUsage.md.html) |Use SqlDelight! | +|[JavaOnlyDetector](JavaOnlyDetector.md.html) |Using @JavaOnly elements in Kotlin code. | +|[SerializableUsage](SerializableUsage.md.html) |Don't use Serializable. | +|[RawDispatchersUse](RawDispatchersUse.md.html) |Use SlackDispatchers. | +|[MainScopeUsage](MainScopeUsage.md.html) |Use slack.foundation.coroutines.android.MainScope. | +|[SubscribeOnMain](SubscribeOnMain.md.html) |subscribeOn called with the main thread scheduler. | +|[GuavaChecksUsed](GuavaChecksUsed.md.html) |Use Slack's JavaPreconditions instead of Guava's Preconditions checks | +|[GuavaPreconditionsUsedInKotlin](GuavaPreconditionsUsedInKotlin.md.html) |Kotlin precondition checks should use the Kotlin standard library checks | +|[DoNotMockAnything](DoNotMockAnything.md.html) |Do not add new mocks. | +|[DoNotMockPlatformTypes](DoNotMockPlatformTypes.md.html) |platform types should not be mocked | +|[DoNotMockDataClass](DoNotMockDataClass.md.html) |data classes represent pure data classes, so mocking them should not be necessary. | +|[DoNotMock](DoNotMock.md.html) | | +|[DoNotMockSealedClass](DoNotMockSealedClass.md.html) |sealed classes have a restricted type hierarchy, use a subtype instead | +|[DoNotMockAutoValue](DoNotMockAutoValue.md.html) |AutoValue classes represent pure data classes, so mocking them should not be necessary. | +|[DoNotMockObjectClass](DoNotMockObjectClass.md.html) |object classes are singletons, so mocking them should not be necessary | +|[DoNotMockRecordClass](DoNotMockRecordClass.md.html) |record classes represent pure data classes, so mocking them should not be necessary. | +|[ErrorProneDoNotMockUsage](ErrorProneDoNotMockUsage.md.html) |Use Slack's internal `@DoNotMock` annotation. | +|[MoshiUsageAdaptedByRequiresAdapter](MoshiUsageAdaptedByRequiresAdapter.md.html) |@AdaptedBy.adapter must be a JsonAdapter or JsonAdapter.Factory. | +|[MoshiUsageAdaptedByRequiresKeep](MoshiUsageAdaptedByRequiresKeep.md.html) |Adapters targeted by @AdaptedBy must have @Keep. | +|[MoshiUsageArray](MoshiUsageArray.md.html) |Prefer List over Array. | +|[MoshiUsageBlankGenerator](MoshiUsageBlankGenerator.md.html) |Don't use blank JsonClass.generator values. | +|[MoshiUsageBlankJsonName](MoshiUsageBlankJsonName.md.html) |Don't use blank names in `@Json`. | +|[MoshiUsageBlankTypeLabel](MoshiUsageBlankTypeLabel.md.html) |Moshi-sealed requires a type label specified after the 'sealed:' prefix. | +|[MoshiUsageDoubleClassAnnotation](MoshiUsageDoubleClassAnnotation.md.html) |Only use one of @AdaptedBy or @JsonClass. | +|[MoshiUsageDoubleTypeLabel](MoshiUsageDoubleTypeLabel.md.html) |Only use one of @TypeLabel or @DefaultObject. | +|[MoshiUsageDuplicateJsonName](MoshiUsageDuplicateJsonName.md.html) |Duplicate JSON names are errors as JSON does not allow duplicate keys in objects. | +|[MoshiUsageEnumAnnotatedUnknown](MoshiUsageEnumAnnotatedUnknown.md.html) |UNKNOWN members in @JsonClass-annotated enums should not be annotated with @Json | +|[MoshiUsageEnumCasing](MoshiUsageEnumCasing.md.html) |Consider using `@Json(name = ...)` rather than lower casing. | +|[MoshiUsageEnumJsonClassGenerated](MoshiUsageEnumJsonClassGenerated.md.html) |Enums annotated with @JsonClass must not set `generateAdapter` to true. | +|[MoshiUsageEnumMissingJsonClass](MoshiUsageEnumMissingJsonClass.md.html) |Enums serialized with Moshi should be annotated with @JsonClass. | +|[MoshiUsageEnumPropertyCouldBeMoshi](MoshiUsageEnumPropertyCouldBeMoshi.md.html) |Consider making enum properties also use Moshi. | +|[MoshiUsageEnumPropertyDefaultUnknown](MoshiUsageEnumPropertyDefaultUnknown.md.html) |Suspicious default value to 'UNKNOWN' for a Moshi enum. | +|[MoshiUsageEnumMissingUnknown](MoshiUsageEnumMissingUnknown.md.html) |Enums serialized with Moshi must reserve the first member as UNKNOWN. | +|[MoshiUsageGenerateAdapterShouldBeTrue](MoshiUsageGenerateAdapterShouldBeTrue.md.html)|JsonClass.generateAdapter must be true in order for Moshi code gen to run. | +|[MoshiUsageGenericSealedSubtype](MoshiUsageGenericSealedSubtype.md.html) |Sealed subtypes used with moshi-sealed cannot be generic. | +|[MoshiUsageInappropriateTypeLabel](MoshiUsageInappropriateTypeLabel.md.html) |Inappropriate @TypeLabel or @DefaultObject annotation. | +|[MoshiUsageRedundantSiteTarget](MoshiUsageRedundantSiteTarget.md.html) |Use of site-targets on @Json are redundant. | +|[MoshiUsageMissingPrimary](MoshiUsageMissingPrimary.md.html) |@JsonClass-annotated types must have a primary constructor or be sealed. | +|[MoshiUsageMissingTypeLabel](MoshiUsageMissingTypeLabel.md.html) |Sealed Moshi subtypes must be annotated with @TypeLabel or @DefaultObject. | +|[MoshiUsageMutableCollections](MoshiUsageMutableCollections.md.html) |Use immutable collections rather than mutable versions. | +|[MoshiUsageQualifierRetention](MoshiUsageQualifierRetention.md.html) |JsonQualifiers must have RUNTIME retention. | +|[MoshiUsageQualifierTarget](MoshiUsageQualifierTarget.md.html) |JsonQualifiers must include FIELD targeting. | +|[MoshiUsageNonMoshiClassCollection](MoshiUsageNonMoshiClassCollection.md.html) |Concrete Collection type '%HINT%' is not natively supported by Moshi. | +|[MoshiUsageNonMoshiClassExternal](MoshiUsageNonMoshiClassExternal.md.html) |External type '%HINT%' is not natively supported by Moshi. | +|[MoshiUsageNonMoshiClassInternal](MoshiUsageNonMoshiClassInternal.md.html) |Non-Moshi internal type '%HINT%' is not natively supported by Moshi. | +|[MoshiUsageNonMoshiClassMap](MoshiUsageNonMoshiClassMap.md.html) |Concrete Map type '%HINT%' is not natively supported by Moshi. | +|[MoshiUsageNonMoshiClassPlatform](MoshiUsageNonMoshiClassPlatform.md.html) |Platform type '%HINT%' is not natively supported by Moshi. | +|[MoshiUsageObject](MoshiUsageObject.md.html) |Object types cannot be annotated with @JsonClass. | +|[MoshiUsageParamNeedsInit](MoshiUsageParamNeedsInit.md.html) |Constructor non-property parameters in Moshi classes must have default values. | +|[MoshiUsagePrivateConstructor](MoshiUsagePrivateConstructor.md.html) |Constructors in Moshi classes cannot be private. | +|[MoshiUsagePrivateConstructorProperty](MoshiUsagePrivateConstructorProperty.md.html) |Constructor parameter properties in Moshi classes cannot be private. | +|[MoshiUsageRedundantJsonName](MoshiUsageRedundantJsonName.md.html) |Json.name with the same value as the property/enum member name is redundant. | +|[MoshiUsageSealedMustBeSealed](MoshiUsageSealedMustBeSealed.md.html) |Moshi-sealed can only be applied to 'sealed' types. | +|[MoshiUsageSerializedName](MoshiUsageSerializedName.md.html) |Use Moshi's @Json rather than Gson's @SerializedName. | +|[MoshiUsageSnakeCase](MoshiUsageSnakeCase.md.html) |Consider using `@Json(name = ...)` rather than direct snake casing. | +|[MoshiUsageTransientNeedsInit](MoshiUsageTransientNeedsInit.md.html) |Transient constructor properties must have default values. | +|[MoshiUsageUnsupportedType](MoshiUsageUnsupportedType.md.html) |This type cannot be annotated with @JsonClass. | +|[MoshiUsageUseData](MoshiUsageUseData.md.html) |Model classes should be immutable data classes. | +|[MoshiUsageVarProperty](MoshiUsageVarProperty.md.html) |Moshi properties should be immutable. | +|[MoshiUsageClassVisibility](MoshiUsageClassVisibility.md.html) |@JsonClass-annotated types must be public, package-private, or internal. | +|[FragmentConstructorInjection](FragmentConstructorInjection.md.html) |Fragment dependencies should be injected using constructor injections only. | +|[FragmentFieldInjection](FragmentFieldInjection.md.html) |Fragment dependencies should be injected using the Fragment's constructor. | +|[RedactedInJavaUsage](RedactedInJavaUsage.md.html) |@Redacted is only supported in Kotlin classes! | +|[InjectInJava](InjectInJava.md.html) |Only Kotlin classes should be injected in order for Anvil to work. | +|[RetrofitUsage](RetrofitUsage.md.html) |This is replaced by the caller. | +|[RestrictCallsTo](RestrictCallsTo.md.html) |Methods annotated with @RestrictedCallsTo should only be called from the specified scope. | +|[SpanMarkPointMissingMask](SpanMarkPointMissingMask.md.html) |Check that Span flags use the bitwise mask SPAN_POINT_MARK_MASK when being compared to. | +|[DoNotExposeEitherNetInRepositories](DoNotExposeEitherNetInRepositories.md.html) |Repository APIs should not expose EitherNet types directly. | +|[FullyQualifiedResource](FullyQualifiedResource.md.html) |Resources should use an import alias instead of being fully qualified. | +|[MissingResourceImportAlias](MissingResourceImportAlias.md.html) |Missing import alias for R class. | +|[WrongResourceImportAlias](WrongResourceImportAlias.md.html) |Wrong import alias for this R class. | +|[DenyListedApi](DenyListedApi.md.html) |Deny-listed API | +|[DenyListedBlockingApi](DenyListedBlockingApi.md.html) |Deny-listed API | +|[ParcelizeFunctionProperty](ParcelizeFunctionProperty.md.html) |Function type properties are not parcelable | +|[ExceptionMessage](ExceptionMessage.md.html) |Please provide a string for the `lazyMessage` parameter | +|[MustUseNamedParams](MustUseNamedParams.md.html) |Calls to @MustUseNamedParams-annotated methods must name all parameters. | (##) Including @@ -126,17 +126,17 @@ ``` // build.gradle.kts -lintChecks("com.slack.lint:slack-lint-checks:0.7.0") +lintChecks("com.slack.lint:slack-lint-checks:0.7.3") // build.gradle -lintChecks 'com.slack.lint:slack-lint-checks:0.7.0' +lintChecks 'com.slack.lint:slack-lint-checks:0.7.3' // build.gradle.kts with version catalogs: lintChecks(libs.slack-lint-checks) # libs.versions.toml [versions] -slack-lint-checks = "0.7.0" +slack-lint-checks = "0.7.3" [libraries] slack-lint-checks = { module = "com.slack.lint:slack-lint-checks", @@ -144,7 +144,7 @@ } ``` -0.7.0 is the version this documentation was generated from; +0.7.3 is the version this documentation was generated from; there may be newer versions available. (##) Changes @@ -210,6 +210,10 @@ * 0.5.1: Adds MustBeInModule. Removes BindsMustBeInModule. * 0.6.0: Adds ExceptionMessage. * 0.7.0: Adds DenyListedBlockingApi. +* 0.7.1: Adds MustUseNamedParams. Removes + InjectWithScopeRequiredLoggedInUserProvider, + InjectWithTypeMustImplementAnvilInjectable. +* 0.7.2: Adds DoNotMockAnything. (##) Version Compatibility @@ -217,6 +221,9 @@ | Version | Date | Issues | Compatible | Compiled | Requires | |-------------------:|----------|-------:|------------|--------------:|---------:| +| 0.7.3|2024/05/03| 91| Yes| 8.0 and 8.1|8.0 and 8.1| +| 0.7.2|2024/05/02| 91| Yes| 8.0 and 8.1|8.0 and 8.1| +| 0.7.1|2024/03/27| 90| Yes| 8.0 and 8.1|8.0 and 8.1| | 0.7.0|2023/10/27| 91| Yes| 8.0 and 8.1|8.0 and 8.1| | 0.6.1|2023/10/09| 90| Yes| 8.0 and 8.1|8.0 and 8.1| | 0.6.0|2023/09/26| 90| Yes| 8.0 and 8.1|8.0 and 8.1| diff --git a/docs/checks/index.md.html b/docs/checks/index.md.html index bd29e356..d3c4efdb 100644 --- a/docs/checks/index.md.html +++ b/docs/checks/index.md.html @@ -42,11 +42,11 @@ - [BidiSpoofing: Bidirectional text spoofing](BidiSpoofing.md.html) - [BinaryOperationInTimber: Use String#format()](BinaryOperationInTimber.md.html) - [BinderGetCallingInMainThread: Incorrect usage of getCallingUid() or getCallingPid()](BinderGetCallingInMainThread.md.html) - - [BindingReceiverParameter: @Binds/@Provides functions cannot be extension functions.](BindingReceiverParameter.md.html) - - [BindingReturnType: @Binds/@Provides functions must have a return type. Cannot be void or Unit.](BindingReturnType.md.html) - - [BindsMustBeAbstract: @Binds functions must be abstract and cannot have function bodies.](BindsMustBeAbstract.md.html) - - [BindsTypeMismatch: @Binds function parameters must be type-assignable to their return types.](BindsTypeMismatch.md.html) - - [BindsWrongParameterCount: @Binds functions require a single parameter as an input to bind.](BindsWrongParameterCount.md.html) + - [BindingReceiverParameter: @Binds/@Provides functions cannot be extensions](BindingReceiverParameter.md.html) + - [BindingReturnType: @Binds/@Provides must have a return type](BindingReturnType.md.html) + - [BindsMustBeAbstract: @Binds functions must be abstract](BindsMustBeAbstract.md.html) + - [BindsTypeMismatch: @Binds parameter/return must be type-assignable](BindsTypeMismatch.md.html) + - [BindsWrongParameterCount: @Binds must have one parameter](BindsWrongParameterCount.md.html) - [BlockedPrivateApi: Using Blocked Private API](BlockedPrivateApi.md.html) - [BomWithoutPlatform: Using a BOM without platform call](BomWithoutPlatform.md.html) - [BottomAppBar: BottomAppBar Problems](BottomAppBar.md.html) @@ -71,10 +71,12 @@ - [ComposableLambdaParameterPosition: Non-trailing primary composable lambda parameter](ComposableLambdaParameterPosition.md.html) - [ComposableNaming: Incorrect naming for @Composable functions](ComposableNaming.md.html) - [ComposableNavGraphInComposeScope: Building navigation graph in compose scope](ComposableNavGraphInComposeScope.md.html) - - [ComposeComposableModifier: Using @Composable builder functions for modifiers is not recommended](ComposeComposableModifier.md.html) + - [ComposeComposableModifier: Don't use @Composable builder functions for modifiers](ComposeComposableModifier.md.html) + - [ComposeCompositionLocalGetter: CompositionLocals should not use getters](ComposeCompositionLocalGetter.md.html) - [ComposeCompositionLocalUsage: CompositionLocals are discouraged](ComposeCompositionLocalUsage.md.html) - [ComposeContentEmitterReturningValues: Composable functions should emit XOR return](ComposeContentEmitterReturningValues.md.html) - [ComposeM2Api: Using a Compose M2 API is not recommended](ComposeM2Api.md.html) + - [ComposeModifierComposed: Don't use Modifier.composed {}](ComposeModifierComposed.md.html) - [ComposeModifierMissing: Missing modifier parameter](ComposeModifierMissing.md.html) - [ComposeModifierReused: Modifiers should only be used once](ComposeModifierReused.md.html) - [ComposeModifierWithoutDefault: Missing Modifier default value](ComposeModifierWithoutDefault.md.html) @@ -87,7 +89,8 @@ - [ComposePreviewPublic: Preview composables should be private](ComposePreviewPublic.md.html) - [ComposeRememberMissing: State values should be remembered](ComposeRememberMissing.md.html) - [ComposeUnstableCollections: Immutable collections should ideally be used in Composables](ComposeUnstableCollections.md.html) - - [ComposeViewModelForwarding: Forwarding a ViewModel through multiple @Composable functions should be avoided](ComposeViewModelForwarding.md.html) + - [ComposeUnstableReceiver: Unstable receivers will always be recomposed](ComposeUnstableReceiver.md.html) + - [ComposeViewModelForwarding: Don't forward ViewModels through composables](ComposeViewModelForwarding.md.html) - [ComposeViewModelInjection: Implicit dependencies of composables should be made explicit](ComposeViewModelInjection.md.html) - [CompositionLocalNaming: CompositionLocal properties should be prefixed with `Local`](CompositionLocalNaming.md.html) - [ConflictingOnColor: Background colors with the same value should have the same 'on' color](ConflictingOnColor.md.html) @@ -128,6 +131,7 @@ - [DoNotCallProviders: Dagger provider methods should not be called directly by user code.](DoNotCallProviders.md.html) - [DoNotExposeEitherNetInRepositories: Repository APIs should not expose EitherNet types directly.](DoNotExposeEitherNetInRepositories.md.html) - [DoNotMock: ](DoNotMock.md.html) + - [DoNotMockAnything: Do not add new mocks.](DoNotMockAnything.md.html) - [DoNotMockAutoValue: AutoValue classes represent pure data classes, so mocking them should not be necessary.](DoNotMockAutoValue.md.html) - [DoNotMockDataClass: data classes represent pure data classes, so mocking them should not be necessary.](DoNotMockDataClass.md.html) - [DoNotMockObjectClass: object classes are singletons, so mocking them should not be necessary](DoNotMockObjectClass.md.html) @@ -155,7 +159,7 @@ - [ErroneousLayoutAttribute: Layout attribute that's not applicable to a particular view.](ErroneousLayoutAttribute.md.html) - [ErrorProneDoNotMockUsage: Use Slack's internal `@DoNotMock` annotation.](ErrorProneDoNotMockUsage.md.html) - [ExactAlarm: Invalid Usage of Exact Alarms](ExactAlarm.md.html) - - [ExceptionMessage: Please provide a string for the lazyMessage parameter](ExceptionMessage.md.html) + - [ExceptionMessage: Please provide a string for the `lazyMessage` parameter](ExceptionMessage.md.html) - [ExifInterface: Using `android.media.ExifInterface`](ExifInterface.md.html) - [ExpensiveAssertion: Expensive Assertions](ExpensiveAssertion.md.html) - [ExperimentalAnnotationRetention: Experimental annotation with incorrect retention](ExperimentalAnnotationRetention.md.html) @@ -179,8 +183,8 @@ - [FragmentBackPressedCallback: Use getViewLifecycleOwner() as the LifecycleOwner instead of a Fragment instance.](FragmentBackPressedCallback.md.html) - [FragmentConstructorInjection: Fragment dependencies should be injected using constructor injections only.](FragmentConstructorInjection.md.html) - [FragmentFieldInjection: Fragment dependencies should be injected using the Fragment's constructor.](FragmentFieldInjection.md.html) - - [FragmentGradleConfiguration: Include the fragment-testing library using the debugImplementation configuration.](FragmentGradleConfiguration.md.html) (from androidx.fragment:fragment-testing:1.7.0-alpha09) - - [FragmentGradleConfiguration: Include the fragment-testing-manifest library using the debugImplementation configuration.](FragmentGradleConfiguration.md.html) (from androidx.fragment:fragment-testing-manifest:1.7.0-alpha09) + - [FragmentGradleConfiguration: Include the fragment-testing library using the debugImplementation configuration.](FragmentGradleConfiguration.md.html) (from androidx.fragment:fragment-testing:1.8.0-beta01) + - [FragmentGradleConfiguration: Include the fragment-testing-manifest library using the debugImplementation configuration.](FragmentGradleConfiguration.md.html) (from androidx.fragment:fragment-testing-manifest:1.8.0-beta01) - [FragmentLiveDataObserve: Use getViewLifecycleOwner() as the LifecycleOwner instead of a Fragment instance when observing a LiveData object.](FragmentLiveDataObserve.md.html) - [FragmentTagUsage: Use FragmentContainerView instead of the tag](FragmentTagUsage.md.html) - [FrequentlyChangedStateReadInComposition: Frequently changing state should not be directly read in composable function](FrequentlyChangedStateReadInComposition.md.html) @@ -234,8 +238,8 @@ - [ImpliedTouchscreenHardware: Touchscreen not optional](ImpliedTouchscreenHardware.md.html) - [InOrMmUsage: Using `mm` or `in` dimensions](InOrMmUsage.md.html) - [IncludeLayoutParam: Ignored layout params on include](IncludeLayoutParam.md.html) - - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) (from com.slack.lint:slack-lint-checks:0.7.0) - - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) (from com.slack.lint:slack-lint-checks:0.7.0) + - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) (from com.slack.lint:slack-lint-checks:0.7.3) + - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) (from com.slack.lint:slack-lint-checks:0.7.3) - [IncompatibleMediaBrowserServiceCompatVersion: Obsolete version of MediaBrowserServiceCompat](IncompatibleMediaBrowserServiceCompatVersion.md.html) - [InconsistentArrays: Inconsistencies in array element counts](InconsistentArrays.md.html) - [InconsistentLayout: Inconsistent Layouts](InconsistentLayout.md.html) @@ -245,8 +249,6 @@ - [InefficientWeight: Inefficient layout weight](InefficientWeight.md.html) - [InflateParams: Layout Inflation without a Parent](InflateParams.md.html) - [InjectInJava: Only Kotlin classes should be injected in order for Anvil to work.](InjectInJava.md.html) - - [InjectWithScopeRequiredLoggedInUserProvider: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope.](InjectWithScopeRequiredLoggedInUserProvider.md.html) - - [InjectWithTypeMustImplementAnvilInjectable: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does).](InjectWithTypeMustImplementAnvilInjectable.md.html) - [InlinedApi: Using inlined constants on older versions](InlinedApi.md.html) - [InnerclassSeparator: Inner classes should use `$` rather than `.`](InnerclassSeparator.md.html) - [InsecureBaseConfiguration: Insecure Base Configuration](InsecureBaseConfiguration.md.html) @@ -264,6 +266,7 @@ - [InvalidId: Invalid ID declaration](InvalidId.md.html) - [InvalidImeActionId: Invalid imeActionId declaration](InvalidImeActionId.md.html) - [InvalidImport: Flags invalid imports.](InvalidImport.md.html) + - [InvalidLanguageTagDelimiter: Undercore (_) is an unsupported delimiter for subtags](InvalidLanguageTagDelimiter.md.html) - [InvalidNavigation: No start destination specified](InvalidNavigation.md.html) - [InvalidPackage: Package not included in Android](InvalidPackage.md.html) - [InvalidPeriodicWorkRequestInterval: Invalid interval duration](InvalidPeriodicWorkRequestInterval.md.html) @@ -273,6 +276,7 @@ a value for `size` in the scrolling direction.](InvalidSetHasFixedSize.md.html) - [InvalidSingleLineComment: Marks single line comments that are not sentences.](InvalidSingleLineComment.md.html) - [InvalidString: Marks invalid translation strings.](InvalidString.md.html) + - [InvalidUseOfOnBackPressed: Do not call onBackPressed() within OnBackPressedDisptacher](InvalidUseOfOnBackPressed.md.html) - [InvalidUsesTagAttribute: Invalid `name` attribute for `uses` element](InvalidUsesTagAttribute.md.html) - [InvalidVectorPath: Invalid vector paths](InvalidVectorPath.md.html) - [InvalidWakeLockTag: Invalid Wake Lock Tag](InvalidWakeLockTag.md.html) @@ -411,7 +415,8 @@ - [MotionSceneFileValidationError: Validation errors in `MotionScene` files](MotionSceneFileValidationError.md.html) - [MultipleAwaitPointerEventScopes: Suspicious use of multiple awaitPointerEventScope blocks. Using multiple awaitPointerEventScope blocks may cause some input events to be dropped.](MultipleAwaitPointerEventScopes.md.html) - [MultipleUsesSdk: Multiple `` elements in the manifest](MultipleUsesSdk.md.html) - - [MustBeInModule: @Binds/@Provides function must be in `@Module`-annotated classes.](MustBeInModule.md.html) + - [MustBeInModule: @Binds/@Provides functions must be in modules](MustBeInModule.md.html) + - [MustUseNamedParams: Calls to @MustUseNamedParams-annotated methods must name all parameters.](MustUseNamedParams.md.html) - [MutableCollectionMutableState: Creating a MutableState object with a mutable collection type](MutableCollectionMutableState.md.html) - [MutableImplicitPendingIntent: Mutable Implicit PendingIntent is disallowed](MutableImplicitPendingIntent.md.html) - [MutatingSharedPrefs: Mutating an Immutable SharedPrefs Set](MutatingSharedPrefs.md.html) @@ -437,7 +442,8 @@ - [NotificationPermission: Notifications Without Permission](NotificationPermission.md.html) - [NotificationTrampoline: Notification Trampolines](NotificationTrampoline.md.html) - [NotifyDataSetChanged: Invalidating All RecyclerView Data](NotifyDataSetChanged.md.html) - - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) + - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) (from androidx.lifecycle:lifecycle-livedata-core:2.8.0) + - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) (from androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0-alpha01) - [ObjectAnimatorBinding: Incorrect ObjectAnimator Property](ObjectAnimatorBinding.md.html) - [ObsoleteLayoutParam: Obsolete layout params](ObsoleteLayoutParam.md.html) - [ObsoleteSdkInt: Obsolete SDK_INT Version Check](ObsoleteSdkInt.md.html) @@ -452,11 +458,12 @@ - [PackagedPrivateKey: Packaged private key](PackagedPrivateKey.md.html) - [ParcelClassLoader: Default Parcel Class Loader](ParcelClassLoader.md.html) - [ParcelCreator: Missing Parcelable `CREATOR` field](ParcelCreator.md.html) - - [ParcelizeFunctionProperty: Function type properties should not be used in Parcelize classes](ParcelizeFunctionProperty.md.html) + - [ParcelizeFunctionProperty: Function type properties are not parcelable](ParcelizeFunctionProperty.md.html) - [PendingBindings: Missing Pending Bindings](PendingBindings.md.html) - [PermissionImpliesUnsupportedChromeOsHardware: Permission Implies Unsupported Chrome OS Hardware](PermissionImpliesUnsupportedChromeOsHardware.md.html) - [PermissionImpliesUnsupportedHardware: Permission Implies Unsupported Hardware](PermissionImpliesUnsupportedHardware.md.html) - [PermissionNamingConvention: Permission name does not follow recommended convention](PermissionNamingConvention.md.html) + - [PictureInPictureIssue: Picture In Picture best practices not followed](PictureInPictureIssue.md.html) - [PinSetExpiry: Validate `` expiration attribute](PinSetExpiry.md.html) - [PlaySdkIndexGenericIssues: Library has issues in SDK Index](PlaySdkIndexGenericIssues.md.html) - [PlaySdkIndexNonCompliant: Library has policy issues in SDK Index](PlaySdkIndexNonCompliant.md.html) @@ -468,10 +475,17 @@ - [ProguardSplit: Proguard.cfg file contains generic Android rules](ProguardSplit.md.html) - [PropertyEscape: Incorrect property escapes](PropertyEscape.md.html) - [ProtectedPermissions: Using system app permission](ProtectedPermissions.md.html) - - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) (from androidx.wear.protolayout:protolayout-expression:1.1.0-rc01) - - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) (from androidx.wear.protolayout:protolayout:1.1.0-rc01) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) (from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) (from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) (from androidx.wear.protolayout:protolayout:1.2.0-alpha03) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) (from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) (from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) (from androidx.wear.protolayout:protolayout:1.2.0-alpha03) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) (from androidx.wear.protolayout:protolayout-expression:1.2.0-alpha03) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) (from androidx.wear.protolayout:protolayout-material:1.2.0-alpha03) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) (from androidx.wear.protolayout:protolayout:1.2.0-alpha03) - [ProviderReadPermissionOnly: Provider with readPermission only and implemented write APIs](ProviderReadPermissionOnly.md.html) - - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract.](ProvidesMustNotBeAbstract.md.html) + - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract](ProvidesMustNotBeAbstract.md.html) - [ProxyPassword: Proxy Password in Cleartext](ProxyPassword.md.html) - [PublicKeyCredential: Creating public key credential](PublicKeyCredential.md.html) - [PxUsage: Using 'px' dimension](PxUsage.md.html) @@ -484,7 +498,7 @@ - [Recycle: Missing `recycle()` calls](Recycle.md.html) - [RecyclerView: RecyclerView Problems](RecyclerView.md.html) - [RedactedInJavaUsage: @Redacted is only supported in Kotlin classes!](RedactedInJavaUsage.md.html) - - [RedundantBinds: @Binds functions should return a different type (including annotations) than the input type.](RedundantBinds.md.html) + - [RedundantBinds: @Binds functions should return a different type](RedundantBinds.md.html) - [RedundantLabel: Redundant label on activity](RedundantLabel.md.html) - [RedundantNamespace: Redundant namespace](RedundantNamespace.md.html) - [ReferenceType: Incorrect reference types](ReferenceType.md.html) @@ -494,7 +508,8 @@ - [RememberSaveableSaverParameter: `Saver` objects should be passed to the saver parameter, not the vararg `inputs` parameter](RememberSaveableSaverParameter.md.html) - [RemoteViewLayout: Unsupported View in RemoteView](RemoteViewLayout.md.html) - [RemoveWorkManagerInitializer: Remove androidx.work.WorkManagerInitializer from your AndroidManifest.xml when using on-demand initialization.](RemoveWorkManagerInitializer.md.html) - - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) + - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) (from androidx.lifecycle:lifecycle-runtime-android:2.8.0) + - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) (from androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01) - [ReportShortcutUsage: Report shortcut usage](ReportShortcutUsage.md.html) - [RequiredSize: Missing `layout_width` or `layout_height` attributes](RequiredSize.md.html) - [RequiresFeature: Requires Feature](RequiresFeature.md.html) @@ -548,6 +563,7 @@ - [ShouldUseStaticImport: Flags declarations that should be statically imported.](ShouldUseStaticImport.md.html) - [ShowToast: Toast created but not shown](ShowToast.md.html) - [SignatureOrSystemPermissions: Declaring signatureOrSystem permissions](SignatureOrSystemPermissions.md.html) + - [SimilarGradleDependency: Multiple Versions Gradle Dependency](SimilarGradleDependency.md.html) - [SimpleDateFormat: Implied locale in date format](SimpleDateFormat.md.html) - [Slices: Slices](Slices.md.html) - [SmallSp: Text size is too small](SmallSp.md.html) @@ -580,6 +596,7 @@ - [SuspiciousCompositionLocalModifierRead: CompositionLocals should not be read in Modifier.onAttach() or Modifier.onDetach()](SuspiciousCompositionLocalModifierRead.md.html) - [SuspiciousImport: '`import android.R`' statement](SuspiciousImport.md.html) - [SuspiciousIndentation: Suspicious indentation](SuspiciousIndentation.md.html) + - [SuspiciousModifierThen: Using Modifier.then with a Modifier factory function with an implicit receiver](SuspiciousModifierThen.md.html) - [SwitchIntDef: Missing @IntDef in Switch](SwitchIntDef.md.html) - [SyntheticAccessor: Synthetic Accessor](SyntheticAccessor.md.html) - [SystemPermissionTypo: Permission appears to be a standard permission with a typo](SystemPermissionTypo.md.html) @@ -608,6 +625,7 @@ - [TypographyQuotes: Straight quotes can be replaced with curvy quotes, and apostrophes with typographic apostrophes.](TypographyQuotes.md.html) - [Typos: Spelling error](Typos.md.html) - [UastImplementation: Avoid using UAST implementation](UastImplementation.md.html) + - [UnclosedTrace: Incorrect trace section usage](UnclosedTrace.md.html) - [UniqueConstants: Overlapping Enumeration Constants](UniqueConstants.md.html) - [UniquePermission: Permission names are not unique](UniquePermission.md.html) - [UnknownId: Reference to an unknown id](UnknownId.md.html) @@ -623,7 +641,8 @@ - [UnsafeDynamicallyLoadedCode: `load` used to dynamically load code](UnsafeDynamicallyLoadedCode.md.html) - [UnsafeImplicitIntentLaunch: Implicit intent matches an internal non-exported component](UnsafeImplicitIntentLaunch.md.html) - [UnsafeIntentLaunch: Launched Unsafe Intent](UnsafeIntentLaunch.md.html) - - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) + - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) (from androidx.lifecycle:lifecycle-runtime-android:2.8.0) + - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) (from androidx.lifecycle:lifecycle-runtime-ktx:2.8.0-alpha01) - [UnsafeNativeCodeLocation: Native code outside library directory](UnsafeNativeCodeLocation.md.html) - [UnsafeOptInUsageError: Unsafe opt-in usage intended to be error-level severity](UnsafeOptInUsageError.md.html) - [UnsafeOptInUsageWarning: Unsafe opt-in usage intended to be warning-level severity](UnsafeOptInUsageWarning.md.html) diff --git a/docs/checks/libraries.md.html b/docs/checks/libraries.md.html index a8bac4b2..1ad59c00 100644 --- a/docs/checks/libraries.md.html +++ b/docs/checks/libraries.md.html @@ -11,14 +11,15 @@ * [com.vanniktech:lint-rules-kotlin](com_vanniktech_lint-rules-kotlin.md.html) (1 checks) * [com.vanniktech:lint-rules-android](com_vanniktech_lint-rules-android.md.html) (41 checks) * [com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html) (91 checks) -* [com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html) (18 checks) +* [com.slack.lint.compose:compose-lint-checks](com_slack_lint_compose_compose-lint-checks.md.html) (21 checks) Android archive libraries which also contain bundled lint checks: * [androidx.activity:activity-compose](androidx_activity_activity-compose.md.html) (2 checks) -* [androidx.activity:activity](androidx_activity_activity.md.html) (1 checks) +* [androidx.activity:activity](androidx_activity_activity.md.html) (2 checks) * [androidx.compose.ui:ui-test-manifest](androidx_compose_ui_ui-test-manifest.md.html) (1 checks) -* [androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html) (9 checks) +* [androidx.compose.ui:ui-android](androidx_compose_ui_ui-android.md.html) (10 checks) +* [androidx.compose.ui:ui-text-android](androidx_compose_ui_ui-text-android.md.html) (1 checks) * [androidx.compose.ui:ui-graphics-android](androidx_compose_ui_ui-graphics-android.md.html) (2 checks) * [androidx.compose.runtime:runtime-saveable-android](androidx_compose_runtime_runtime-saveable-android.md.html) (1 checks) * [androidx.compose.runtime:runtime-android](androidx_compose_runtime_runtime-android.md.html) (14 checks) @@ -27,7 +28,9 @@ * [androidx.compose.foundation:foundation-android](androidx_compose_foundation_foundation-android.md.html) (4 checks) * [androidx.compose.material3:material3-android](androidx_compose_material3_material3-android.md.html) (2 checks) * [androidx.compose.material:material-android](androidx_compose_material_material-android.md.html) (2 checks) +* [androidx.lifecycle:lifecycle-livedata-core](androidx_lifecycle_lifecycle-livedata-core.md.html) (1 checks) * [androidx.lifecycle:lifecycle-livedata-core-ktx](androidx_lifecycle_lifecycle-livedata-core-ktx.md.html) (1 checks) +* [androidx.lifecycle:lifecycle-runtime-android](androidx_lifecycle_lifecycle-runtime-android.md.html) (2 checks) * [androidx.lifecycle:lifecycle-runtime-testing](androidx_lifecycle_lifecycle-runtime-testing.md.html) (1 checks) * [androidx.lifecycle:lifecycle-runtime-ktx](androidx_lifecycle_lifecycle-runtime-ktx.md.html) (2 checks) * [androidx.navigation:navigation-compose](androidx_navigation_navigation-compose.md.html) (3 checks) @@ -41,8 +44,9 @@ * [androidx.work:work-runtime](androidx_work_work-runtime.md.html) (9 checks) * [androidx.appcompat:appcompat](androidx_appcompat_appcompat.md.html) (10 checks) * [androidx.startup:startup-runtime](androidx_startup_startup-runtime.md.html) (2 checks) -* [androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html) (1 checks) -* [androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html) (1 checks) +* [androidx.wear.protolayout:protolayout-expression](androidx_wear_protolayout_protolayout-expression.md.html) (3 checks) +* [androidx.wear.protolayout:protolayout-material](androidx_wear_protolayout_protolayout-material.md.html) (3 checks) +* [androidx.wear.protolayout:protolayout](androidx_wear_protolayout_protolayout.md.html) (3 checks) * [androidx.constraintlayout:constraintlayout-compose](androidx_constraintlayout_constraintlayout-compose.md.html) (3 checks) * [com.jakewharton.timber:timber](com_jakewharton_timber_timber.md.html) (8 checks) diff --git a/docs/checks/severity.md.html b/docs/checks/severity.md.html index 2dfa4985..2165e1ad 100644 --- a/docs/checks/severity.md.html +++ b/docs/checks/severity.md.html @@ -3,7 +3,7 @@ Order: [Alphabetical](index.md.html) | [By category](categories.md.html) | [By vendor](vendors.md.html) | By severity | [By year](year.md.html) | [Libraries](libraries.md.html) -* Fatal (53) +* Fatal (54) - [AaptCrash: Potential AAPT crash](AaptCrash.md.html) - [BadConfigurationProvider: Invalid WorkManager Configuration Provider](BadConfigurationProvider.md.html) @@ -37,6 +37,7 @@ - [NfcTechWhitespace: Whitespace in NFC tech lists](NfcTechWhitespace.md.html) - [NotSibling: Invalid Constraints](NotSibling.md.html) - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) + - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) - [PackagedPrivateKey: Packaged private key](PackagedPrivateKey.md.html) - [Proguard: Using obsolete ProGuard configuration](Proguard.md.html) - [ReferenceType: Incorrect reference types](ReferenceType.md.html) @@ -60,7 +61,7 @@ - [WrongFolder: Resource file in the wrong `res` folder](WrongFolder.md.html) - [WrongManifestParent: Wrong manifest parent](WrongManifestParent.md.html) -* Error (280) +* Error (287) - [AccidentalOctal: Accidental Octal](AccidentalOctal.md.html) - [AppCompatCustomView: Appcompat Custom Widgets](AppCompatCustomView.md.html) @@ -70,20 +71,22 @@ - [AutoDispose: Missing Disposable handling: Apply AutoDispose or cache the Disposable instance manually and enable lenient mode.](AutoDispose.md.html) - [BidiSpoofing: Bidirectional text spoofing](BidiSpoofing.md.html) - [BinderGetCallingInMainThread: Incorrect usage of getCallingUid() or getCallingPid()](BinderGetCallingInMainThread.md.html) - - [BindingReceiverParameter: @Binds/@Provides functions cannot be extension functions.](BindingReceiverParameter.md.html) - - [BindingReturnType: @Binds/@Provides functions must have a return type. Cannot be void or Unit.](BindingReturnType.md.html) - - [BindsMustBeAbstract: @Binds functions must be abstract and cannot have function bodies.](BindsMustBeAbstract.md.html) - - [BindsTypeMismatch: @Binds function parameters must be type-assignable to their return types.](BindsTypeMismatch.md.html) - - [BindsWrongParameterCount: @Binds functions require a single parameter as an input to bind.](BindsWrongParameterCount.md.html) + - [BindingReceiverParameter: @Binds/@Provides functions cannot be extensions](BindingReceiverParameter.md.html) + - [BindingReturnType: @Binds/@Provides must have a return type](BindingReturnType.md.html) + - [BindsMustBeAbstract: @Binds functions must be abstract](BindsMustBeAbstract.md.html) + - [BindsTypeMismatch: @Binds parameter/return must be type-assignable](BindsTypeMismatch.md.html) + - [BindsWrongParameterCount: @Binds must have one parameter](BindsWrongParameterCount.md.html) - [BottomAppBar: BottomAppBar Problems](BottomAppBar.md.html) - [ByteOrderMark: Byte order mark inside files](ByteOrderMark.md.html) - [CastingViewContextToActivity: Unsafe cast of `Context` to `Activity`](CastingViewContextToActivity.md.html) - [CoarseFineLocation: Cannot use `ACCESS_FINE_LOCATION` without `ACCESS_COARSE_LOCATION`](CoarseFineLocation.md.html) - [ComposableDestinationInComposeScope: Building composable destination in compose scope](ComposableDestinationInComposeScope.md.html) - [ComposableNavGraphInComposeScope: Building navigation graph in compose scope](ComposableNavGraphInComposeScope.md.html) - - [ComposeComposableModifier: Using @Composable builder functions for modifiers is not recommended](ComposeComposableModifier.md.html) + - [ComposeComposableModifier: Don't use @Composable builder functions for modifiers](ComposeComposableModifier.md.html) + - [ComposeCompositionLocalGetter: CompositionLocals should not use getters](ComposeCompositionLocalGetter.md.html) - [ComposeContentEmitterReturningValues: Composable functions should emit XOR return](ComposeContentEmitterReturningValues.md.html) - [ComposeM2Api: Using a Compose M2 API is not recommended](ComposeM2Api.md.html) + - [ComposeModifierComposed: Don't use Modifier.composed {}](ComposeModifierComposed.md.html) - [ComposeModifierMissing: Missing modifier parameter](ComposeModifierMissing.md.html) - [ComposeModifierReused: Modifiers should only be used once](ComposeModifierReused.md.html) - [ComposeModifierWithoutDefault: Missing Modifier default value](ComposeModifierWithoutDefault.md.html) @@ -95,7 +98,7 @@ - [ComposePreviewNaming: Preview annotations require certain suffixes](ComposePreviewNaming.md.html) - [ComposePreviewPublic: Preview composables should be private](ComposePreviewPublic.md.html) - [ComposeRememberMissing: State values should be remembered](ComposeRememberMissing.md.html) - - [ComposeViewModelForwarding: Forwarding a ViewModel through multiple @Composable functions should be avoided](ComposeViewModelForwarding.md.html) + - [ComposeViewModelForwarding: Don't forward ViewModels through composables](ComposeViewModelForwarding.md.html) - [ComposeViewModelInjection: Implicit dependencies of composables should be made explicit](ComposeViewModelInjection.md.html) - [ConflictingOnColor: Background colors with the same value should have the same 'on' color](ConflictingOnColor.md.html) - [CoroutineCreationDuringComposition: Calls to `async` or `launch` should happen inside a LaunchedEffect and not composition](CoroutineCreationDuringComposition.md.html) @@ -108,6 +111,7 @@ - [DoNotCallProviders: Dagger provider methods should not be called directly by user code.](DoNotCallProviders.md.html) - [DoNotExposeEitherNetInRepositories: Repository APIs should not expose EitherNet types directly.](DoNotExposeEitherNetInRepositories.md.html) - [DoNotMock: ](DoNotMock.md.html) + - [DoNotMockAnything: Do not add new mocks.](DoNotMockAnything.md.html) - [DoNotMockAutoValue: AutoValue classes represent pure data classes, so mocking them should not be necessary.](DoNotMockAutoValue.md.html) - [DoNotMockDataClass: data classes represent pure data classes, so mocking them should not be necessary.](DoNotMockDataClass.md.html) - [DoNotMockObjectClass: object classes are singletons, so mocking them should not be necessary](DoNotMockObjectClass.md.html) @@ -120,7 +124,7 @@ - [EmptyNavDeepLink: NavDeepLink must define an uri, action, and/or mimetype to be valid.](EmptyNavDeepLink.md.html) - [ErrorProneDoNotMockUsage: Use Slack's internal `@DoNotMock` annotation.](ErrorProneDoNotMockUsage.md.html) - [ExactAlarm: Invalid Usage of Exact Alarms](ExactAlarm.md.html) - - [ExceptionMessage: Please provide a string for the lazyMessage parameter](ExceptionMessage.md.html) + - [ExceptionMessage: Please provide a string for the `lazyMessage` parameter](ExceptionMessage.md.html) - [ExperimentalAnnotationRetention: Experimental annotation with incorrect retention](ExperimentalAnnotationRetention.md.html) - [ExtraText: Extraneous text in resource files](ExtraText.md.html) - [FlowOperatorInvokedInComposition: Flow operator functions should not be invoked within composition](FlowOperatorInvokedInComposition.md.html) @@ -151,10 +155,9 @@ - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) - [IncorrectReferencesDeclaration: `createRefsFor(vararg ids: Any)` should have at least one argument and match assigned variables](IncorrectReferencesDeclaration.md.html) - [InjectInJava: Only Kotlin classes should be injected in order for Anvil to work.](InjectInJava.md.html) - - [InjectWithScopeRequiredLoggedInUserProvider: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope.](InjectWithScopeRequiredLoggedInUserProvider.md.html) - - [InjectWithTypeMustImplementAnvilInjectable: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does).](InjectWithTypeMustImplementAnvilInjectable.md.html) - [InvalidAnalyticsName: Invalid Analytics Name](InvalidAnalyticsName.md.html) - [InvalidImeActionId: Invalid imeActionId declaration](InvalidImeActionId.md.html) + - [InvalidLanguageTagDelimiter: Undercore (_) is an unsupported delimiter for subtags](InvalidLanguageTagDelimiter.md.html) - [InvalidPackage: Package not included in Android](InvalidPackage.md.html) - [InvalidPermission: Invalid Permission Attribute](InvalidPermission.md.html) - [InvalidResourceFolder: Invalid Resource Folder](InvalidResourceFolder.md.html) @@ -233,7 +236,8 @@ - [MotionLayoutInvalidSceneFileReference: layoutDescription must specify a scene file](MotionLayoutInvalidSceneFileReference.md.html) - [MotionLayoutMissingId: Views inside `MotionLayout` require an `android:id`](MotionLayoutMissingId.md.html) - [MotionSceneFileValidationError: Validation errors in `MotionScene` files](MotionSceneFileValidationError.md.html) - - [MustBeInModule: @Binds/@Provides function must be in `@Module`-annotated classes.](MustBeInModule.md.html) + - [MustBeInModule: @Binds/@Provides functions must be in modules](MustBeInModule.md.html) + - [MustUseNamedParams: Calls to @MustUseNamedParams-annotated methods must name all parameters.](MustUseNamedParams.md.html) - [MutableImplicitPendingIntent: Mutable Implicit PendingIntent is disallowed](MutableImplicitPendingIntent.md.html) - [NewApi: Calling new methods on older versions](NewApi.md.html) - [NoCollectCallFound: You must call collect on the given progress flow when using PredictiveBackHandler](NoCollectCallFound.md.html) @@ -247,7 +251,7 @@ - [Orientation: Missing explicit orientation](Orientation.md.html) - [OverrideAbstract: Not overriding abstract methods on older platforms](OverrideAbstract.md.html) - [ParcelCreator: Missing Parcelable `CREATOR` field](ParcelCreator.md.html) - - [ParcelizeFunctionProperty: Function type properties should not be used in Parcelize classes](ParcelizeFunctionProperty.md.html) + - [ParcelizeFunctionProperty: Function type properties are not parcelable](ParcelizeFunctionProperty.md.html) - [PendingBindings: Missing Pending Bindings](PendingBindings.md.html) - [PermissionImpliesUnsupportedChromeOsHardware: Permission Implies Unsupported Chrome OS Hardware](PermissionImpliesUnsupportedChromeOsHardware.md.html) - [PlaySdkIndexGenericIssues: Library has issues in SDK Index](PlaySdkIndexGenericIssues.md.html) @@ -257,17 +261,19 @@ - [ProtectedPermissions: Using system app permission](ProtectedPermissions.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract.](ProvidesMustNotBeAbstract.md.html) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) + - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract](ProvidesMustNotBeAbstract.md.html) - [QueryAllPackagesPermission: Using the QUERY_ALL_PACKAGES permission](QueryAllPackagesPermission.md.html) - [Range: Outside Range](Range.md.html) - [RawDispatchersUse: Use SlackDispatchers.](RawDispatchersUse.md.html) - [RecyclerView: RecyclerView Problems](RecyclerView.md.html) - [RedactedInJavaUsage: @Redacted is only supported in Kotlin classes!](RedactedInJavaUsage.md.html) - - [RedundantBinds: @Binds functions should return a different type (including annotations) than the input type.](RedundantBinds.md.html) + - [RedundantBinds: @Binds functions should return a different type](RedundantBinds.md.html) - [RememberReturnType: `remember` calls must not return `Unit`](RememberReturnType.md.html) - [RememberSaveableSaverParameter: `Saver` objects should be passed to the saver parameter, not the vararg `inputs` parameter](RememberSaveableSaverParameter.md.html) - [RemoteViewLayout: Unsupported View in RemoteView](RemoteViewLayout.md.html) - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) + - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) - [RequiredSize: Missing `layout_width` or `layout_height` attributes](RequiredSize.md.html) - [ReservedSystemPermission: Permission name is a reserved Android permission](ReservedSystemPermission.md.html) - [ResourceAsColor: Should pass resolved color instead of resource id](ResourceAsColor.md.html) @@ -295,6 +301,7 @@ - [Suspicious0dp: Suspicious 0dp dimension](Suspicious0dp.md.html) - [SuspiciousCompositionLocalModifierRead: CompositionLocals should not be read in Modifier.onAttach() or Modifier.onDetach()](SuspiciousCompositionLocalModifierRead.md.html) - [SuspiciousIndentation: Suspicious indentation](SuspiciousIndentation.md.html) + - [SuspiciousModifierThen: Using Modifier.then with a Modifier factory function with an implicit receiver](SuspiciousModifierThen.md.html) - [TestLifecycleOwnerInCoroutine: Use the suspending function setCurrentState(), rather than directly accessing the currentState property.](TestLifecycleOwnerInCoroutine.md.html) - [TilePreviewImageFormat: Tile preview is not compliant with standards](TilePreviewImageFormat.md.html) - [TimberArgCount: Formatting argument types incomplete or inconsistent](TimberArgCount.md.html) @@ -307,6 +314,7 @@ - [UnrememberedMutableState: Creating a state object during composition without using `remember`](UnrememberedMutableState.md.html) - [UnsafeImplicitIntentLaunch: Implicit intent matches an internal non-exported component](UnsafeImplicitIntentLaunch.md.html) - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) + - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) - [UnsafeOptInUsageError: Unsafe opt-in usage intended to be error-level severity](UnsafeOptInUsageError.md.html) - [UnsafeRepeatOnLifecycleDetector: RepeatOnLifecycle should be used with viewLifecycleOwner in Fragments.](UnsafeRepeatOnLifecycleDetector.md.html) - [UnspecifiedRegisterReceiverFlag: Missing `registerReceiver()` exported flag](UnspecifiedRegisterReceiverFlag.md.html) @@ -343,7 +351,7 @@ - [WrongViewCast: Mismatched view type](WrongViewCast.md.html) - [XmlEscapeNeeded: Missing XML Escape](XmlEscapeNeeded.md.html) -* Warning (388) +* Warning (398) - [AcceptsUserCertificates: Allowing User Certificates](AcceptsUserCertificates.md.html) - [ActivityIconColor: Ongoing activity icon is not white](ActivityIconColor.md.html) @@ -391,6 +399,7 @@ - [ComposableNaming: Incorrect naming for @Composable functions](ComposableNaming.md.html) - [ComposeCompositionLocalUsage: CompositionLocals are discouraged](ComposeCompositionLocalUsage.md.html) - [ComposeUnstableCollections: Immutable collections should ideally be used in Composables](ComposeUnstableCollections.md.html) + - [ComposeUnstableReceiver: Unstable receivers will always be recomposed](ComposeUnstableReceiver.md.html) - [CompositionLocalNaming: CompositionLocal properties should be prefixed with `Local`](CompositionLocalNaming.md.html) - [ConstantLocale: Constant Locale](ConstantLocale.md.html) - [ConstraintLayoutToolsEditorAttribute: Flags tools:layout_editor xml properties.](ConstraintLayoutToolsEditorAttribute.md.html) @@ -496,6 +505,7 @@ - [InvalidNavigation: No start destination specified](InvalidNavigation.md.html) - [InvalidSingleLineComment: Marks single line comments that are not sentences.](InvalidSingleLineComment.md.html) - [InvalidString: Marks invalid translation strings.](InvalidString.md.html) + - [InvalidUseOfOnBackPressed: Do not call onBackPressed() within OnBackPressedDisptacher](InvalidUseOfOnBackPressed.md.html) - [JCenter: Marks usage of the jcenter() repository.](JCenter.md.html) - [JavaPluginLanguageLevel: No Explicit Java Language Level Given](JavaPluginLanguageLevel.md.html) - [JcenterRepositoryObsolete: JCenter Maven repository is read-only](JcenterRepositoryObsolete.md.html) @@ -571,11 +581,18 @@ - [ParcelClassLoader: Default Parcel Class Loader](ParcelClassLoader.md.html) - [PermissionImpliesUnsupportedHardware: Permission Implies Unsupported Hardware](PermissionImpliesUnsupportedHardware.md.html) - [PermissionNamingConvention: Permission name does not follow recommended convention](PermissionNamingConvention.md.html) + - [PictureInPictureIssue: Picture In Picture best practices not followed](PictureInPictureIssue.md.html) - [PinSetExpiry: Validate `` expiration attribute](PinSetExpiry.md.html) - [PluralsCandidate: Potential Plurals](PluralsCandidate.md.html) - [PrivateApi: Using Private APIs](PrivateApi.md.html) - [PrivateResource: Using private resources](PrivateResource.md.html) - [ProguardSplit: Proguard.cfg file contains generic Android rules](ProguardSplit.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) - [ProviderReadPermissionOnly: Provider with readPermission only and implemented write APIs](ProviderReadPermissionOnly.md.html) - [ProxyPassword: Proxy Password in Cleartext](ProxyPassword.md.html) - [PublicKeyCredential: Creating public key credential](PublicKeyCredential.md.html) @@ -661,6 +678,7 @@ - [TypographyQuotes: Straight quotes can be replaced with curvy quotes, and apostrophes with typographic apostrophes.](TypographyQuotes.md.html) - [Typos: Spelling error](Typos.md.html) - [UastImplementation: Avoid using UAST implementation](UastImplementation.md.html) + - [UnclosedTrace: Incorrect trace section usage](UnclosedTrace.md.html) - [UnknownIdInLayout: Reference to an id that is not in the current layout](UnknownIdInLayout.md.html) - [UnknownNullness: Unknown nullness](UnknownNullness.md.html) - [UnlocalizedSms: SMS phone number missing country code](UnlocalizedSms.md.html) @@ -734,7 +752,7 @@ - [WrongViewIdFormat: Flag view ids that are not in lowerCamelCase Format.](WrongViewIdFormat.md.html) - [XmlSpacing: XML files should not contain any new lines.](XmlSpacing.md.html) -* Information (8) +* Information (9) - [ArcAnimationSpecTypeIssue: ArcAnimationSpec is designed for 2D values. Particularly, for positional values such as Offset.](ArcAnimationSpecTypeIssue.md.html) - [AutoboxingStateCreation: `State` will autobox values assigned to this state. Use a specialized state type instead.](AutoboxingStateCreation.md.html) @@ -744,8 +762,9 @@ - [MoshiUsageNonMoshiClassInternal: Non-Moshi internal type '%HINT%' is not natively supported by Moshi.](MoshiUsageNonMoshiClassInternal.md.html) - [MoshiUsageNonMoshiClassMap: Concrete Map type '%HINT%' is not natively supported by Moshi.](MoshiUsageNonMoshiClassMap.md.html) - [ReportShortcutUsage: Report shortcut usage](ReportShortcutUsage.md.html) + - [SimilarGradleDependency: Multiple Versions Gradle Dependency](SimilarGradleDependency.md.html) -* Disabled By Default (42) +* Disabled By Default (43) - [AppCompatMethod](AppCompatMethod.md.html) - [AppLinksAutoVerify](AppLinksAutoVerify.md.html) @@ -756,6 +775,7 @@ - [ConvertToWebp](ConvertToWebp.md.html) - [DalvikOverride](DalvikOverride.md.html) - [DefaultEncoding](DefaultEncoding.md.html) + - [DoNotMockAnything](DoNotMockAnything.md.html) - [DuplicateStrings](DuplicateStrings.md.html) - [EasterEgg](EasterEgg.md.html) - [ExpensiveAssertion](ExpensiveAssertion.md.html) diff --git a/docs/checks/vendors.md.html b/docs/checks/vendors.md.html index f42c94ea..52752edf 100644 --- a/docs/checks/vendors.md.html +++ b/docs/checks/vendors.md.html @@ -3,7 +3,7 @@ Order: [Alphabetical](index.md.html) | [By category](categories.md.html) | By vendor | [By severity](severity.md.html) | [By year](year.md.html) | [Libraries](libraries.md.html) -* Built In (464) +* Built In (467) - [AaptCrash: Potential AAPT crash](AaptCrash.md.html) - [AcceptsUserCertificates: Allowing User Certificates](AcceptsUserCertificates.md.html) @@ -284,6 +284,7 @@ - [PermissionImpliesUnsupportedChromeOsHardware: Permission Implies Unsupported Chrome OS Hardware](PermissionImpliesUnsupportedChromeOsHardware.md.html) - [PermissionImpliesUnsupportedHardware: Permission Implies Unsupported Hardware](PermissionImpliesUnsupportedHardware.md.html) - [PermissionNamingConvention: Permission name does not follow recommended convention](PermissionNamingConvention.md.html) + - [PictureInPictureIssue: Picture In Picture best practices not followed](PictureInPictureIssue.md.html) - [PinSetExpiry: Validate `` expiration attribute](PinSetExpiry.md.html) - [PlaySdkIndexGenericIssues: Library has issues in SDK Index](PlaySdkIndexGenericIssues.md.html) - [PlaySdkIndexNonCompliant: Library has policy issues in SDK Index](PlaySdkIndexNonCompliant.md.html) @@ -347,6 +348,7 @@ - [ShortAlarm: Short or Frequent Alarm](ShortAlarm.md.html) - [ShowToast: Toast created but not shown](ShowToast.md.html) - [SignatureOrSystemPermissions: Declaring signatureOrSystem permissions](SignatureOrSystemPermissions.md.html) + - [SimilarGradleDependency: Multiple Versions Gradle Dependency](SimilarGradleDependency.md.html) - [SimpleDateFormat: Implied locale in date format](SimpleDateFormat.md.html) - [Slices: Slices](Slices.md.html) - [SmallSp: Text size is too small](SmallSp.md.html) @@ -388,6 +390,7 @@ - [TypographyQuotes: Straight quotes can be replaced with curvy quotes, and apostrophes with typographic apostrophes.](TypographyQuotes.md.html) - [Typos: Spelling error](Typos.md.html) - [UastImplementation: Avoid using UAST implementation](UastImplementation.md.html) + - [UnclosedTrace: Incorrect trace section usage](UnclosedTrace.md.html) - [UniqueConstants: Overlapping Enumeration Constants](UniqueConstants.md.html) - [UniquePermission: Permission names are not unique](UniquePermission.md.html) - [UnknownId: Reference to an unknown id](UnknownId.md.html) @@ -470,9 +473,10 @@ - [WrongViewCast: Mismatched view type](WrongViewCast.md.html) - [XmlEscapeNeeded: Missing XML Escape](XmlEscapeNeeded.md.html) -* Android Open Source Project (androidx.activity) (1) +* Android Open Source Project (androidx.activity) (2) - [InvalidFragmentVersionForActivityResult: Update to Fragment 1.3.0 to use ActivityResult APIs](InvalidFragmentVersionForActivityResult.md.html) + - [InvalidUseOfOnBackPressed: Do not call onBackPressed() within OnBackPressedDisptacher](InvalidUseOfOnBackPressed.md.html) * Android Open Source Project (androidx.annotation.experimental) (4) @@ -524,12 +528,15 @@ - [FragmentGradleConfiguration: Include the fragment-testing-manifest library using the debugImplementation configuration.](FragmentGradleConfiguration.md.html) -* Android Open Source Project (androidx.lifecycle) (4) +* Android Open Source Project (androidx.lifecycle) (7) - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) + - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) + - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) - [TestLifecycleOwnerInCoroutine: Use the suspending function setCurrentState(), rather than directly accessing the currentState property.](TestLifecycleOwnerInCoroutine.md.html) - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) + - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) * Android Open Source Project (androidx.navigation.common) (1) @@ -549,10 +556,17 @@ - [EnsureInitializerMetadata: Every Initializer needs to be accompanied by a corresponding entry in the AndroidManifest.xml file.](EnsureInitializerMetadata.md.html) - [EnsureInitializerNoArgConstr: Missing Initializer no-arg constructor](EnsureInitializerNoArgConstr.md.html) -* Android Open Source Project (androidx.wear.protolayout) (2) +* Android Open Source Project (androidx.wear.protolayout) (9) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) * Android Open Source Project (androidx.work) (9) @@ -638,7 +652,7 @@ - [RememberSaveableSaverParameter: `Saver` objects should be passed to the saver parameter, not the vararg `inputs` parameter](RememberSaveableSaverParameter.md.html) -* Jetpack Compose (androidx.compose.ui) (9) +* Jetpack Compose (androidx.compose.ui) (10) - [ModifierFactoryExtensionFunction: Modifier factory functions should be extensions on Modifier](ModifierFactoryExtensionFunction.md.html) - [ModifierFactoryReturnType: Modifier factory functions should return Modifier](ModifierFactoryReturnType.md.html) @@ -648,6 +662,7 @@ - [MultipleAwaitPointerEventScopes: Suspicious use of multiple awaitPointerEventScope blocks. Using multiple awaitPointerEventScope blocks may cause some input events to be dropped.](MultipleAwaitPointerEventScopes.md.html) - [ReturnFromAwaitPointerEventScope: Returning from awaitPointerEventScope may cause some input events to be dropped](ReturnFromAwaitPointerEventScope.md.html) - [SuspiciousCompositionLocalModifierRead: CompositionLocals should not be read in Modifier.onAttach() or Modifier.onDetach()](SuspiciousCompositionLocalModifierRead.md.html) + - [SuspiciousModifierThen: Using Modifier.then with a Modifier factory function with an implicit receiver](SuspiciousModifierThen.md.html) - [UnnecessaryComposedModifier: Modifier.composed should only be used for modifiers that invoke @Composable functions](UnnecessaryComposedModifier.md.html) * Jetpack Compose (androidx.compose.ui.graphics) (2) @@ -655,18 +670,24 @@ - [InvalidColorHexValue: Invalid Color hex value](InvalidColorHexValue.md.html) - [MissingColorAlphaChannel: Missing Color alpha channel](MissingColorAlphaChannel.md.html) +* Jetpack Compose (androidx.compose.ui.text) (1) + + - [InvalidLanguageTagDelimiter: Undercore (_) is an unsupported delimiter for subtags](InvalidLanguageTagDelimiter.md.html) + * Jetpack Navigation Compose (androidx.navigation.compose) (3) - [ComposableDestinationInComposeScope: Building composable destination in compose scope](ComposableDestinationInComposeScope.md.html) - [ComposableNavGraphInComposeScope: Building navigation graph in compose scope](ComposableNavGraphInComposeScope.md.html) - [UnrememberedGetBackStackEntry: Calling getBackStackEntry during composition without using `remember`with a NavBackStackEntry key](UnrememberedGetBackStackEntry.md.html) -* slack (com.slack.lint.compose:compose-lints) (18) +* slack (com.slack.lint.compose:compose-lints) (21) - - [ComposeComposableModifier: Using @Composable builder functions for modifiers is not recommended](ComposeComposableModifier.md.html) + - [ComposeComposableModifier: Don't use @Composable builder functions for modifiers](ComposeComposableModifier.md.html) + - [ComposeCompositionLocalGetter: CompositionLocals should not use getters](ComposeCompositionLocalGetter.md.html) - [ComposeCompositionLocalUsage: CompositionLocals are discouraged](ComposeCompositionLocalUsage.md.html) - [ComposeContentEmitterReturningValues: Composable functions should emit XOR return](ComposeContentEmitterReturningValues.md.html) - [ComposeM2Api: Using a Compose M2 API is not recommended](ComposeM2Api.md.html) + - [ComposeModifierComposed: Don't use Modifier.composed {}](ComposeModifierComposed.md.html) - [ComposeModifierMissing: Missing modifier parameter](ComposeModifierMissing.md.html) - [ComposeModifierReused: Modifiers should only be used once](ComposeModifierReused.md.html) - [ComposeModifierWithoutDefault: Missing Modifier default value](ComposeModifierWithoutDefault.md.html) @@ -679,17 +700,18 @@ - [ComposePreviewPublic: Preview composables should be private](ComposePreviewPublic.md.html) - [ComposeRememberMissing: State values should be remembered](ComposeRememberMissing.md.html) - [ComposeUnstableCollections: Immutable collections should ideally be used in Composables](ComposeUnstableCollections.md.html) - - [ComposeViewModelForwarding: Forwarding a ViewModel through multiple @Composable functions should be avoided](ComposeViewModelForwarding.md.html) + - [ComposeUnstableReceiver: Unstable receivers will always be recomposed](ComposeUnstableReceiver.md.html) + - [ComposeViewModelForwarding: Don't forward ViewModels through composables](ComposeViewModelForwarding.md.html) - [ComposeViewModelInjection: Implicit dependencies of composables should be made explicit](ComposeViewModelInjection.md.html) * slack (slack-lint) (91) - [ArgInFormattedQuantityStringRes: Count value in formatted string resource.](ArgInFormattedQuantityStringRes.md.html) - - [BindingReceiverParameter: @Binds/@Provides functions cannot be extension functions.](BindingReceiverParameter.md.html) - - [BindingReturnType: @Binds/@Provides functions must have a return type. Cannot be void or Unit.](BindingReturnType.md.html) - - [BindsMustBeAbstract: @Binds functions must be abstract and cannot have function bodies.](BindsMustBeAbstract.md.html) - - [BindsTypeMismatch: @Binds function parameters must be type-assignable to their return types.](BindsTypeMismatch.md.html) - - [BindsWrongParameterCount: @Binds functions require a single parameter as an input to bind.](BindsWrongParameterCount.md.html) + - [BindingReceiverParameter: @Binds/@Provides functions cannot be extensions](BindingReceiverParameter.md.html) + - [BindingReturnType: @Binds/@Provides must have a return type](BindingReturnType.md.html) + - [BindsMustBeAbstract: @Binds functions must be abstract](BindsMustBeAbstract.md.html) + - [BindsTypeMismatch: @Binds parameter/return must be type-assignable](BindsTypeMismatch.md.html) + - [BindsWrongParameterCount: @Binds must have one parameter](BindsWrongParameterCount.md.html) - [CastingViewContextToActivity: Unsafe cast of `Context` to `Activity`](CastingViewContextToActivity.md.html) - [DenyListedApi: Deny-listed API](DenyListedApi.md.html) - [DenyListedBlockingApi: Deny-listed API](DenyListedBlockingApi.md.html) @@ -698,6 +720,7 @@ - [DoNotCallProviders: Dagger provider methods should not be called directly by user code.](DoNotCallProviders.md.html) - [DoNotExposeEitherNetInRepositories: Repository APIs should not expose EitherNet types directly.](DoNotExposeEitherNetInRepositories.md.html) - [DoNotMock: ](DoNotMock.md.html) + - [DoNotMockAnything: Do not add new mocks.](DoNotMockAnything.md.html) - [DoNotMockAutoValue: AutoValue classes represent pure data classes, so mocking them should not be necessary.](DoNotMockAutoValue.md.html) - [DoNotMockDataClass: data classes represent pure data classes, so mocking them should not be necessary.](DoNotMockDataClass.md.html) - [DoNotMockObjectClass: object classes are singletons, so mocking them should not be necessary](DoNotMockObjectClass.md.html) @@ -705,7 +728,7 @@ - [DoNotMockRecordClass: record classes represent pure data classes, so mocking them should not be necessary.](DoNotMockRecordClass.md.html) - [DoNotMockSealedClass: sealed classes have a restricted type hierarchy, use a subtype instead](DoNotMockSealedClass.md.html) - [ErrorProneDoNotMockUsage: Use Slack's internal `@DoNotMock` annotation.](ErrorProneDoNotMockUsage.md.html) - - [ExceptionMessage: Please provide a string for the lazyMessage parameter](ExceptionMessage.md.html) + - [ExceptionMessage: Please provide a string for the `lazyMessage` parameter](ExceptionMessage.md.html) - [FragmentConstructorInjection: Fragment dependencies should be injected using constructor injections only.](FragmentConstructorInjection.md.html) - [FragmentFieldInjection: Fragment dependencies should be injected using the Fragment's constructor.](FragmentFieldInjection.md.html) - [FullyQualifiedResource: Resources should use an import alias instead of being fully qualified.](FullyQualifiedResource.md.html) @@ -714,8 +737,6 @@ - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) - [InjectInJava: Only Kotlin classes should be injected in order for Anvil to work.](InjectInJava.md.html) - - [InjectWithScopeRequiredLoggedInUserProvider: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope.](InjectWithScopeRequiredLoggedInUserProvider.md.html) - - [InjectWithTypeMustImplementAnvilInjectable: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does).](InjectWithTypeMustImplementAnvilInjectable.md.html) - [JavaOnlyDetector: Using @JavaOnly elements in Kotlin code.](JavaOnlyDetector.md.html) - [KotlinPairNotCreated: Use Kotlin's kotlin.Pair instead of other Pair types from other libraries like AndroidX and Slack commons](KotlinPairNotCreated.md.html) - [MainScopeUsage: Use slack.foundation.coroutines.android.MainScope.](MainScopeUsage.md.html) @@ -763,12 +784,13 @@ - [MoshiUsageUnsupportedType: This type cannot be annotated with @JsonClass.](MoshiUsageUnsupportedType.md.html) - [MoshiUsageUseData: Model classes should be immutable data classes.](MoshiUsageUseData.md.html) - [MoshiUsageVarProperty: Moshi properties should be immutable.](MoshiUsageVarProperty.md.html) - - [MustBeInModule: @Binds/@Provides function must be in `@Module`-annotated classes.](MustBeInModule.md.html) - - [ParcelizeFunctionProperty: Function type properties should not be used in Parcelize classes](ParcelizeFunctionProperty.md.html) - - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract.](ProvidesMustNotBeAbstract.md.html) + - [MustBeInModule: @Binds/@Provides functions must be in modules](MustBeInModule.md.html) + - [MustUseNamedParams: Calls to @MustUseNamedParams-annotated methods must name all parameters.](MustUseNamedParams.md.html) + - [ParcelizeFunctionProperty: Function type properties are not parcelable](ParcelizeFunctionProperty.md.html) + - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract](ProvidesMustNotBeAbstract.md.html) - [RawDispatchersUse: Use SlackDispatchers.](RawDispatchersUse.md.html) - [RedactedInJavaUsage: @Redacted is only supported in Kotlin classes!](RedactedInJavaUsage.md.html) - - [RedundantBinds: @Binds functions should return a different type (including annotations) than the input type.](RedundantBinds.md.html) + - [RedundantBinds: @Binds functions should return a different type](RedundantBinds.md.html) - [RestrictCallsTo: Methods annotated with @RestrictedCallsTo should only be called from the specified scope.](RestrictCallsTo.md.html) - [RetrofitUsage: This is replaced by the caller.](RetrofitUsage.md.html) - [SerializableUsage: Don't use Serializable.](SerializableUsage.md.html) diff --git a/docs/checks/year.md.html b/docs/checks/year.md.html index f9c1e533..7efc4e7e 100644 --- a/docs/checks/year.md.html +++ b/docs/checks/year.md.html @@ -3,18 +3,30 @@ Order: [Alphabetical](index.md.html) | [By category](categories.md.html) | [By vendor](vendors.md.html) | [By severity](severity.md.html) | By year | [Libraries](libraries.md.html) -* 2024 (1) +* 2024 (11) - [BuildListAdds: Missing `add` call in `buildList`](BuildListAdds.md.html) - -* 2023 (45) + - [InvalidLanguageTagDelimiter: Undercore (_) is an unsupported delimiter for subtags](InvalidLanguageTagDelimiter.md.html) + - [InvalidUseOfOnBackPressed: Do not call onBackPressed() within OnBackPressedDisptacher](InvalidUseOfOnBackPressed.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutEdgeContentLayoutResponsive: ProtoLayout Material EdgeContentLayout should be used with responsivebehaviour to ensure the best behaviour across different screen sizes andlocales.](ProtoLayoutEdgeContentLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [ProtoLayoutPrimaryLayoutResponsive: ProtoLayout Material PrimaryLayout should be used with responsive behaviourto ensure the best behaviour across different screen sizes and locales.](ProtoLayoutPrimaryLayoutResponsive.md.html) + - [SuspiciousModifierThen: Using Modifier.then with a Modifier factory function with an implicit receiver](SuspiciousModifierThen.md.html) + - [UnclosedTrace: Incorrect trace section usage](UnclosedTrace.md.html) + +* 2023 (50) - [ArcAnimationSpecTypeIssue: ArcAnimationSpec is designed for 2D values. Particularly, for positional values such as Offset.](ArcAnimationSpecTypeIssue.md.html) - [AutoboxingStateCreation: `State` will autobox values assigned to this state. Use a specialized state type instead.](AutoboxingStateCreation.md.html) - [AutoboxingStateValueProperty: State access causes value to be autoboxed](AutoboxingStateValueProperty.md.html) - - [ComposeComposableModifier: Using @Composable builder functions for modifiers is not recommended](ComposeComposableModifier.md.html) + - [ComposeComposableModifier: Don't use @Composable builder functions for modifiers](ComposeComposableModifier.md.html) + - [ComposeCompositionLocalGetter: CompositionLocals should not use getters](ComposeCompositionLocalGetter.md.html) - [ComposeCompositionLocalUsage: CompositionLocals are discouraged](ComposeCompositionLocalUsage.md.html) - [ComposeContentEmitterReturningValues: Composable functions should emit XOR return](ComposeContentEmitterReturningValues.md.html) + - [ComposeModifierComposed: Don't use Modifier.composed {}](ComposeModifierComposed.md.html) - [ComposeModifierMissing: Missing modifier parameter](ComposeModifierMissing.md.html) - [ComposeModifierReused: Modifiers should only be used once](ComposeModifierReused.md.html) - [ComposeModifierWithoutDefault: Missing Modifier default value](ComposeModifierWithoutDefault.md.html) @@ -27,9 +39,10 @@ - [ComposePreviewPublic: Preview composables should be private](ComposePreviewPublic.md.html) - [ComposeRememberMissing: State values should be remembered](ComposeRememberMissing.md.html) - [ComposeUnstableCollections: Immutable collections should ideally be used in Composables](ComposeUnstableCollections.md.html) - - [ComposeViewModelForwarding: Forwarding a ViewModel through multiple @Composable functions should be avoided](ComposeViewModelForwarding.md.html) + - [ComposeUnstableReceiver: Unstable receivers will always be recomposed](ComposeUnstableReceiver.md.html) + - [ComposeViewModelForwarding: Don't forward ViewModels through composables](ComposeViewModelForwarding.md.html) - [ComposeViewModelInjection: Implicit dependencies of composables should be made explicit](ComposeViewModelInjection.md.html) - - [ExceptionMessage: Please provide a string for the lazyMessage parameter](ExceptionMessage.md.html) + - [ExceptionMessage: Please provide a string for the `lazyMessage` parameter](ExceptionMessage.md.html) - [ForegroundServicePermission: Missing permissions required by foregroundServiceType](ForegroundServicePermission.md.html) - [ForegroundServiceType: Missing `foregroundServiceType` attribute in manifest](ForegroundServiceType.md.html) - [IntentWithNullActionLaunch: Unsafe intent launched with no action set](IntentWithNullActionLaunch.md.html) @@ -37,7 +50,9 @@ - [MutableImplicitPendingIntent: Mutable Implicit PendingIntent is disallowed](MutableImplicitPendingIntent.md.html) - [NoCollectCallFound: You must call collect on the given progress flow when using PredictiveBackHandler](NoCollectCallFound.md.html) - [OpaqueUnitKey: Passing an expression which always returns `Unit` as a key argument](OpaqueUnitKey.md.html) - - [ParcelizeFunctionProperty: Function type properties should not be used in Parcelize classes](ParcelizeFunctionProperty.md.html) + - [ParcelizeFunctionProperty: Function type properties are not parcelable](ParcelizeFunctionProperty.md.html) + - [PictureInPictureIssue: Picture In Picture best practices not followed](PictureInPictureIssue.md.html) + - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - [ProtoLayoutMinSchema: ProtoLayout feature is not guaranteed to be available on the target device API.](ProtoLayoutMinSchema.md.html) - [PublicKeyCredential: Creating public key credential](PublicKeyCredential.md.html) @@ -55,7 +70,7 @@ - [WearSplashScreen: Wear: Use `SplashScreen` library](WearSplashScreen.md.html) - [WrongCommentType: Wrong Comment Type](WrongCommentType.md.html) -* 2022 (48) +* 2022 (49) - [ActivityIconColor: Ongoing activity icon is not white](ActivityIconColor.md.html) - [BinderGetCallingInMainThread: Incorrect usage of getCallingUid() or getCallingPid()](BinderGetCallingInMainThread.md.html) @@ -82,6 +97,7 @@ - [MissingResourceImportAlias: Missing import alias for R class.](MissingResourceImportAlias.md.html) - [MonochromeLauncherIcon: Monochrome icon is not defined](MonochromeLauncherIcon.md.html) - [MultipleAwaitPointerEventScopes: Suspicious use of multiple awaitPointerEventScope blocks. Using multiple awaitPointerEventScope blocks may cause some input events to be dropped.](MultipleAwaitPointerEventScopes.md.html) + - [MustUseNamedParams: Calls to @MustUseNamedParams-annotated methods must name all parameters.](MustUseNamedParams.md.html) - [NotificationId0: Notification Id is 0](NotificationId0.md.html) - [NotificationPermission: Notifications Without Permission](NotificationPermission.md.html) - [OpenForTesting: Extending API only allowed from tests](OpenForTesting.md.html) @@ -112,11 +128,11 @@ - [AppBundleLocaleChanges: App Bundle handling of runtime locale changes](AppBundleLocaleChanges.md.html) - [ArgInFormattedQuantityStringRes: Count value in formatted string resource.](ArgInFormattedQuantityStringRes.md.html) - [BidiSpoofing: Bidirectional text spoofing](BidiSpoofing.md.html) - - [BindingReceiverParameter: @Binds/@Provides functions cannot be extension functions.](BindingReceiverParameter.md.html) - - [BindingReturnType: @Binds/@Provides functions must have a return type. Cannot be void or Unit.](BindingReturnType.md.html) - - [BindsMustBeAbstract: @Binds functions must be abstract and cannot have function bodies.](BindsMustBeAbstract.md.html) - - [BindsTypeMismatch: @Binds function parameters must be type-assignable to their return types.](BindsTypeMismatch.md.html) - - [BindsWrongParameterCount: @Binds functions require a single parameter as an input to bind.](BindsWrongParameterCount.md.html) + - [BindingReceiverParameter: @Binds/@Provides functions cannot be extensions](BindingReceiverParameter.md.html) + - [BindingReturnType: @Binds/@Provides must have a return type](BindingReturnType.md.html) + - [BindsMustBeAbstract: @Binds functions must be abstract](BindsMustBeAbstract.md.html) + - [BindsTypeMismatch: @Binds parameter/return must be type-assignable](BindsTypeMismatch.md.html) + - [BindsWrongParameterCount: @Binds must have one parameter](BindsWrongParameterCount.md.html) - [CastingViewContextToActivity: Unsafe cast of `Context` to `Activity`](CastingViewContextToActivity.md.html) - [CoarseFineLocation: Cannot use `ACCESS_FINE_LOCATION` without `ACCESS_COARSE_LOCATION`](CoarseFineLocation.md.html) - [ComposableDestinationInComposeScope: Building composable destination in compose scope](ComposableDestinationInComposeScope.md.html) @@ -131,6 +147,7 @@ - [DiscouragedApi: Using discouraged APIs](DiscouragedApi.md.html) - [DoNotCallProviders: Dagger provider methods should not be called directly by user code.](DoNotCallProviders.md.html) - [DoNotMock: ](DoNotMock.md.html) + - [DoNotMockAnything: Do not add new mocks.](DoNotMockAnything.md.html) - [DoNotMockAutoValue: AutoValue classes represent pure data classes, so mocking them should not be necessary.](DoNotMockAutoValue.md.html) - [DoNotMockDataClass: data classes represent pure data classes, so mocking them should not be necessary.](DoNotMockDataClass.md.html) - [DoNotMockObjectClass: object classes are singletons, so mocking them should not be necessary](DoNotMockObjectClass.md.html) @@ -149,8 +166,6 @@ - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) - [InclusiveNaming: Use inclusive naming.](InclusiveNaming.md.html) - [InjectInJava: Only Kotlin classes should be injected in order for Anvil to work.](InjectInJava.md.html) - - [InjectWithScopeRequiredLoggedInUserProvider: @InjectWith-annotated classes must implement LoggedInUserProvider (or extend something that does) if they target UserScope or OrgScope.](InjectWithScopeRequiredLoggedInUserProvider.md.html) - - [InjectWithTypeMustImplementAnvilInjectable: @InjectWith-annotated classes must implement AnvilInjectable (or extend something that does).](InjectWithTypeMustImplementAnvilInjectable.md.html) - [InvalidColorHexValue: Invalid Color hex value](InvalidColorHexValue.md.html) - [KotlinPairNotCreated: Use Kotlin's kotlin.Pair instead of other Pair types from other libraries like AndroidX and Slack commons](KotlinPairNotCreated.md.html) - [LaunchDuringComposition: Calls to `launch` should happen inside of a SideEffect and not during composition](LaunchDuringComposition.md.html) @@ -201,17 +216,18 @@ - [MoshiUsageUseData: Model classes should be immutable data classes.](MoshiUsageUseData.md.html) - [MoshiUsageVarProperty: Moshi properties should be immutable.](MoshiUsageVarProperty.md.html) - [MotionLayoutMissingId: Views inside `MotionLayout` require an `android:id`](MotionLayoutMissingId.md.html) - - [MustBeInModule: @Binds/@Provides function must be in `@Module`-annotated classes.](MustBeInModule.md.html) + - [MustBeInModule: @Binds/@Provides functions must be in modules](MustBeInModule.md.html) - [MutableCollectionMutableState: Creating a MutableState object with a mutable collection type](MutableCollectionMutableState.md.html) - [NoOp: NoOp Code](NoOp.md.html) - [NotConstructor: Not a Constructor](NotConstructor.md.html) - [ProduceStateDoesNotAssignValue: produceState calls should assign `value` inside the producer lambda](ProduceStateDoesNotAssignValue.md.html) - - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract.](ProvidesMustNotBeAbstract.md.html) + - [ProvidesMustNotBeAbstract: @Provides functions cannot be abstract](ProvidesMustNotBeAbstract.md.html) - [RawDispatchersUse: Use SlackDispatchers.](RawDispatchersUse.md.html) - [RedactedInJavaUsage: @Redacted is only supported in Kotlin classes!](RedactedInJavaUsage.md.html) - - [RedundantBinds: @Binds functions should return a different type (including annotations) than the input type.](RedundantBinds.md.html) + - [RedundantBinds: @Binds functions should return a different type](RedundantBinds.md.html) - [RememberSaveableSaverParameter: `Saver` objects should be passed to the saver parameter, not the vararg `inputs` parameter](RememberSaveableSaverParameter.md.html) - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) + - [RepeatOnLifecycleWrongUsage: Wrong usage of repeatOnLifecycle.](RepeatOnLifecycleWrongUsage.md.html) - [RestrictCallsTo: Methods annotated with @RestrictedCallsTo should only be called from the specified scope.](RestrictCallsTo.md.html) - [RetrofitUsage: This is replaced by the caller.](RetrofitUsage.md.html) - [SerializableUsage: Don't use Serializable.](SerializableUsage.md.html) @@ -297,7 +313,7 @@ - [UsingOnClickInXml: Using `android:onClick` on older version of the platform is broken](UsingOnClickInXml.md.html) - [WorkerHasAPublicModifier: ListenableWorkers constructed using the default WorkerFactories need to be public](WorkerHasAPublicModifier.md.html) -* 2019 (21) +* 2019 (23) - [AutoDispose: Missing Disposable handling: Apply AutoDispose or cache the Disposable instance manually and enable lenient mode.](AutoDispose.md.html) - [BadConfigurationProvider: Invalid WorkManager Configuration Provider](BadConfigurationProvider.md.html) @@ -313,8 +329,10 @@ - [MotionLayoutInvalidSceneFileReference: layoutDescription must specify a scene file](MotionLayoutInvalidSceneFileReference.md.html) - [MotionSceneFileValidationError: Validation errors in `MotionScene` files](MotionSceneFileValidationError.md.html) - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) + - [NullSafeMutableLiveData: LiveData value assignment nullability mismatch](NullSafeMutableLiveData.md.html) - [RemoveWorkManagerInitializer: Remove androidx.work.WorkManagerInitializer from your AndroidManifest.xml when using on-demand initialization.](RemoveWorkManagerInitializer.md.html) - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) + - [UnsafeLifecycleWhenUsage: Unsafe UI operation in finally/catch of Lifecycle.whenStarted of similar method](UnsafeLifecycleWhenUsage.md.html) - [UnsafeOptInUsageError: Unsafe opt-in usage intended to be error-level severity](UnsafeOptInUsageError.md.html) - [UnsafeOptInUsageWarning: Unsafe opt-in usage intended to be warning-level severity](UnsafeOptInUsageWarning.md.html) - [UseAndroidAlpha: `android:alpha` attribute missing on `ColorStateList`](UseAndroidAlpha.md.html) @@ -460,7 +478,7 @@ - [VectorRaster: Vector Image Generation](VectorRaster.md.html) - [VulnerableCordovaVersion: Vulnerable Cordova Version](VulnerableCordovaVersion.md.html) -* 2014 (72) +* 2014 (73) - [AaptCrash: Potential AAPT crash](AaptCrash.md.html) - [AccidentalOctal: Accidental Octal](AccidentalOctal.md.html) @@ -524,6 +542,7 @@ - [RiskyLibrary: Libraries with Privacy or Security Risks](RiskyLibrary.md.html) - [SetTextI18n: TextView Internationalization](SetTextI18n.md.html) - [SignatureOrSystemPermissions: Declaring signatureOrSystem permissions](SignatureOrSystemPermissions.md.html) + - [SimilarGradleDependency: Multiple Versions Gradle Dependency](SimilarGradleDependency.md.html) - [SimpleDateFormat: Implied locale in date format](SimpleDateFormat.md.html) - [StringShouldBeInt: String should be int](StringShouldBeInt.md.html) - [UseAlpha2: Using 3-letter Codes](UseAlpha2.md.html) diff --git a/docs/usage/baselines.md.html b/docs/usage/baselines.md.html index 681727b1..25d36d21 100644 --- a/docs/usage/baselines.md.html +++ b/docs/usage/baselines.md.html @@ -2,7 +2,7 @@ # Baselines -# Creating a Baseline +## Creating a Baseline You can take a snapshot of your project's current set of warnings, and then use the snapshot as a baseline for future inspection runs @@ -10,7 +10,7 @@ start using lint to fail the build without having to go back and address all existing issues first. -To create a baseline snapshot, modify your project's `build.gradle``` +To create a baseline snapshot, modify your project's `build.gradle` file as follows. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -28,7 +28,7 @@ Then, run lint from the IDE (**Analyze > Inspect Code**) or from the command line as follows. The output prints the location of the -lint-baseline.xml file. The file location for your setup might be +`lint-baseline.xml` file. The file location for your setup might be different from what is shown here. ```shell @@ -40,7 +40,7 @@ Running lint records all of the current issues in the `lint-baseline.xml` file. The set of current issues is called the -baseline, and you can check the lint-baseline.xml file into version +baseline, and you can check the `lint-baseline.xml` file into version control if you want to share it with others. ## Customize the baseline @@ -75,12 +75,13 @@ if you have actually fixed issues, so you can optionally re-create the baseline to prevent the error from coming back undetected. -!!! Note: Baselines are enabled when you run inspections in batch - mode in the IDE, but they are ignored for the in-editor checks that - run in the background when you are editing a file. The reason is that - baselines are intended for the case where a codebase has a massive - number of existing warnings, but you do want to fix issues locally - while you touch the code. +!!! Note + Baselines are enabled when you run inspections in batch mode in the + IDE, but they are ignored for the in-editor checks that run in the + background when you are editing a file. The reason is that baselines + are intended for the case where a codebase has a massive number of + existing warnings, but you do want to fix issues locally while you + touch the code. [Official documentation](https://developer.android.com/studio/write/lint#snapshot) diff --git a/docs/usage/lintxml.md.html b/docs/usage/lintxml.md.html index f019bf8b..157652ac 100644 --- a/docs/usage/lintxml.md.html +++ b/docs/usage/lintxml.md.html @@ -17,46 +17,47 @@ The root tag is always ``, and it can contain one or more `` elements. Each can specify the following -attributes: `id`: The issue id the following configuration applies -to. Note that this can be a comma separated list of multiple id's, in -which case the configuration applies to all of them. It can also be -the special value “all”, which will match all issue id's. And when -configuring severity, the id is also allowed to be a category, such -as “Security”. - -`in`: Specifies that this configuration only applies when lint -runs in the given hosts. There are predefined names for various -integrations of lint; “gradle” refers to lint running in the Gradle -plugin; “studio” refers to lint running in the IDE, “cli” refers to -lint running from the command line tools “lint” binary, etc. Like -with id's, this can be a comma separated list, which makes the rule -match if the lint host is any of the listed hosts. Finally, note that -you can also add a “!” in front of each host to negate the check. For -example, to enable a check anywhere except when running in Studio, -use `in="!studio"`. +attributes: + +- `id`: The issue id the following configuration applies + to. Note that this can be a comma separated list of multiple id's, in + which case the configuration applies to all of them. It can also be + the special value “all”, which will match all issue id's. And when + configuring severity, the id is also allowed to be a category, such + as “Security”. +- `in`: Specifies that this configuration only applies when lint + runs in the given hosts. There are predefined names for various + integrations of lint; “gradle” refers to lint running in the Gradle + plugin; “studio” refers to lint running in the IDE, “cli” refers to + lint running from the command line tools “lint” binary, etc. Like + with id's, this can be a comma separated list, which makes the rule + match if the lint host is any of the listed hosts. Finally, note that + you can also add a “!” in front of each host to negate the check. For + example, to enable a check anywhere except when running in Studio, + use `in="!studio"`. In addition, the element can specify one or more children: -``: Specifies a path to ignore. Can contain the -globbing character “*” to match any substring in the path. ``: Specifies either a regular expression to ignore. The -regular expression is matched against both the location of the error -and the error message itself. `