зеркало из https://github.com/AvaloniaUI/angle.git
52 строки
1.3 KiB
Python
Executable File
52 строки
1.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# apply_clang_format_on_all_sources.py:
|
|
# Script to apply clang-format recursively on directory,
|
|
# example usage:
|
|
# ./scripts/apply_clang_format_on_all_sources.py src
|
|
|
|
from __future__ import print_function
|
|
|
|
import os
|
|
import sys
|
|
import platform
|
|
import subprocess
|
|
|
|
# inplace change and use style from .clang-format
|
|
CLANG_FORMAT_ARGS = ['-i', '-style=file']
|
|
|
|
|
|
def main(directory):
|
|
system = platform.system()
|
|
|
|
clang_format_exe = 'clang-format'
|
|
if system == 'Windows':
|
|
clang_format_exe += '.bat'
|
|
|
|
partial_cmd = [clang_format_exe] + CLANG_FORMAT_ARGS
|
|
|
|
for subdir, _, files in os.walk(directory):
|
|
if 'third_party' in subdir:
|
|
continue
|
|
|
|
for f in files:
|
|
if f.endswith(('.c', '.h', '.cpp', '.hpp')):
|
|
f_abspath = os.path.join(subdir, f)
|
|
print("Applying clang-format on ", f_abspath)
|
|
subprocess.check_call(partial_cmd + [f_abspath])
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if len(sys.argv) > 2:
|
|
print('Too mang args', file=sys.stderr)
|
|
|
|
elif len(sys.argv) == 2:
|
|
main(os.path.join(os.getcwd(), sys.argv[1]))
|
|
|
|
else:
|
|
main(os.getcwd())
|