package org.netbeans.gradle.model;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import org.gradle.tooling.LongRunningOperation;
import org.gradle.tooling.ProgressListener;
public final class BuildOperationArgs {
private OutputStream standardOutput;
private OutputStream standardError;
private InputStream standardInput;
private File javaHome;
private String[] jvmArguments;
private String[] arguments;
private ProgressListener[] progressListeners = new ProgressListener[0];
public OutputStream getStandardOutput() {
return standardOutput;
}
public void setStandardOutput(OutputStream standardOutput) {
this.standardOutput = standardOutput;
}
public OutputStream getStandardError() {
return standardError;
}
public void setStandardError(OutputStream standardError) {
this.standardError = standardError;
}
public InputStream getStandardInput() {
return standardInput;
}
public void setStandardInput(InputStream standardInput) {
this.standardInput = standardInput;
}
public File getJavaHome() {
return javaHome;
}
public void setJavaHome(File javaHome) {
this.javaHome = javaHome;
}
public String[] getJvmArguments() {
return jvmArguments != null ? jvmArguments.clone() : null;
}
public void setJvmArguments(String... jvmArguments) {
this.jvmArguments = jvmArguments != null ? jvmArguments.clone() : null;
}
public String[] getArguments() {
return arguments != null ? arguments.clone() : null;
}
public void setArguments(String... arguments) {
this.arguments = arguments != null ? arguments.clone() : null;
}
public ProgressListener[] getProgressListeners() {
return progressListeners.clone();
}
public void setProgressListeners(ProgressListener[] progressListeners) {
this.progressListeners = progressListeners.clone();
}
public void setupLongRunningOP(LongRunningOperation op) {
if (javaHome != null) {
op.setJavaHome(javaHome);
}
if (arguments != null) {
op.withArguments(arguments.clone());
}
if (jvmArguments != null) {
op.setJvmArguments(jvmArguments.clone());
}
if (standardOutput != null) {
op.setStandardOutput(standardOutput);
}
if (standardError != null) {
op.setStandardError(standardError);
}
if (standardInput != null) {
op.setStandardInput(standardInput);
}
for (ProgressListener listener: progressListeners) {
op.addProgressListener(listener);
}
}
}