Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.

Commit

Permalink
Added parameters to tools/format.sh (Windows) (#310)
Browse files Browse the repository at this point in the history
This adds parameters for skipping the sed operations and/or the operations that
require installed software (e.g. clang-format) and makes this more useful on
Windows.
  • Loading branch information
meastp authored and g-easy committed Apr 10, 2019
1 parent e18808e commit b2c7a0a
Showing 1 changed file with 64 additions and 27 deletions.
91 changes: 64 additions & 27 deletions tools/format.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,37 +18,69 @@ if [[ ! -e tools/format.sh ]]; then
echo "This tool must be run from the topmost OpenCensus directory." >&2
exit 1
fi

set -e
# Correct common miscapitalizations.

usage()
{
echo "usage: format.sh [--disable-sed-check] [--disable-tools-check]"
}

sed_check=y
tools_check=y

while [[ "$1" != "" ]]; do
case $1 in
--disable-sed-check ) sed_check=n
;;
--disable-tools-check ) tools_check=n
;;
-h | --help ) usage
exit
;;
* ) usage
exit 1
esac
shift
done

FIND="find . -name .git -prune -o -name .build -prune -o"
sed -i 's/Open[c]ensus/OpenCensus/g' $($FIND -type f -print)
sed -i 's/Stack[D]river/Stackdriver/g' $($FIND -type f -print)
# No CRLF line endings.
sed -i 's/\r$//' $($FIND -type f -print)
# No trailing spaces.
sed -i 's/ \+$//' $($FIND -type f -print)
# For easier debugging: print the version because it affects the formatting.
CMD=clang-format
$CMD -version
$CMD -i -style=Google \
$($FIND -name '*.cc' -print -o -name '*.h' -print)
if which buildifier >/dev/null; then
echo "Running buildifier."
buildifier $($FIND -name WORKSPACE -print -o -name BUILD -print -o \
-name '*.bzl' -print)
else
echo "Can't find buildifier. It can be installed with:"
echo " go get github.com/bazelbuild/buildtools/buildifier"

if [[ "$sed_check" == "y" ]]; then
# Correct common miscapitalizations.
sed -i 's/Open[c]ensus/OpenCensus/g' $($FIND -type f -print)
sed -i 's/Stack[D]river/Stackdriver/g' $($FIND -type f -print)
# No CRLF line endings.
sed -i 's/\r$//' $($FIND -type f -print)
# No trailing spaces.
sed -i 's/ \+$//' $($FIND -type f -print)
fi
if which cmake-format >/dev/null; then
echo "Running cmake-format $(cmake-format --version 2>&1)."
cmake-format -i $($FIND -name FetchContent.cmake -prune -o \
-name '*CMakeLists.txt' -print -o \
-name '*.cmake' -print)
else
echo "Can't find cmake-format. It can be installed with:"
echo " pip install --user cmake_format"

if [[ "$tools_check" == "y" ]]; then
# For easier debugging: print the version because it affects the formatting.
CMD=clang-format
$CMD -version
$CMD -i -style=Google \
$($FIND -name '*.cc' -print -o -name '*.h' -print)
if which buildifier >/dev/null; then
echo "Running buildifier."
buildifier $($FIND -name WORKSPACE -print -o -name BUILD -print -o \
-name '*.bzl' -print)
else
echo "Can't find buildifier. It can be installed with:"
echo " go get github.com/bazelbuild/buildtools/buildifier"
fi
if which cmake-format >/dev/null; then
echo "Running cmake-format $(cmake-format --version 2>&1)."
cmake-format -i $($FIND -name FetchContent.cmake -prune -o \
-name '*CMakeLists.txt' -print -o \
-name '*.cmake' -print)
else
echo "Can't find cmake-format. It can be installed with:"
echo " pip install --user cmake_format"
fi
fi

CHANGED="$(git ls-files --modified)"
if [[ ! -z "$CHANGED" ]]; then
echo "The following files have changes:"
Expand All @@ -57,3 +89,8 @@ if [[ ! -z "$CHANGED" ]]; then
else
echo "No changes."
fi

if [[ "$sed_check" != "y" || "$tools_check" != "y" ]]; then
echo "All checks must run to succeed."
exit 1
fi

0 comments on commit b2c7a0a

Please sign in to comment.