diff --git a/.gitlab-industrial-ci-kinetic-no-rosinstall.yml b/.gitlab-industrial-ci-kinetic-no-rosinstall.yml index 866a9c7a0ff2ec72d2232d22ea08f9bad7d9f5af..b64a68a55cc88378df6656e1c32b9c318407ae9a 100644 --- a/.gitlab-industrial-ci-kinetic-no-rosinstall.yml +++ b/.gitlab-industrial-ci-kinetic-no-rosinstall.yml @@ -75,6 +75,22 @@ industrial_ci_kinetic_deploy: only: - tags +clang_format: + stage: postcheck + before_script: + - apk add --update bash coreutils tar wget + - git clone --quiet --depth 1 https://github.com/ros-industrial/industrial_ci.git .ci_config -b legacy + - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/clang-format -O .clang-format + script: .ci_config/gitlab.sh + variables: + ROS_DISTRO: kinetic + CLANG_FORMAT_CHECK: file + CLANG_FORMAT_VERSION: "3.8" + when: always + tags: + - docker + allow_failure: yes + ########################################################## ## Simple check for basic Python syntax errors; this is much less thorough than ## other options like pylint, but much faster and less strict diff --git a/.gitlab-industrial-ci-kinetic-with-rosinstall.yml b/.gitlab-industrial-ci-kinetic-with-rosinstall.yml index 288675fc99aac8d454185a062a94b69665609021..c095ae7182b423b5c0e54c856bccc6d5d6e1cc83 100644 --- a/.gitlab-industrial-ci-kinetic-with-rosinstall.yml +++ b/.gitlab-industrial-ci-kinetic-with-rosinstall.yml @@ -77,6 +77,22 @@ industrial_ci_kinetic_deploy: only: - tags +clang_format: + stage: postcheck + before_script: + - apk add --update bash coreutils tar wget + - git clone --quiet --depth 1 https://github.com/ros-industrial/industrial_ci.git .ci_config -b legacy + - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/clang-format -O .clang-format + script: .ci_config/gitlab.sh + variables: + ROS_DISTRO: kinetic + CLANG_FORMAT_CHECK: file + CLANG_FORMAT_VERSION: "3.8" + when: always + tags: + - docker + allow_failure: yes + ########################################################## ## Simple check for basic Python syntax errors; this is much less thorough than ## other options like pylint, but much faster and less strict diff --git a/clang-format b/clang-format new file mode 100644 index 0000000000000000000000000000000000000000..ebcd8ad9c7a85c5f0ac781a0992bc23f17702f4d --- /dev/null +++ b/clang-format @@ -0,0 +1,67 @@ +--- +# Format file from: https://github.com/davetcoleman/roscpp_code_format (bfa4ea78b4ac856da07458c8824bf5eb327ea693) +BasedOnStyle: Google +AccessModifierOffset: -2 +ConstructorInitializerIndentWidth: 2 +AlignEscapedNewlinesLeft: false +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortLoopsOnASingleLine: false +AlwaysBreakTemplateDeclarations: true +AlwaysBreakBeforeMultilineStrings: false +BreakBeforeBinaryOperators: false +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: true +BinPackParameters: true +ColumnLimit: 120 +ConstructorInitializerAllOnOneLineOrOnePerLine: true +DerivePointerBinding: false +PointerBindsToType: true +ExperimentalAutoDetectBinPacking: false +IndentCaseLabels: true +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCSpaceBeforeProtocolList: true +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 60 +PenaltyBreakString: 1 +PenaltyBreakFirstLessLess: 1000 +PenaltyExcessCharacter: 1000 +PenaltyReturnTypeOnItsOwnLine: 90 +SpacesBeforeTrailingComments: 2 +Cpp11BracedListStyle: false +Standard: Auto +IndentWidth: 2 +TabWidth: 2 +UseTab: Never +IndentFunctionDeclarationAfterType: false +SpacesInParentheses: false +SpacesInAngles: false +SpaceInEmptyParentheses: false +SpacesInCStyleCastParentheses: false +SpaceAfterControlStatementKeyword: true +SpaceBeforeAssignmentOperators: true +ContinuationIndentWidth: 4 +SortIncludes: false +SpaceAfterCStyleCast: false + +# Configure each individual brace in BraceWrapping +BreakBeforeBraces: Custom + +# Control of individual brace wrapping cases +BraceWrapping: { + AfterClass: 'true' + AfterControlStatement: 'true' + AfterEnum : 'true' + AfterFunction : 'true' + AfterNamespace : 'true' + AfterStruct : 'true' + AfterUnion : 'true' + BeforeCatch : 'true' + BeforeElse : 'true' + IndentBraces : 'false' +} +...