[lint] loosen a couple of GradleDetector checks
Declarative Gradle, at least in its current prototypical form, wraps
existing plugins, and consequently configuration blocks take on new
names. Adjust GradleDetector to recognize `androidApplication` and
`declarativeDependencies` as synonyms for `android` and `dependencies`
respectively.
Bug: 330888875
Test: existing
Change-Id: I781231a23887008c0b52b1638fbee6057de45730
diff --git a/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/GradleDetector.kt b/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/GradleDetector.kt
index 275299b..cf709c7 100644
--- a/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/GradleDetector.kt
+++ b/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/GradleDetector.kt
@@ -415,7 +415,7 @@
}
}
} else if (
- (property == "compileSdkVersion" || property == "compileSdk") && parent == "android"
+ (property == "compileSdkVersion" || property == "compileSdk") && parent.startsWith("android")
) {
var version = -1
if (isStringLiteral(value)) {
@@ -505,7 +505,7 @@
checkDependency(context, dependency, false, valueCookie, statementCookie)
}
}
- } else if (parent == "dependencies") {
+ } else if (parent == "dependencies" || parent == "declarativeDependencies") {
if (value.startsWith("files") && value.matches("^files\\(['\"].*[\"']\\)$".toRegex())) {
val path = value.substring("files('".length, value.length - 2)
if (path.contains("\\\\")) {