[Tarantool-patches] [PATCH 3/5] build: add clang-format rules
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sun Nov 8 18:09:11 MSK 2020
See 4 comments below.
On 30.10.2020 12:43, Kirill Yukhin wrote:
> This patch introduces support of `make format-set`
> and `make format-check` commands which invoes Clang
1. invoes -> invokes.
> v'11 formatter.> ---
> CMakeLists.txt | 38 ++++++++++++++++++++++++++++++++++++--
> 1 file changed, 36 insertions(+), 2 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 512f50e..cd72e15 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -20,11 +20,13 @@ include(FindPackageMessage)
> include(ExternalProject)
>
> find_program(ECHO echo)
> -find_program(CAT cat)
> find_program(BASH bash)
> +find_program(CAT cat)
> +find_program(CLANG_FORMAT clang-format-11)
> +find_program(CTAGS ctags)
> +find_program(FIND find)
> find_program(GIT git)
> find_program(LD ld)
> -find_program(CTAGS ctags)
2. Why did you move ctags and cat?
> find_program(LUACHECK luacheck ENV PATH)
>
> # Define PACKAGE macro in tarantool/config.h
> @@ -164,6 +166,38 @@ add_custom_command(TARGET luacheck
> COMMENT "Perform static analysis of Lua code"
> )
>
> +if(CLANG_FORMAT)
3. In this file all 'if' have a whitespace before condition. Please,
follow this style.
> + #
> + # Enable 'make format-set' target.
> + #
> + add_custom_target(format-set
> + COMMAND ${FIND} "${PROJECT_SOURCE_DIR}/src/box"
> + -iname "*.h" -o -iname "*.c" -o -iname "*.cc" |grep -v sql
> + |xargs ${CLANG_FORMAT} -i
> + COMMENT "Perform code style update w/ clang-format over code base"
> + )
> +
> + #
> + # Enable 'make format-check' target.
> + #
> + add_custom_target(format-check
> + COMMAND ${FIND} "${PROJECT_SOURCE_DIR}/src/box"
> + -iname "*.h" -o -iname "*.c" -o -iname "*.cc"
> + |grep -v sql
> + |xargs ${CLANG_FORMAT} -output-replacements-xml
> + |tee
> + ${CMAKE_BINARY_DIR}/check_clang_format_file.txt |
> + grep -c "replacement " | tr -d "[:cntrl:]" && echo
> + " replacements necessary"
> + COMMAND ! grep -c "replacement "
> + ${CMAKE_BINARY_DIR}/check_clang_format_file.txt >
> + /dev/null
> + COMMENT "Check code style w/ clang-format over code base"
> + )
> +else()
> + message(WARNING "Clang formatter v11 (clang-format-11) wasn't found")
4. On Mac the command is called clang-format. And I don't want to mess with
the paths to make it called clang-format-11. Please, look for the executable
properly and use 'clang-format --version' to detect the version, and fail if
it is less than 11 (in case you want not less than 11).
And while we are here, I ask you to provide more info in the comments why
did you choose version 11, and not an older version, as minimal supported.
Currently I don't see a single word not in the commit message nor in the
comments.
> +endif()
> +
> if (WITH_JEPSEN)
> ExternalProject_Add(
> jepsen-tests
>
More information about the Tarantool-patches
mailing list