Pavol, thank you very much for your inspiration! Unfortunately, your regexp / script does not work for me, but it was a very good starting point for further research. Here is what works for my configuration:
Name: Android Lint Parser
Regexp: ([^\s]*: )?([^ ]*):\s+(.*)\[(.*)\]$
Groovy script:
import hudson.plugins.warnings.parser.Warning;
import hudson.plugins.analysis.util.model.Priority;
String fileName = matcher.group(1);
String lineNumber = "";
String priority = matcher.group(2);
String message = matcher.group(3);
String category = matcher.group(4);
if (fileName == null) {
fileName = "(no file)";
} else {
int idx = fileName.indexOf(':');
if (idx > -1) {
lineNumber = fileName.substring(idx + 1, fileName.size());
fileName = fileName.substring(0, idx);
int idx2 = lineNumber.indexOf(':');
if (idx2 > -1) {
lineNumber = lineNumber.substring(0, idx2);
}
idx2 = lineNumber.indexOf(' ');
if (idx2 > -1) {
lineNumber = lineNumber.substring(0, idx2);
}
}
}
return new Warning(fileName, lineNumber.size() > 0 ? Integer.parseInt(lineNumber) : 0, "Android Lint Parser", category, message, priority.equals("Error") ? Priority.HIGH : Priority.NORMAL);