在Gradle中,如何在处理完所有子项目的`build.Gradle`文件后执行处理?

在Gradle中,如何在处理完所有子项目的`build.Gradle`文件后执行处理?,gradle,Gradle,我希望在所有子项目(包括那些多个级别的子项目)都已处理完毕后,检查所有配置的所有依赖关系,以便: rootProject.getConfigurations().each { configuration -> println "${configuration}: ${configuration.getAllDependencies()}" } 如果子项目为该配置定义了依赖项,则不返回空列表 一种可能的方法是使用一个虚拟项目,并在其build.gradle文件中使用evaluati

我希望在所有子项目(包括那些多个级别的子项目)都已处理完毕后,检查所有配置的所有依赖关系,以便:

rootProject.getConfigurations().each { configuration ->
    println "${configuration}: ${configuration.getAllDependencies()}"
}
如果子项目为该配置定义了依赖项,则不返回空列表


一种可能的方法是使用一个虚拟项目,并在其build.gradle文件中使用evaluationDependsOn。有没有一种不太老套的方法可以做到这一点?

gradle.projectsevaluate和project.afterEvaluate都可以用于此操作。

那么,您的子项目是否向根项目添加依赖项?@MarkVieira,没有。如果子项目依赖于其他内容,我想向子项目添加其他依赖项。更具体地说,我想从依赖项中排除子依赖项。我们的生成生成了反映该排除项的ivy.xml文件,因此其他项目会选择该子依赖项,然后显式创建对特定版本的依赖项。您可能希望使用这种逻辑。@MarkVieira,这正是我想要的。将您的评论转换为答案,我将投票并接受。应该能够执行类似于project.configurations.foo.dependencies.addproject.dependencies.create'org.foo:bar:1.0'的操作。