Home | History | Annotate | Download | only in core_connectivity
      1 #!/bin/bash
      2 #VERSION=1
      3 
      4 SELFNAME=$0
      5 
      6 function printUsage() {
      7     echo "  $SELFNAME             check coding style for HEAD in this git repository"
      8     echo "  $SELFNAME -h          show this message"
      9 }
     10 
     11 function main() {
     12     test "$1" == "-h" && printUsage && exit
     13     test "$ANDROID_BUILD_TOP" == "" && echo "please run env setup" && exit
     14     GITROOTDIR=`git rev-parse --show-toplevel`
     15     test "$GITROOTDIR" == "" && echo "not inside a git repository" && exit
     16     MODIFIED=`git status -s --untracked-files=no | wc -l`
     17     test $MODIFIED -ne 0 && echo "please commit first" && exit
     18 
     19     cd $GITROOTDIR
     20 
     21     #basic check
     22     local PARAMS=" --config_xml $ANDROID_BUILD_TOP/prebuilts/checkstyle/android-style.xml"
     23     $ANDROID_BUILD_TOP/prebuilts/checkstyle/checkstyle.py $PARAMS
     24 
     25     #C++ check, no-op if no C, C++ files.
     26     $ANDROID_BUILD_TOP/prebuilts/clang/host/linux-x86/clang-stable/bin/git-clang-format \
     27             --commit HEAD^ --style file --extensions c,h,cc,cpp
     28 
     29     #commit message equal or less then 65 char for each line (suggested by lorenzo@20180625)
     30     local MSG=`git rev-list --format=%B --max-count=1 HEAD`
     31     local i=1
     32     while read -r line; do
     33         test `echo $line | wc -c` -gt 65 && echo "FAILED: Line $i exceed 65 chars limit: $line"
     34         i=$((i+1))
     35     done < <(echo "$MSG")
     36 
     37     cd -
     38 }
     39 
     40 main $*
     41