从 Groovy 迁移到 Kotlin DSL 后,
settings.gradle
现在收到有关此代码使用情况的 lint 警告
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
url = uri("https://jitpack.io")
}
}
目前使用AGP
8.1.3
即使使用 Kotlin DSL 中的 IDE 模板创建新项目时,上述配置也存在并收到警告。
为什么在使用 Groovy 时没有显示这一点,Kotlin DSL 似乎存在问题,或者在 Groovy 中 lint 无法检测到它?
例如,如果将
dependencyManagement {}
块转换回 Groovy
DSL 并尝试导航到 repository
处理程序,您最终会在同一文件中使用相同的 @Incubating
注释:
https://github.com/gradle/gradle/blob/master/subprojects/core-api/src/main/java/org/gradle/api/initialization/resolve/DependencyResolutionManagement.java#L44
但是为什么它显示针对 Kotlin 的警告而不是针对 Groovy 的警告? 根据 Gradle GitHub 存储库中的这个答案: https://github.com/gradle/gradle/issues/20328#issuecomment-1083788360
问题不在于 Gradle。这是基于
Intellij
的 IDE 对 .gradle
和 .kts
文件运行检查的方式。由于某种原因,Unstable API usage
检查不适用于 .gradle
文件。
似乎要让它发挥作用
IntelliJ
人们应该将其添加到他们的检查目录中的Gradle
部分。目前看来,它只能处理@Deprecated
注释