CI: demand clang-format 12 or 13
- use clang-format12 or 13 or unversioned executable, only - check it's actually 12 or 13 - set language standard explicitly to C++17, "Cpp11" is now an alias for "latest" which is weird This change does lead to some thrashing when applying styles, so I'm not going to do that across the board right now. Changes include: - extra spaces in lambda-captures - nicer alignment of lambda-bodies
This commit is contained in:
parent
7f90b99388
commit
c4eee7bb11
@ -28,8 +28,9 @@ PointerAlignment: Left
|
|||||||
ReflowComments: "false"
|
ReflowComments: "false"
|
||||||
SortIncludes: "true"
|
SortIncludes: "true"
|
||||||
SpaceAfterCStyleCast: "false"
|
SpaceAfterCStyleCast: "false"
|
||||||
|
SpaceInEmptyBlock: "false"
|
||||||
SpacesBeforeTrailingComments: "2"
|
SpacesBeforeTrailingComments: "2"
|
||||||
SpacesInAngles: "true"
|
SpacesInAngles: "true"
|
||||||
SpacesInParentheses: "true"
|
SpacesInParentheses: "true"
|
||||||
SpacesInSquareBrackets: "true"
|
SpacesInSquareBrackets: "true"
|
||||||
Standard: Cpp11
|
Standard: c++17
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: no
|
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
|
||||||
---
|
|
||||||
BasedOnStyle: WebKit
|
|
||||||
|
|
||||||
AlignAfterOpenBracket: Align
|
|
||||||
AlignEscapedNewlines: DontAlign
|
|
||||||
AllowAllParametersOfDeclarationOnNextLine: "false"
|
|
||||||
AllowShortFunctionsOnASingleLine: Inline
|
|
||||||
AllowShortIfStatementsOnASingleLine: "false"
|
|
||||||
AllowShortLambdasOnASingleLine: All
|
|
||||||
AllowShortLoopsOnASingleLine: "false"
|
|
||||||
AlwaysBreakAfterReturnType: TopLevelDefinitions
|
|
||||||
AlwaysBreakTemplateDeclarations: Yes
|
|
||||||
BinPackArguments: "false"
|
|
||||||
BinPackParameters: "false"
|
|
||||||
BreakBeforeBraces: Allman
|
|
||||||
BreakBeforeTernaryOperators: "true"
|
|
||||||
BreakConstructorInitializers: BeforeComma
|
|
||||||
ColumnLimit: 120
|
|
||||||
Cpp11BracedListStyle: "false"
|
|
||||||
FixNamespaceComments: "true"
|
|
||||||
IncludeBlocks: Preserve
|
|
||||||
IndentWidth: "4"
|
|
||||||
MaxEmptyLinesToKeep: "2"
|
|
||||||
NamespaceIndentation: None
|
|
||||||
PointerAlignment: Left
|
|
||||||
ReflowComments: "false"
|
|
||||||
SortIncludes: "true"
|
|
||||||
SpaceAfterCStyleCast: "false"
|
|
||||||
SpacesBeforeTrailingComments: "2"
|
|
||||||
SpacesInAngles: "true"
|
|
||||||
SpacesInParentheses: "true"
|
|
||||||
SpacesInSquareBrackets: "true"
|
|
||||||
Standard: Cpp11
|
|
@ -19,12 +19,12 @@ BASEDIR=$(dirname $0)
|
|||||||
TOPDIR=$( cd $BASEDIR/.. && pwd -P )
|
TOPDIR=$( cd $BASEDIR/.. && pwd -P )
|
||||||
test -d "$BASEDIR" || { echo "! Could not determine base for $0" ; exit 1 ; }
|
test -d "$BASEDIR" || { echo "! Could not determine base for $0" ; exit 1 ; }
|
||||||
test -d "$TOPDIR" || { echo "! Cound not determine top-level source dir" ; exit 1 ; }
|
test -d "$TOPDIR" || { echo "! Cound not determine top-level source dir" ; exit 1 ; }
|
||||||
test -f "$TOPDIR/.clang-format.base" || { echo "! No .clang-format support files in $TOPDIR" ; exit 1 ; }
|
test -f "$TOPDIR/.clang-format" || { echo "! No .clang-format support files in $TOPDIR" ; exit 1 ; }
|
||||||
|
|
||||||
AS=$( which astyle )
|
AS=$( which astyle )
|
||||||
|
|
||||||
# Allow specifying CF_VERSIONS outside already
|
# Allow specifying CF_VERSIONS outside already
|
||||||
CF_VERSIONS="$CF_VERSIONS clang-format-8 clang-format80 clang-format90 clang-format-9.0.1 clang-format"
|
CF_VERSIONS="$CF_VERSIONS clang-format13 clang-format12 clang-format"
|
||||||
for _cf in $CF_VERSIONS
|
for _cf in $CF_VERSIONS
|
||||||
do
|
do
|
||||||
# Not an error if this particular clang-format isn't found
|
# Not an error if this particular clang-format isn't found
|
||||||
@ -40,31 +40,19 @@ test -x "$CF" || { echo "! $CF is not executable."; exit 1 ; }
|
|||||||
### CLANG-FORMAT-WRANGLING
|
### CLANG-FORMAT-WRANGLING
|
||||||
#
|
#
|
||||||
# Version 7 and earlier doesn't understand all the options we would like
|
# Version 7 and earlier doesn't understand all the options we would like
|
||||||
# Version 8 is ok
|
# Version 12 handles lambdas nicely, so use that.
|
||||||
# Version 9 is ok
|
# Version 13 is also ok.
|
||||||
# Later versions change some defaults so need extra wrangling.
|
|
||||||
# .. there are extra files that are appended to the settings, per
|
|
||||||
# .. clang-format version.
|
|
||||||
|
|
||||||
format_version=`"$CF" --version | tr -dc '[^.0-9]' | cut -d . -f 1`
|
format_version=`"$CF" --version | tr -dc '[^.0-9]' | cut -d . -f 1`
|
||||||
case "$format_version" in
|
case "$format_version" in
|
||||||
[0-7] )
|
12|13 )
|
||||||
echo "! Clang-format version 8+ required"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
[89] )
|
|
||||||
:
|
:
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
echo "! Clang-format version '$format_version' unsupported."
|
echo "! Clang-format version '$format_version' unsupported, version 12 required."
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
_fmt="$TOPDIR/.clang-format"
|
|
||||||
cp "$_fmt.base" "$_fmt"
|
|
||||||
for f in "$extra_settings" ; do
|
|
||||||
test -f "$_fmt.$f" && cat "$_fmt.$f" >> "$_fmt"
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
### FILE PROCESSING
|
### FILE PROCESSING
|
||||||
@ -98,8 +86,3 @@ if test "x$any_dirs" = "xyes" ; then
|
|||||||
else
|
else
|
||||||
style_some "$@"
|
style_some "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### CLANG-FORMAT-WRANGLING
|
|
||||||
#
|
|
||||||
# Restore the original .clang-format
|
|
||||||
cp "$_fmt.base" "$_fmt"
|
|
||||||
|
Loading…
Reference in New Issue
Block a user