A convenience utility for software source code validation and linting
Project description
VVV is a tool for easy validation and linting integration for your software project. With a single command validate all files, no matter in which programming language, in a source tree against a policy you specify in a simple configuration file. VVV prevents bad stuff to be committed in your software source control or makes cleaning it up easier.
Installation
Please read reading installation instructions before proceeding.
Currently this package is known to be compatible with
Python 3.2+
Python 2.7
Benefits
Enforce coding conventions across multiple developers
Enable linting and validators support for your software project with a single command
Automatically guide committers to policy guidelines and let them fix errors themselves, instead of having post-commit personal coaching.
Provide sane default validation and linting options for all popular programming languages and file formats
Run VVV as continuous integration service with systems like Travis CI or Jenkins and shoot down bad code push-ins
What VVV doesn’t do
This is not automated testing tool. We just scan files against a policy, not for programming errors. Linting tools tend to pick up programming errors, too though, like mistyped names.
Features
Set-up for your software repository with two files validation-options.yaml (configuration) and validation-files.yaml (whitelist/blacklist)
VVV automatically downloads and locally installs required software - you don’t need to spend time hunting downloads or distribution packages
Check file against hard tabs and whitespace policies - no more different tab width ever
Prevent committing hard source code breakpoints, like Python’s import pdb ; pdb.set_trace()
Support (on its way) for Subversion, Git, Github, Travis CI, Jenkings and other popular version control and continuous integration systems
Documentation and code
Please see the VVV documentation.
Source code is available on Github. Please use Github issue tracker to contact the authors.
Explore different linting and validators available.
Continuous integration status
Current trunk continuous integration status with Travis CI
Changelog
0.4.1 (2012-06-27)
Handle empty / missing config files more gracefully [miohtama]
0.4.0 (2012-06-26)
Python 2.7 compatibility added [miohtama]
Refactored text plug-ins to silently ignore bad encoding [miohtama]
Intelligent git pre-commit hook; check only changed files [miohtama]
vvv-add-js-globals helper command added to add jslint global statements to multiple Javascript files once [miohtama]
Evil spacebar buster added [miohtama]
jshint now properly reads config files (was non-std parsing by Node.js argument library) [miohtama]
Reorganized docs to have Tools section [miohtama]
0.2.4 - 0.2.5
Depend on docutils as RST validator soft-depends on it, but cannot install docutils in host environment [miohtama]
0.2.3 - 0.2.4
Correctly pick up RST validator script from path if not under virtualenv [miohtama]
0.2.2 - 0.2.3
More git hook silent install corner case fixes
0.2.1 - 0.2.2
Smarter way to detect vvv command location when installing a precommit hook [miohtama]
Integration documentation updates [miohtama]
0.2 - 0.2.1
Fixed changelog formatting now that PyPi README page is intact again
0.1.1 - 0.2
pylint-command option added [miohtama]
Ghetto-CI continuous integration script [miohtama]
Configuration file reader refactored to something more beautiful [miohtama]
Now you can VVV individual files [miohtama]
VVV can walk up in the directory tree to find validation-options.yaml file [miohtama]
Set zip_safe = False on the egg just in case [miohtama]
0.1 - 0.1.1
Added Github links to README [miohtama]
0.1
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.