在gradle中实际使用自定义配置

时间:2015-02-19 16:26:50

标签: gradle build.gradle

我是新手,在基本问题上挣扎。我在我的项目中声明了一组编译时依赖项。我的问题陈述是,我想让依赖关系的子集不可传递,剩下的是传递。

我尝试进行自编译,从编译扩展并将其传递属性设置为false

Customcompile.extendsFrom(compile)
Customcompile.transitive = false

通过这个,我认为无论我宣布什么 Customcompile 'xxx:xxx:1.0'将应用transitive=false,并且它将充当编译时依赖项。

但是这不能用这些依赖项编译我的项目

我在这个假设中的任何地方都错了吗?

1 个答案:

答案 0 :(得分:21)

您需要将customCompile.extendsFrom(compile)更改为compile.extendsFrom(customCompile)

configurations {
    customCompile
    customCompile.transitive = false
    compile.extendsFrom(customCompile)
}

这是因为编译类路径是从compile配置的依赖项派生的。

通过从compile配置扩展customCompile配置,您现在将customCompile配置中的所有依赖项都包含在compile配置中。