import static org.gradle.util.CollectionUtils.toStringList;
public class ConfigureUtil {
public static <T> T configureByMap(Map<?, ?> properties, T delegate) {
DynamicObject dynamicObject = DynamicObjectUtil.asDynamicObject(delegate);
for (Map.Entry<?, ?> entry : properties.entrySet()) {
String name = entry.getKey().toString();
Object value = entry.getValue();
if (dynamicObject.hasProperty(name)) {
dynamicObject.setProperty(name, value);
} else {
try {
dynamicObject.invokeMethod(name, value);
} catch (MissingMethodException e) {
dynamicObject.setProperty(name, value);
}
}
}
return delegate;