Flake8 output to JUnit XML format for integration with Bamboo-like CI systems
I'm familiar with the Flake8 plugin architecture, but at the moment, it lacks the possibility to format 'successful' files, only files that contain issues.
When you're working in a CI environment (e.g. Bamboo), you need a JUnit XML format output to integrate better into the CI. The idea is that you output all processed files, (even the ones that did not fail). That allows the CI to show all processed files.
If you'd like to know more about the choice for JUnit XML: http://www.ibm.com/support/knowledgecenter/SSQ2R2_9.5.1/com.ibm.rsar.analysis.codereview.cobol.doc/topics/cac_useresults_junit.html It is an open format used by (almost?) all popular CI systems like Bamboo, Jenkins, CircleCI, etc.
This allows the CI to parse the Flake8 results like this:
And when you fix the issues, the CI shows this:
The functionality I've implemented generates a JUnit XML file that does just that. I know it's quite rough around the edges, but it is functionality that is currently not possible to achieve with the plugin mechanism.
I've already implemented a working approach here: https://github.com/dirkmoors/flake8/commit/3b2bed0950815c90a56c4f5099c827ee4db41b9a
Would you consider adding this to flake8? If so, how do we proceed?