我知道Gradle有一个优秀的 dependencies 任务,它列出了项目的所有依赖项 . 但是,它会在树列表中返回它们 .
dependencies
我想获得所有依赖项的列表,因为它们只是在一个平面列表中解析 . 类似于Maven依赖插件 list 目标的行为方式 .
list
这是一个满足这种需求的简短任务:
task('dependenciesList') << { println "Compile dependencies" def selectedDeps = project.configurations.compile.incoming.resolutionResult.allDependencies.collect { dep -> "${dep.selected}" } selectedDeps.unique().sort().each { println it} }
第三行是有趣的部分 . 您需要获得您关心的(编译)配置,然后获取依赖关系, incoming.resolutionResult 将提供已解析的值和版本 .
incoming.resolutionResult
您可以使用linux或cygwin中的sed | sort | uniq来展平deps树:
$ gradle dependencies | sed 's/^.* //' | sort | uniq
2 回答
这是一个满足这种需求的简短任务:
第三行是有趣的部分 . 您需要获得您关心的(编译)配置,然后获取依赖关系,
incoming.resolutionResult
将提供已解析的值和版本 .您可以使用linux或cygwin中的sed | sort | uniq来展平deps树: