#!/bin/bash TOTAL_ERRORS=0 readonly VERSION="1.6.0" version=$(cpplint --version) if [[ ! $TRAVIS_BRANCH ]]; then # install cpplint on local machine. if ! [[ $version == *"$VERSION"* ]]; then pip install cpplint==1.6.0 fi # diff files on local machine. files=$(git diff --cached --name-status | awk '$1 != "D" {print $2}') else # diff files between PR and latest commit on Travis CI. branch_ref=$(git rev-parse "$TRAVIS_BRANCH") head_ref=$(git rev-parse HEAD) files=$(git diff --name-status $branch_ref $head_ref | awk '$1 != "D" {print $2}') fi # The trick to remove deleted files: https://stackoverflow.com/a/2413151 for file in $files; do if [[ $file =~ ^(patches/.*) ]]; then continue; else cpplint --filter=-readability/fn_size,-build/include_what_you_use,-build/c++11 $file; TOTAL_ERRORS=$(expr $TOTAL_ERRORS + $?); fi done exit $TOTAL_ERRORS