【问题标题】:Gradle dependency on project for all configurationsGradle 对所有配置的项目的依赖
【发布时间】:2013-11-23 01:24:54
【问题描述】:

我正在考虑使用 Gradle 代替 Ant/Ivy。我正在尝试为所有配置在我的项目之间创建依赖关系,例如,project1.compile 依赖于 project2.compileproject1.runtime 依赖于 project2.runtime,等等。

在 Ivy 中,我使用以下 XML 执行此操作:

project1/ivy.xml

<dependency conf="*->@" org="myorg" name="project2" rev="latest.integration" />

在 Gradle 中,这是我尝试过的:

project1/build.gradle

configurations.each { config ->
    config.dependencies.add project(path: ':project2', configuration: config.name)
}

但它抱怨project 函数不存在:

> Could not find method project() for arguments [{path=:project2, configuration=archives}] on project ':project1'.

任何想法如何做到这一点?

【问题讨论】:

    标签: configuration groovy gradle dependency-management multi-project


    【解决方案1】:
    configurations.all { config ->
        project.dependencies.add(config.name, 
            project.dependencies.project(
                path: ':project2', configuration: config.name))
    }
    

    【讨论】:

    • 谢谢,效果很好。为了让这段代码在所有子项目中可用,我在根项目中添加了一个函数,调用如下:addProjectDependency(project, ':project2')。我的希望是定义类似“全部”配置的东西来做同样的事情。关于我的方法或使其可重用的更好方法的任何提示或反馈?再次感谢。
    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2016-07-05
    • 2014-01-19
    • 2020-06-17
    • 2017-03-25
    相关资源
    最近更新 更多