首页 文章

如何使用Gradle以展平形式获取项目依赖项列表?

提问于
浏览
9

我知道Gradle有一个优秀的 dependencies 任务,它列出了项目的所有依赖项 . 但是,它会在树列表中返回它们 .

我想获得所有依赖项的列表,因为它们只是在一个平面列表中解析 . 类似于Maven依赖插件 list 目标的行为方式 .

2 回答

  • 1

    这是一个满足这种需求的简短任务:

    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 将提供已解析的值和版本 .

  • 11

    您可以使用linux或cygwin中的sed | sort | uniq来展平deps树:

    $ gradle dependencies | sed 's/^.* //' | sort | uniq
    

相关问题