In Checkstyle Version 6.6 und höher Wenn im analysierten Quellcode eine Konventionsverletzung auf Fehlerebene festgestellt wird, wird diese an die Standardausgabe ausgegeben.
$ java -jar checkstyle-6.7-SNAPSHOT-all.jar -f xml -c /sun_checks.xml Test.java
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="6.7-SNAPSHOT">
<file name="/home/rivanov/tmp/cs_tests/Test.java">
......
</file>
</checkstyle>
Checkstyle ends with 12 errors.
Spuckt nun in der letzten Zeile die Meldung "Checkstyle endet mit XXX-Fehlern" aus. https://github.com/checkstyle/checkstyle/issues/1018#issuecomment-99271206
Wenn das Analyseergebnis im XML-Format an die Standardausgabe ausgegeben und an ein anderes Tool übergeben wird, z. B. durch Verbinden mit einer Pipe, kann das Parsen der XML-Daten aufgrund dieser einen Zeile fehlschlagen.
Als Lösung geben Sie einmal wie folgt in eine Datei aus: Sie können es an das nächste Werkzeug weitergeben.
Before
java -jar checkstyle-6.7-SNAPSHOT-all.jar -f xml -c /sun_checks.xml \
| bundle exec saddler report \
--require saddler/reporter/github \
--reporter Saddler::Reporter::Github::CommitReviewComment
After
java -jar checkstyle-6.7-SNAPSHOT-all.jar -f xml -c /sun_checks.xml -o result.xml
bundle exec saddler report \
--require saddler/reporter/github \
--reporter Saddler::Reporter::Github::CommitReviewComment \
< result.xml