package cuke4duke.ant;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.Environment;
import java.io.File;
public class CucumberTask extends JRubyTask {
private String args = "";
private File bin;
public void execute() throws BuildException {
createArg().setFile(getCuke4dukeBinFile());
getCommandLine().createArgument().setLine(args);
super.execute();
}
public void setArgs(String args) {
this.args = args;
}
public void setBin(File bin) {
this.bin = bin;
}
public void setObjectFactory(String name) {
Environment.Variable objectFactory = new Environment.Variable();
objectFactory.setKey("cuke4duke.objectFactory");
objectFactory.setValue("cuke4duke.internal.jvmclass." + name.substring(0, 1).toUpperCase() + name.substring(1) + "Factory");
this.addSysproperty(objectFactory);
}
private File getCuke4dukeBinFile() {
if (bin != null) {
return bin;
} else if (System.getProperty("cuke4duke.bin") != null) {
return new File(System.getProperty("cuke4duke.bin"));
} else {
return new File(getBinDir(), "cuke4duke");
}
}
}