比方说,我有一个插件,它可以在任务扩展对象中添加 MyTask.class
和 MyTaskExtension.class
到一个项目。
MyTaskExtension.class
有五个设定器,其中三个可以在不同实例中通用。
我如何将一个类型的 MyTaskExtension.class
(用于配置MyTask.class的DSL的扩展)到闭包,这样我就可以访问它的成员了? 我的尝试是这样的。
Closure commonSettings = { ExtensionContainer.findByType(MyTask) t -> {
t.a = "a"
t.b = "b"
t.c = "c"
}}
然后用这个功能 Closure
应用到Gradle DSL中的MyTask实例。
例如
task One(type: MyTask) {
commonSettings.call(this)
d = "d"
e = "e"
}
task Two(type: MyTask) {
commonSettings.call(this)
d = "4"
e = "5"
}