[JAVA] Précautions lors de l'utilisation de la version 6.6 ou supérieure de Checkstyle

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

Recommended Posts

Précautions lors de l'utilisation de la version 6.6 ou supérieure de Checkstyle
N'oubliez pas setCalendar ou setTimeZone lorsque vous utilisez Java DateFormat
Précautions lors de l'utilisation de Mockito.anyString comme argument lors de Mocking avec Mockito