在Gradle中设置作为编译配置的父级的配置

时间:2014-02-22 02:28:35

标签: plugins gradle

我在插件中添加了自定义配置

Configuration customCompile = project.configurations.create("customCompile")
        .setVisible(false).setTransitive(true)

我想做点什么

configuration.compile.addExtendsFrom(customCompile)

因此,在我的插件中,我可以隔离某些依赖项以添加到我正在运行的类的路径中(使用`project.configurations.customCompile)。我希望它们也保持在常规编译路径上。

我做的是:

Configuration compile = project.configurations.getByName('compile')
Set updated = WrapUtil.asSet(compile.getExtendsFrom()) // returns a immutable set
updated.add(customCompile)
compile.setExtendsFrom(updated)

它有效,但感觉有点复杂,extendsFrom似乎具有与java类习惯相反的继承意义。有没有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:2)

a.extendsFrom(b) 类似于“a继承自b”,您只需执行configurations.compile.extendsFrom(customCompile)即可。 (不是addExtendsFromgetExtendsFrom。)