IAP GITLAB

Skip to content
Snippets Groups Projects
Commit cb2e0552 authored by Hans Dembinski's avatar Hans Dembinski
Browse files

fix

parent 234365c4
No related branches found
No related tags found
1 merge request!160Better do clang format
Pipeline #935 failed
#!/bin/bash #!/usr/bin/env python3
"""
command="clang-format -style=file `find . -iregex '^.*\.\(cc\|h\)$' -not -path './ThirdParty/*'`" Run clang-format with the style file in the CORSIKA repository.
if [ "$1" == "check" ]; By default it finds new files and files with modifications with respect to the current master and prints
then the filenames which need clang-formatting. Returns 1 if there are files with need modifications and 0 otherwise.
`! ${command} -output-replacements-xml | grep -qc "<replacement "` || \ """
{ echo "format-check FAILED!"; exit 1; } import argparse
echo "Congratulations: format-check succeeded" import subprocess as subp
elif [ "$1" == "apply" ]; import os
then import sys
${command} -i
else parser = argparse.ArgumentParser(description=__doc__)
echo "please use: ./do-clang-format.sh [check] or [apply]" parser.add_argument('--apply', action="store_true", help="Apply clang-format to files which need changes.")
fi parser.add_argument("--all", action="store_true", help="Check all files below current path instead of new/modified.")
args = parser.parse_args()
filelist = []
if args.all:
for dirpath, dirnames, filenames in os.walk("."):
if "ThirdParty" in dirpath:
continue
for f in filenames:
if f.endswith(".h") or f.endswith(".cc"):
filename = os.path.join(dirpath, f)
if not os.path.islink(filename):
filelist.append(filename)
if not filelist:
raise SystemExit("Error: You specified --all, but file list is empty. Did you run from the build directory?")
else:
cmd = "git diff master --name-status"
for line in subp.check_output(cmd, shell=True).decode("utf8").strip().split("\n"):
if line.startswith("D"): continue
filelist.append(line[1:].lstrip())
cmd = "git ls-files --exclude-standard --others"
filelist += subp.check_output(cmd, shell=True).decode("utf8").strip().split("\n")
filelist = [x for x in filelist if "ThirdParty" not in x and (x.endswith(".h") or x.endswith(".cc"))]
cmd = "clang-format -style=file"
if args.apply:
for filename in filelist:
subp.check_call(cmd.split() + ["-i", filename])
else:
# only print files which need formatting
files_need_formatting = 0
for filename in filelist:
a = open(filename, "rb").read()
b = subp.check_output(cmd.split() + [filename])
if a != b:
files_need_formatting += 1
print(filename)
sys.exit(1 if files_need_formatting > 0 else 0)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment