Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.

Commit ecd3485

Browse files
author
Sebastien Guiriec
committed
CI: Add clang-format configuration
This patch introduces generic clang-format coding style for any new update of Parameter Framework ALSA plugin. Signed-off-by: Sebastien Guiriec <[email protected]>
1 parent ac35eac commit ecd3485

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed

.clang-format

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Copyright (c) 2017, Intel Corporation
2+
# All rights reserved.
3+
#
4+
# Redistribution and use in source and binary forms, with or without modification,
5+
# are permitted provided that the following conditions are met:
6+
#
7+
# 1. Redistributions of source code must retain the above copyright notice, this
8+
# list of conditions and the following disclaimer.
9+
#
10+
# 2. Redistributions in binary form must reproduce the above copyright notice,
11+
# this list of conditions and the following disclaimer in the documentation and/or
12+
# other materials provided with the distribution.
13+
#
14+
# 3. Neither the name of the copyright holder nor the names of its contributors
15+
# may be used to endorse or promote products derived from this software without
16+
# specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
22+
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25+
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
29+
---
30+
# The extra indent or outdent of access modifiers
31+
AccessModifierOffset: -4
32+
33+
# Align parameters on the open bracket
34+
AlignAfterOpenBracket: Align
35+
36+
# Disallows contracting simple braced statements to a single line
37+
AllowShortBlocksOnASingleLine: 'false'
38+
39+
# Short case labels wont't be contracted to a single line
40+
AllowShortCaseLabelsOnASingleLine: 'false'
41+
42+
# Merge all inline functions fitting on a single line
43+
AllowShortFunctionsOnASingleLine: 'Inline'
44+
45+
# If (a) return; cannot be put on a single line
46+
AllowShortIfStatementsOnASingleLine: 'false'
47+
48+
# While (true) continue; cannot be put on a single line
49+
AllowShortLoopsOnASingleLine: 'false'
50+
51+
# Break after the template<...> of a template declaration.
52+
AlwaysBreakTemplateDeclarations: 'true'
53+
54+
# Configure each individual brace in BraceWrapping
55+
BreakBeforeBraces: 'Custom'
56+
57+
# Control of individual brace wrapping cases
58+
BraceWrapping: {
59+
AfterClass: 'true'
60+
AfterControlStatement: 'false'
61+
AfterEnum : 'true'
62+
AfterFunction : 'true'
63+
AfterNamespace : 'true'
64+
AfterStruct : 'true'
65+
AfterUnion : 'true'
66+
BeforeCatch : 'false'
67+
BeforeElse : 'false'
68+
IndentBraces : 'false'
69+
}
70+
71+
# The column limit
72+
ColumnLimit: '100'
73+
74+
# The number of columns to use for indentation.
75+
IndentWidth: '4'
76+
77+
# Targeted language
78+
Language: Cpp
79+
80+
# No indentation for namespaces.
81+
NamespaceIndentation: None
82+
83+
# Pointer is aligned to right side
84+
PointerAlignment: Right
85+
86+
# High penalty to avoid line break just after return type
87+
PenaltyReturnTypeOnItsOwnLine: 10000
88+
89+
# Treat 'catch' BDD macros as control instructions
90+
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, GIVEN, WHEN, AND_WHEN, THEN, AND_THEN,
91+
SECTION ]
92+
93+
SortIncludes: 'false'
94+
...

.travis.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ addons:
1919
- cmake-data
2020
- cmake
2121
- libasound2-dev
22+
- clang-format-3.8
2223

2324
before_install:
2425
- mkdir $CMAKE_PREFIX_PATH
@@ -31,6 +32,10 @@ before_script:
3132
- export CC=gcc-4.8 CXX=g++-4.8
3233

3334
script:
35+
# Check coding style
36+
- (git ls-files | grep -E '\.[ch](pp)?$' | xargs clang-format-3.8 -i &&
37+
git diff --exit-code || { git reset --hard; false; })
38+
3439
- ( mkdir -p build/debug && cd build/debug &&
3540
cmake -DCMAKE_BUILD_TYPE=Debug $TRAVIS_BUILD_DIR && make -j$(nproc) )
3641
- ( mkdir build/release && cd build &&

0 commit comments

Comments
 (0)