#!/bin/bash ########################################################################### # astyle.sh # --------------------- # Date : August 2008 # Copyright : (C) 2008 by Juergen E. Fischer # Email : jef at norbit dot de ########################################################################### # # # This program is free software; you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation; either version 2 of the License, or # # (at your option) any later version. # # # ########################################################################### for ASTYLE in $(dirname $0)/qgisstyle $(dirname $0)/RelWithDebInfo/qgisstyle do if type -p $ASTYLE >/dev/null; then break fi ASTYLE= done if [ -z "$ASTYLE" ]; then echo "qgisstyle not found - please enable WITH_ASTYLE in cmake and build it" >&2 exit 1 fi if ! type -p flip >/dev/null; then if type -p dos2unix >/dev/null; then flip() { dos2unix -k $2 } else echo "flip not found" >&2 flip() { : } fi fi if ! type -p autopep8 >/dev/null; then echo "autopep8 not found" >&2 autopep8() { : } fi set -e astyleit() { $ASTYLE \ --preserve-date \ --indent-preprocessor \ --brackets=break \ --convert-tabs \ --indent=spaces=2 \ --indent-classes \ --indent-labels \ --indent-namespaces \ --indent-switches \ --one-line=keep-blocks \ --max-instatement-indent=40 \ --min-conditional-indent=-1 \ --suffix=none \ --pad=oper \ --pad=paren-in \ --unpad=paren "$1" scripts/unify_includes.pl "$1" } for f in "$@"; do case "$f" in src/app/gps/qwtpolar-*|src/core/gps/qextserialport/*|src/plugins/grass/qtermwidget/*|src/astyle/*|python/ext-libs/*|src/providers/spatialite/qspatialite/*|src/plugins/dxf2shp_converter/dxflib/src/*|src/plugins/globe/osgEarthQt/*|src/plugins/globe/osgEarthUtil/*|python/ext-libs/*|*/ui_*.py) echo -ne "$f skipped $elcr" continue ;; *.cpp|*.h|*.c|*.h|*.cxx|*.hxx|*.c++|*.h++|*.cc|*.hh|*.C|*.H|*.hpp) if [ -x "$f" ]; then chmod a-x "$f" fi cmd=astyleit ;; *.ui|*.qgm|*.txt|*.t2t|resources/context_help/*) cmd=: ;; *.py) #cmd="autopep8 --in-place --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701" cmd="autopep8 --in-place --ignore=E261,E265,E402,E501" ;; *.sip) cmd="perl -i.prepare -pe 's/[\r\t ]+$//; s#^(\s*)/\*[*!]\s*([^\s*].*)\s*\$#\$1/** \u\$2\n#;'" ;; *) echo -ne "$f skipped $elcr" continue ;; esac if ! [ -f "$f" ]; then echo "$f not found" >&2 continue fi if [[ -f $f && `head -c 3 $f` == $'\xef\xbb\xbf' ]]; then mv $f $f.bom tail -c +4 $f.bom > $f echo "removed BOM from $f" fi flip -ub "$f" eval "$cmd '$f'" done