package net.mcforkage.ant;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import decompsource.RemapSources;
public class RemapSourcesTask extends Task {
private File methods, fields, params, input, output;
private boolean noJavadocs;
public void setMethods(File f) {methods = f;}
public void setFields(File f) {fields = f;}
public void setParams(File f) {params = f;}
public void setInput(File f) {input = f;}
public void setOutput(File f) {output = f;}
public void setNojavadocs(boolean b) {noJavadocs = b;}
@Override
public void execute() throws BuildException {
if(methods == null || fields == null || params == null || input == null || output == null)
throw new BuildException("A required parameter is missing");
try {
RemapSources r = new RemapSources();
r.noJavadocs = noJavadocs;
r.readConfigs(methods.getAbsolutePath(), fields.getAbsolutePath(), params.getAbsolutePath());
try (InputStream in = new FileInputStream(input)) {
try (OutputStream out = new FileOutputStream(output)) {
r.go(in, out);
}
}
} catch(Exception e) {
throw new BuildException(e);
}
}
}