Adds vendor information to Compose lint checks
Also updates the minimum version of lint we compile against, since Compose will not be supported by older versions of AGP anyway, so we don't need to worry about lint compatibility for these versions.
Test: lintDebug
Fixes: b/182832722
Change-Id: Ib777e3a56d89ea12ba277fbbbfaa8ae67ed7171b
diff --git a/compose/animation/animation-core-lint/build.gradle b/compose/animation/animation-core-lint/build.gradle
index 4bd1fdb..3a4cd10 100644
--- a/compose/animation/animation-core-lint/build.gradle
+++ b/compose/animation/animation-core-lint/build.gradle
@@ -27,7 +27,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly libs.androidLintMinApi
+ compileOnly libs.androidLintMinComposeApi
compileOnly libs.kotlinStdlib
bundleInside(project(":compose:lint:common"))
diff --git a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt
index 1988e40..dae1d21e 100644
--- a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt
+++ b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.animation.core.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -30,4 +31,9 @@
TransitionDetector.UnusedTransitionTargetStateParameter,
UnrememberedAnimatableDetector.UnrememberedAnimatable
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.animation.core",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt
index 133e1198..b4fbec9 100644
--- a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt
+++ b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = AnimationCoreIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/animation/animation-lint/build.gradle b/compose/animation/animation-lint/build.gradle
index ce68e93..acbe4be 100644
--- a/compose/animation/animation-lint/build.gradle
+++ b/compose/animation/animation-lint/build.gradle
@@ -27,7 +27,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly libs.androidLintMinApi
+ compileOnly libs.androidLintMinComposeApi
compileOnly libs.kotlinStdlib
bundleInside(project(":compose:lint:common"))
diff --git a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt
index e835511..592a6ba 100644
--- a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt
+++ b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt
@@ -19,6 +19,7 @@
package androidx.compose.animation.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -31,4 +32,9 @@
override val issues get() = listOf(
CrossfadeDetector.UnusedCrossfadeTargetStateParameter
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.animation",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt
index 5e4df8f..3b758c0 100644
--- a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt
+++ b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = AnimationIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/lint/common/build.gradle b/compose/lint/common/build.gradle
index b039cc5..446ff4c 100644
--- a/compose/lint/common/build.gradle
+++ b/compose/lint/common/build.gradle
@@ -22,7 +22,7 @@
}
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
api(libs.kotlinMetadataJvm)
diff --git a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt
index b6143de..cf49d1c 100644
--- a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt
+++ b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt
@@ -20,6 +20,7 @@
import androidx.build.lint.AndroidXIssueRegistry
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
import com.android.tools.lint.detector.api.Issue
@@ -33,4 +34,9 @@
UnnecessaryLambdaCreationDetector.ISSUE,
) + AndroidXIssueRegistry.Issues
}
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "compose:lint:internal-lint-checks",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/material/material-lint/build.gradle b/compose/material/material-lint/build.gradle
index 33da16f..3a5a113 100644
--- a/compose/material/material-lint/build.gradle
+++ b/compose/material/material-lint/build.gradle
@@ -27,7 +27,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly libs.androidLintMinApi
+ compileOnly libs.androidLintMinComposeApi
compileOnly libs.kotlinStdlib
bundleInside(project(":compose:lint:common"))
diff --git a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
index d76a86f..2f4c445 100644
--- a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
+++ b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
@@ -33,8 +33,7 @@
import com.android.tools.lint.detector.api.UastLintUtils
import com.intellij.psi.PsiParameter
import com.intellij.psi.PsiVariable
-import org.jetbrains.kotlin.asJava.elements.KtLightElement
-import org.jetbrains.kotlin.psi.KtParameter
+import org.jetbrains.kotlin.asJava.elements.KtLightParameter
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UExpression
@@ -69,12 +68,7 @@
}
val parameters = method.parameterList.parameters.mapIndexed { index, parameter ->
- // UCallExpressionEx is deprecated, but getArgumentForParameter doesn't exist on
- // UCallExpression on the version of lint we compile against.
- // TODO: remove when we upgrade the min lint version we compile against b/182832722
- @Suppress("DEPRECATION")
- val argumentForParameter = (node as org.jetbrains.uast.UCallExpressionEx)
- .getArgumentForParameter(index)
+ val argumentForParameter = node.getArgumentForParameter(index)
ParameterWithArgument(
parameter,
argumentForParameter
@@ -190,10 +184,8 @@
// A default value exists (so !! is safe), and we are browsing Kotlin source
// Note: this should be is KtLightParameter, but this was changed from an interface
// to a class, so we get an IncompatibleClassChangeError.
- // TODO: change to KtParameter when we upgrade the min lint version we compile against
- // b/182832722
- parameter is KtLightElement<*, *> -> {
- (parameter.kotlinOrigin!! as KtParameter).defaultValue.toUElement()
+ parameter is KtLightParameter -> {
+ parameter.kotlinOrigin!!.defaultValue.toUElement()
}
// A default value exists, but it is in a class file so we can't access it anymore
else -> null
diff --git a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt
index 822cc27..4d711a1 100644
--- a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt
+++ b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.material.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -29,4 +30,9 @@
override val issues get() = listOf(
ColorsDetector.ConflictingOnColor
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.material",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt b/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt
index 0364538..0b7531f 100644
--- a/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt
+++ b/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = MaterialIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/runtime/runtime-lint/build.gradle b/compose/runtime/runtime-lint/build.gradle
index a7754a6d..f3672f6 100644
--- a/compose/runtime/runtime-lint/build.gradle
+++ b/compose/runtime/runtime-lint/build.gradle
@@ -27,7 +27,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt
index 117f9b5..57f33f0 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt
@@ -19,6 +19,7 @@
package androidx.compose.runtime.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -37,4 +38,9 @@
RememberDetector.RememberReturnType,
UnrememberedMutableStateDetector.UnrememberedMutableState
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.runtime",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt
index e95d95d..ad0785c 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = RuntimeIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/runtime/runtime-saveable-lint/build.gradle b/compose/runtime/runtime-saveable-lint/build.gradle
index 54d62df..5265bbf 100644
--- a/compose/runtime/runtime-saveable-lint/build.gradle
+++ b/compose/runtime/runtime-saveable-lint/build.gradle
@@ -27,7 +27,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
diff --git a/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt b/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt
index c3f8f55..ada42a3 100644
--- a/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt
+++ b/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt
@@ -19,6 +19,7 @@
package androidx.compose.runtime.saveable.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -31,4 +32,9 @@
override val issues get() = listOf(
RememberSaveableDetector.RememberSaveableSaverParameter
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.runtime.saveable",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt b/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt
index 9bc4684..1e21d66 100644
--- a/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt
+++ b/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = RuntimeSaveableIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/ui/ui-graphics-lint/build.gradle b/compose/ui/ui-graphics-lint/build.gradle
index 60bcdd1..7cb01fe 100644
--- a/compose/ui/ui-graphics-lint/build.gradle
+++ b/compose/ui/ui-graphics-lint/build.gradle
@@ -26,7 +26,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly libs.androidLintMinComposeApi
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
diff --git a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
index 2e83a58..16a8216 100644
--- a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
+++ b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
@@ -50,7 +50,7 @@
val argument = node.valueArguments.first()
// Ignore non-literal expressions
if (argument !is KotlinULiteralExpression) return
- val argumentText = argument.sourcePsi?.text ?: return
+ val argumentText = argument.sourcePsi.text ?: return
val hexPrefix = "0x"
val hexIndex = argumentText.indexOf(hexPrefix, ignoreCase = true)
// Ignore if this isn't a hex value
diff --git a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt
index 4d7355d..6b90727 100644
--- a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt
+++ b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.ui.graphics.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -30,4 +31,9 @@
ColorDetector.MissingColorAlphaChannel,
ColorDetector.InvalidColorHexValue
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.ui.graphics",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt b/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt
index ebfed874..e3f2599 100644
--- a/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt
+++ b/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = UiGraphicsIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/ui/ui-lint/build.gradle b/compose/ui/ui-lint/build.gradle
index 915153a..1d86290 100644
--- a/compose/ui/ui-lint/build.gradle
+++ b/compose/ui/ui-lint/build.gradle
@@ -26,7 +26,7 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
diff --git a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt
index 7988e6a..e812090 100644
--- a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt
+++ b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.ui.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -33,4 +34,9 @@
ModifierDeclarationDetector.ModifierFactoryUnreferencedReceiver,
ModifierParameterDetector.ModifierParameter
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.ui",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt
index 6a0c7d3..1c0b6e9 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = UiIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/docs/lint_guide.md b/docs/lint_guide.md
index c1b56c4..6ce7154 100644
--- a/docs/lint_guide.md
+++ b/docs/lint_guide.md
@@ -54,13 +54,7 @@
}
dependencies {
- // compileOnly because lint runtime is provided when checks are run
- // Use latest lint for running from IDE to make sure checks always run
- if (rootProject.hasProperty("android.injected.invoked.from.ide")) {
- compileOnly LINT_API_LATEST
- } else {
- compileOnly LINT_API_MIN
- }
+ compileOnly LINT_API_MIN
compileOnly KOTLIN_STDLIB
testImplementation KOTLIN_STDLIB
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index d177eb0..f0975f0 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -12,6 +12,10 @@
# -----------------------------------------------------------------------------
androidLintMin = "26.3.0"
+# Compose 1.0 stable is aligned with AGP 7.0 / Lint 30.0.0 stable - so we use a higher min to
+# compile against as we don't need to maintain compatibility with older versions of Lint.
+# TODO: update to 30.0.0 stable when it is released
+androidLintMinCompose = "30.0.0-alpha15"
androidxTest = "1.4.0-beta01"
androidxTestExt = "1.1.3-beta01"
autoService = "1.0-rc6"
@@ -36,6 +40,7 @@
androidLintMin = { module = "com.android.tools.lint:lint", version.ref = "androidLintMin" }
androidLintApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLint" }
androidLintMinApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLintMin" }
+androidLintMinComposeApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLintMinCompose" }
androidLintChecks = { module = "com.android.tools.lint:lint-checks", version.ref = "androidLint" }
androidLintTests = { module = "com.android.tools.lint:lint-tests", version.ref = "androidLint" }
autoCommon = { module = "com.google.auto:auto-common", version = "0.11" }