![JAR search and dependency download from the Maven repository](/logo.png)
io.rouz.task.proc.Exec Maven / Gradle / Ivy
package io.rouz.task.proc;
import com.google.auto.value.AutoValue;
import java.util.Arrays;
import io.rouz.task.dsl.TaskBuilder.F1;
import io.rouz.task.dsl.TaskBuilder.F2;
import io.rouz.task.dsl.TaskBuilder.F3;
/**
* TODO: document.
*/
public final class Exec {
private Exec() {
// no instantiation
}
public static F1 exec(F1 f) {
return a -> {
final String[] args = f.apply(a);
System.out.println("running " + Arrays.toString(args));
// exec(args);
return new AutoValue_Exec_ResultValue(args.length);
};
}
public static F2 exec(F2 f) {
return (a, b) -> {
final String[] args = f.apply(a, b);
System.out.println("running " + Arrays.toString(args));
// exec(args);
return new AutoValue_Exec_ResultValue(args.length);
};
}
public static F3 exec(F3 f) {
return (a, b, c) -> {
final String[] args = f.apply(a, b, c);
System.out.println("running " + Arrays.toString(args));
// exec(args);
return new AutoValue_Exec_ResultValue(args.length);
};
}
public interface Result {
int exitCode();
}
@AutoValue
static abstract class ResultValue implements Result {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy