Dans checkstyle version 6.6 et ultérieure Si une violation de convention de niveau d'erreur est trouvée dans le code source analysé, elle sera sortie vers la sortie standard.
$ 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.
Crache maintenant le message «Le style de contrôle se termine par des erreurs XXX» sur la dernière ligne. https://github.com/checkstyle/checkstyle/issues/1018#issuecomment-99271206
Par conséquent, si le résultat de l'analyse est sorti vers la sortie standard au format XML et transmis à un autre outil, par exemple en se connectant à un canal, l'analyse des données XML peut échouer en raison de cette seule ligne.
En guise de solution, effectuez une sortie dans un fichier une fois comme suit, Vous pouvez le transmettre à l'outil suivant.
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