如何让gradle加载所有依赖项版本

时间:2014-09-26 13:31:43

标签: gradle

我有一个带有依赖项的非java项目,我们基本上希望能够将Artifactory中相同依赖模块的两个版本包含到项目的工作区中(在不同的文件夹中)。

所以我在依赖树中有一个包含同一模块的多个版本的项目。例如:



Project A depends on: 
       module B version 3.0 depends on
                          module C version 2.0
       module C version 1.0




我想扩展到:

workspace
    dependencies
        B              <- contents of module B version 3.0
        C_abc          <- contents of module C version 2.0
        modC_xyz       <- contents of module C version 1.0

现在我们希望gradle从模块C的版本1.0和2.0获取神器的工件。 问题在于它试图解决“冲突”问题。 (即它想要获得版本1.0或版本2.0,而我似乎无法让它保持两者。 一旦我将它们全部用于配置,我就可以将它们扩展到正确的文件夹中,这不是真正的问题。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

为重复模块创建单独的配置。然后,您可以将该配置复制到您选择的位置。

configurations {
    moduleB
}

dependencies {
    moduleB 'org.foo:dependency:3.0'
}

task copyDependencies(type: Copy) {
    from(configurations.moduleB) {
        into 'workspace/dependencies/B'
    }
}