我想创建一个自定义扩展名,其动态名称为
myExt {
aNameChoosenByUser{
firstname = 'toto'
age = 2
}
aNameChoosenByUser2{
firstname = 'tata'
age = 3
}
}
我经常使用:
project.extensions.create("myExt", APluginExtension)
但是我不知道什么时候创建插件“aNameChoosenByUser”,“aNameChoosenByUser2”。我想让用户定义它。迭代之后,因为它是HashMap<String,APluginExtension>
。
我不想在我的插件中定义“aNameChoosenByUser”。
可以用groovy / gradle做到吗?
感谢
答案 0 :(得分:1)
您要创建的是NamedDomainObjectContainer
,可以通过调用Project.container()
并传递类型来完成。在这种情况下,您不想为扩展名定义类型,而是要为容器的模型对象定义类型。
project.extensions.create('myExt', project.container(User.class))
public class User {
String firstname;
String age;
}