* Pre-commit --cached vs. less-efficient iteration
* During pre-commit, leverage the git cppcheck --cached
form instead of iterating over the cached files and
invoking git cppcheck on each to eliminate
redundant static analysis
* Add support for Debian Linux on ARM
* Check prerequisite tool minimum versions
* Bootstrapping will now confirm that each
prerequisite tool satisfies the minimum version
required
* Using LIBRARY=[avr|gnu] git cppcheck ... will set the command
line library= to the value
* Using PLATFORM=[avr.xml|unix32.xml] git cppcheck ... will set
the command line platform= to the value
* Corrected logical if error when bootstapping a pristine repo
References #672
* The Arduino IDE considers the .tools directory
special and warns if it finds .tools the repo
* Added detection of .tools directory rename
* Corrected README errata
References #672
1. All common tools are hosted and managed in
the tools directory (used for both local development
and continuous integration)
2. Each tool comprises a directory, akin to a bundle,
that encapsulates declarative command-line options,
configuration files and a run script
3. A single bootstrap script configures a
development environment
4. A lightweight runtime provides a common set of
convenience functions and variables to all scripts
References #672
* Add option to not install a init script
* Added autotools default install prefix
* Add autotools ${DESTDIR} to the install paths
* Add option to specify platform type
It now supports both Linux and Windows and checks
both coding style (astyle) and does static code
analysis (cppcheck).
Tested using "Bash on Ubuntu on Windows" and the
git shell (via GitHub for Windows).
Installation is done by executing hooks/install-hooks.sh
Windows users has to execute it in a cygwin based git shell.
Tools:
astyle (2.05.1 or newer)
cppcheck (1.76.1 or newer)
* Add .astylerc with the core coding standard
* Added pre-commit git hook
The hook currently only checks code format using
astyle and will not permit commits which cause
astyle to change the contents of any source file
in the commit.
This is useful to have automatic coding standard
verification done without having to wait for
Jenkins to react to a pull request.
Installation:
Linux:
ln -s ../../tools/hooks/pre-commit.sh .git/hooks/pre-commit
Windows:
copy tools\hooks\pre-commit.sh .git\hooks\pre-commit
* Added editorconfig and updated gitattributes
Unix style line endings are now default.
* Resolved doxygen warning