A utility for tracking code analysis metrics directly in the git repository.
The basic goal here is to provide github-based projects the ability to track code quality metrics over time without using any service other than github and a CI. As far as any CI integration will be built into this product, my initial focus will be travis but I see no reason that we would be locked into that.
This is still a work in progress. The general plan is to build this from 5 building blocks:
- Utility for accessing git notes and working out which to use, most recent comparison point, etc. The basic "store tracked data in the repository" machinery.
- Configuration Utility -- what configurations, etc are we using. Parsing
.codewatch.ymland making its contents available. - Abstraction for metric types -- provides resource parsing, diff capabilities, and readable posting formats. Starting with:
- Coverage
- Rule Sets
- Abstraction for the hosting API (discoverable, a discoverable endpoint based on
.git/config, overrideable in.codewatch.yml. Starting with github, could eventually potentialy support: - Stash
- Bitbucket
- Gitlab
- Build Tool Plugins
- SetupTools
- Gulp
- Maven
- Rake
- Gradle
The tool is written in python, but is intended to be used across languages.