![JAR search and dependency download from the Maven repository](/logo.png)
gherkin.Main Maven / Gradle / Ivy
package gherkin;
import gherkin.formatter.Formatter;
import gherkin.formatter.PrettyFormatter;
import gherkin.parser.Parser;
import gherkin.util.FixJava;
import java.io.File;
import java.io.FileFilter;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class Main {
private FileFilter featureFilter = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory() || file.getName().endsWith(".feature");
}
};
private Parser parser;
private final Writer out;
public Main(final Writer out) {
this.out = out;
final Formatter formatter = new PrettyFormatter(out, false, true);
parser = new Parser(formatter);
}
private void scanAll(File file) throws IOException {
walk(file);
out.append('\n');
out.close();
}
private void walk(File file) {
if (file.isDirectory()) {
for (File child : file.listFiles(featureFilter)) {
walk(child);
}
} else {
parse(file);
}
}
private void parse(File file) {
try {
String input = FixJava.readReader(new FileReader(file));
parser.parse(input, file.getPath(), 0);
} catch (Exception e) {
e.printStackTrace(System.err);
System.exit(1);
}
}
public static void main(String[] args) throws IOException {
new Main(new OutputStreamWriter(System.out, "UTF-8")).scanAll(new File(args[0]));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy