Fix line endings
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
|||||||
bazel-*/
|
bazel-*/
|
||||||
compile_commands.json
|
compile_commands.json
|
||||||
|
.cache/
|
||||||
|
external/
|
||||||
|
8
tools/BUILD.bazel
Normal file
8
tools/BUILD.bazel
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
load("@rules_python//python:py_binary.bzl", "py_binary")
|
||||||
|
|
||||||
|
py_binary(
|
||||||
|
name = "fix_line_endings",
|
||||||
|
srcs = [
|
||||||
|
"fix_line_endings.py",
|
||||||
|
],
|
||||||
|
)
|
68
tools/fix_line_endings.py
Normal file
68
tools/fix_line_endings.py
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import glob
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
|
||||||
|
TO_FIX = [
|
||||||
|
".bazelrc",
|
||||||
|
".clang-tidy",
|
||||||
|
".gitignore",
|
||||||
|
"**/*.hpp",
|
||||||
|
"**/*.h",
|
||||||
|
"**/*.cpp",
|
||||||
|
"**/*.py",
|
||||||
|
"**/*.bzl",
|
||||||
|
"**/*.bazel",
|
||||||
|
"**/*.txt",
|
||||||
|
"**/*.bat",
|
||||||
|
"**/*.sh",
|
||||||
|
]
|
||||||
|
|
||||||
|
TO_IGNORE = [
|
||||||
|
"MODULE.bazel.lock",
|
||||||
|
]
|
||||||
|
|
||||||
|
TO_FIX = [re.compile(glob.translate(p, recursive=True, include_hidden=True)) for p in TO_FIX]
|
||||||
|
TO_IGNORE = [re.compile(glob.translate(p, recursive=True, include_hidden=True)) for p in TO_IGNORE]
|
||||||
|
|
||||||
|
def get_git_files():
|
||||||
|
return subprocess.check_output(["git", "ls-files"]).decode().splitlines()
|
||||||
|
|
||||||
|
def fix_file(file):
|
||||||
|
lines = []
|
||||||
|
with open(file, "rb") as fp:
|
||||||
|
lines = [l.rstrip() + b"\n" for l in fp.readlines()]
|
||||||
|
with open(file, "wb+") as fp:
|
||||||
|
fp.writelines(lines)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
os.chdir(os.getenv("BUILD_WORKSPACE_DIRECTORY"))
|
||||||
|
|
||||||
|
files = get_git_files()
|
||||||
|
files_to_fix = []
|
||||||
|
unhandled_files = []
|
||||||
|
|
||||||
|
for f in files:
|
||||||
|
for pattern in TO_FIX:
|
||||||
|
if pattern.match(f):
|
||||||
|
files_to_fix.append(f)
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
for pattern in TO_IGNORE:
|
||||||
|
if pattern.match(f):
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
unhandled_files.append(f)
|
||||||
|
|
||||||
|
if len(unhandled_files):
|
||||||
|
print("Some files were not handled:")
|
||||||
|
for f in unhandled_files:
|
||||||
|
print(" ", f)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
for i, f in enumerate(files):
|
||||||
|
print(f"\033[K{i}/{len(files_to_fix)} {f}", end="\r", flush=True)
|
||||||
|
fix_file(f)
|
||||||
|
print("")
|
Reference in New Issue
Block a user