package hudson.plugins.warnings.parser;
import java.util.regex.Matcher;
/**
* A parser for Buckminster compiler warnings.
*
* @author Johannes Utzig
*/
public class BuckminsterParser extends RegexpLineParser {
/** Warning type of this parser. */
static final String WARNING_TYPE = "Buckminster Compiler";
/** Pattern for buckminster compiler warnings. */
private static final String BUCKMINSTER_WARNING_PATTERN = "^.*(Warning: file )(.*?)(, line )?(\\d*): (.*)$";
/**
* Creates a new instance of <code>BuckminsterParser</code>.
*/
public BuckminsterParser() {
super(BUCKMINSTER_WARNING_PATTERN, WARNING_TYPE);
}
/**
* Creates a new annotation for the specified pattern.
*
* @param matcher the regular expression matcher
* @return a new annotation for the specified pattern
*/
@Override
protected Warning createWarning(final Matcher matcher) {
return new Warning(matcher.group(2), getLineNumber(matcher.group(4)), WARNING_TYPE, classifyWarning(matcher.group(5)), matcher.group(5));
}
}