如何在 Gradle 中查找/删除未使用的依赖项
我想在我的项目中查找未使用的依赖项。在Gradle中是否有这样的功能,就像在Maven中一样?
我想在我的项目中查找未使用的依赖项。在Gradle中是否有这样的功能,就像在Maven中一样?
我为 Kotlin 用户添加了 2 种类型的配置。
使用插件 DSL:
plugins {
id("com.faire.gradle.analyze") version "1.0.9"
}
使用旧版插件应用程序:
buildscript {
repositories {
maven {
url = uri("https://plugins.gradle.org/m2/")
}
}
dependencies {
classpath("com.faire.gradle:gradle-kotlin-buildozer:1.0.9")
}
}
apply(plugin = "com.faire.gradle.analyze")
资源链接:
2017 年 6 月,他们发布了根项目名称,并将根项目名称重命名为 .他们还将Android支持添加到未使用的依赖项中。
4.0.0 version
"gradle-lint-plugin"
"nebula-lint-plugin"
2016年5月,Gradle实现了Gradle lint插件,用于查找和删除不需要的依赖项
Gradle Lint 插件是一个可插拔和可配置的 linter 工具,用于识别和报告 Gradle 脚本和相关文件中的误用或弃用模式。
此插件具有各种规则。未使用的依赖项规则就是其中之一。它有三个具体特征。
要应用规则,请添加:
gradleLint.rules += 'unused-dependency'
未使用的依赖关系规则的详细信息在最后一部分中给出。
要应用 Gradle lint 插件:
buildscript { repositories { jcenter() } }
plugins {
id 'nebula.lint' version '0.30.2'
}
或者:
buildscript {
repositories { jcenter() }
dependencies {
classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'
}
}
apply plugin: 'nebula.lint'
定义要针对的规则:
gradleLint.rules = ['all-dependency'] // Add as many rules here as you'd like
对于企业内部版本,我们建议在 init.gradle 脚本或通过 Gradle 应用自机制包含的 Gradle 脚本中定义 lint 规则。
对于多模块项目,我们建议在块中应用插件:allprojects
allprojects {
apply plugin: 'nebula.lint'
gradleLint.rules = ['all-dependency'] // Add as many rules here as you'd like
}
要应用规则,请添加:
gradleLint.rules += 'unused-dependency'
该规则检查从项目的源代码集发出的已编译二进制文件,以查找类引用,并将这些引用与在依赖项块中声明的依赖项进行匹配。
为了您的善意信息,我想分享一下以前的插件
但其最新版本1.0.3创建于2014年12月23日。之后,没有任何更新。
注意:我们的许多工程师都对这个插件感到困惑,因为他们只更新了版本号,没有更新其他内容。
我刚刚了解到这个:https://plugins.gradle.org/plugin/com.autonomousapps.dependency-analysis
从外观上看,它正在积极开发中,但我还没有测试过。
编辑:实际上它非常棒,它提供了很多建议(例如,是否使用api与实现)