/** @see #transformMultiple(Function, Task...) */ public static <U,T> Task<T> transformMultiple(Map flags, final Function<List<U>,T> transformer, TaskAdaptable<U> ...tasks) { return transformMultiple(flags, transformer, Arrays.asList(tasks)); } public static <U,T> Task<T> transformMultiple(Map flags, final Function<List<U>,T> transformer, List<? extends TaskAdaptable<U>> tasks) {
/** Returns a task which waits for multiple other tasks (submitting if necessary) * and performs arbitrary computation over the List of results. * @see #transform(Task, Function) but note argument order is reversed (counterintuitive) to allow for varargs */ public static <U,T> Task<T> transformMultiple(Function<List<U>,T> transformer, TaskAdaptable<U> ...tasks) { return transformMultiple(MutableMap.of("displayName", "transforming multiple"), transformer, tasks); }
/** @see #transformMultiple(Function, Task...) */ public static <U,T> Task<T> transformMultiple(Map flags, Closure transformer, TaskAdaptable<U> ...tasks) { return transformMultiple(flags, GroovyJavaMethods.functionFromClosure(transformer), tasks); }
/** @see #transformMultiple(Function, Task...) */ public static <U,T> Task<T> transformMultiple(Closure transformer, TaskAdaptable<U> ...tasks) { return transformMultiple(GroovyJavaMethods.functionFromClosure(transformer), tasks); }
return transformMultiple( MutableMap.<String,String>of("displayName", "formatting '"+spec+"' with "+taskArgs.size()+" task"+(taskArgs.size()!=1?"s":"")), new Function<List<Object>, String>() {