1
父配置
我添加了一個自定義的配置,我的插件設置,生活的編譯配置的搖籃
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類繼承的相反的意思。有沒有更好的方法來做到這一點?
我認爲這感覺就像繼承的對立面是因爲我認爲「instanceof」會起作用。如果a.extendsfrom(b),我期望project.configurations.a是一個子類「a」的列表,project.configurations.b包含b和a。無論如何,我想這是一種主觀的解釋。這對我有用。 – loosebazooka
你的解釋與繼承是相反的。 :-) extendsFrom實際上類似於(多重)繼承。 –
我的意思是在類型'B'的列表可以引用(類型A和B)與類型'A'(類型A)的列表的上下文的上下文中,但是這似乎具有所有B類型依賴關係是B的成員(不是B的實例),這是合理的。 – loosebazooka