mirror of
https://github.com/reactos/CMake.git
synced 2024-11-23 11:39:48 +00:00
clang-format.bash: Use Git attributes to mark files for formatting
This commit is contained in:
parent
f6986ee479
commit
d5f39a56a4
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -2,11 +2,11 @@
|
||||
.hooks* export-ignore
|
||||
|
||||
# Custom attribute to mark sources as using our C code style.
|
||||
[attr]our-c-style whitespace=tab-in-indent
|
||||
[attr]our-c-style whitespace=tab-in-indent format.clang-format
|
||||
|
||||
# Custom attribute to mark sources as generated.
|
||||
# Do not perform whitespace checks.
|
||||
[attr]generated whitespace=-tab-in-indent,-indent-with-non-tab
|
||||
# Do not perform whitespace checks. Do not format.
|
||||
[attr]generated whitespace=-tab-in-indent,-indent-with-non-tab -format.clang-format
|
||||
|
||||
bootstrap crlf=input
|
||||
configure crlf=input
|
||||
|
4
Source/.gitattributes
vendored
4
Source/.gitattributes
vendored
@ -15,3 +15,7 @@
|
||||
/cmFortranParser.cxx generated
|
||||
/cmFortranParserTokens.h generated
|
||||
/cmListFileLexer.c generated
|
||||
|
||||
# Do not format third-party sources.
|
||||
/bindexplib.* -format.clang-format
|
||||
/kwsys/** -format.clang-format
|
||||
|
1
Source/CursesDialog/form/.gitattributes
vendored
Normal file
1
Source/CursesDialog/form/.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
* -format.clang-format
|
2
Tests/CompileFeatures/.gitattributes
vendored
Normal file
2
Tests/CompileFeatures/.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Do not format a source containing C++11 '>>' syntax as C++98.
|
||||
cxx_right_angle_brackets.cpp -format.clang-format
|
2
Tests/PositionIndependentTargets/.gitattributes
vendored
Normal file
2
Tests/PositionIndependentTargets/.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Do not format a source where we want a long line preserved.
|
||||
pic_test.h -format.clang-format
|
2
Tests/RunCMake/CommandLine/cmake_depends/.gitattributes
vendored
Normal file
2
Tests/RunCMake/CommandLine/cmake_depends/.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Do not format a source encoded in UTF-16.
|
||||
test_UTF-16LE.h -format.clang-format
|
2
Tests/RunCMake/GenerateExportHeader/reference/.gitattributes
vendored
Normal file
2
Tests/RunCMake/GenerateExportHeader/reference/.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Exclude reference content from formatting.
|
||||
* -format.clang-format
|
4
Utilities/.gitattributes
vendored
4
Utilities/.gitattributes
vendored
@ -1,3 +1,7 @@
|
||||
/Git export-ignore
|
||||
/GitSetup export-ignore
|
||||
SetupForDevelopment.sh export-ignore
|
||||
|
||||
# Do not format third-party sources.
|
||||
/KWIML/** -format.clang-format
|
||||
/cm*/** -format.clang-format
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#=============================================================================
|
||||
# Copyright 2015-2016 Kitware, Inc.
|
||||
# Copyright 2015-2017 Kitware, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -106,34 +106,12 @@ case "$mode" in
|
||||
*) die "invalid mode: $mode" ;;
|
||||
esac
|
||||
|
||||
# Filter sources to which our style should apply.
|
||||
$git_ls -z -- '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' '*.cu' '*.notcu' |
|
||||
# List files as selected above.
|
||||
$git_ls |
|
||||
|
||||
# Exclude lexer/parser generator input and output.
|
||||
egrep -z -v '^Source/cmCommandArgumentLexer\.' |
|
||||
egrep -z -v '^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)' |
|
||||
egrep -z -v '^Source/cmDependsJavaLexer\.' |
|
||||
egrep -z -v '^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)' |
|
||||
egrep -z -v '^Source/cmExprLexer\.' |
|
||||
egrep -z -v '^Source/cmExprParser(\.y|\.cxx|Tokens\.h)' |
|
||||
egrep -z -v '^Source/cmFortranLexer\.' |
|
||||
egrep -z -v '^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)' |
|
||||
egrep -z -v '^Source/cmListFileLexer(\.in\.l|\.c)' |
|
||||
|
||||
# Exclude third-party sources.
|
||||
egrep -z -v '^Source/bindexplib' |
|
||||
egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
|
||||
egrep -z -v '^Utilities/(KW|cm).*/' |
|
||||
|
||||
# Exclude reference content.
|
||||
egrep -z -v '^Tests/RunCMake/GenerateExportHeader/reference/' |
|
||||
|
||||
# Exclude manually-formatted sources (e.g. with long lines).
|
||||
egrep -z -v '^Tests/PositionIndependentTargets/pic_test.h' |
|
||||
egrep -z -v '^Tests/CompileFeatures/cxx_right_angle_brackets.cpp' |
|
||||
|
||||
# Exclude sources with encoding not suported by clang-format.
|
||||
egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
|
||||
# Select sources with our attribute.
|
||||
git check-attr --stdin format.clang-format |
|
||||
sed -n '/: format\.clang-format: set$/ {s/:[^:]*:[^:]*$//p}' |
|
||||
|
||||
# Update sources in-place.
|
||||
xargs -0 "$clang_format" -i
|
||||
xargs -d '\n' "$clang_format" -i
|
||||
|
Loading…
Reference in New Issue
Block a user