Работа над Gradle-плагином. И я попытался перенести функциональность с Gradle 6 ObjectFactory.namedDomainObjectList(Class<T> elementType)
на Gradle 5.6.4.
Я попробовал это без удачи:
import org.gradle.testfixtures.ProjectBuilder
import org.gradle.api.internal.CollectionCallbackActionDecorator
import org.gradle.api.internal.DefaultDomainObjectCollection
def main() {
def project = ProjectBuilder.builder().build();
CollectionCallbackActionDecorator ccad;
def myList = project.objects.newInstance(DefaultDomainObjectCollection.class,
MyClass.class,
new ListElementSource(),
ccad);
}
static class MyClass implements Named {
@Override
String getName() {
return "foobar"
}
}
Стек исключений
org.gradle.api.reflect.ObjectInstantiationException: Could not create an instance of type org.gradle.api.internal.DefaultDomainObjectCollection.
at org.gradle.internal.instantiation.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:54)
at org.gradle.api.internal.model.DefaultObjectFactory.newInstance(DefaultObjectFactory.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:190)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:55)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:151)
github: Источник создания Gradle