From 1495a78ceca0320ed2243436dd0114800f5237d9 Mon Sep 17 00:00:00 2001 From: Franco Cipollone Date: Fri, 3 May 2024 17:16:30 -0300 Subject: [PATCH] Adds linter for launch files. Signed-off-by: Franco Cipollone --- andino_gz/.flake8 | 76 ++++++++++++++++++++++++++++++++++++++++ andino_gz/CMakeLists.txt | 6 ++++ andino_gz/package.xml | 2 ++ 3 files changed, 84 insertions(+) create mode 100644 andino_gz/.flake8 diff --git a/andino_gz/.flake8 b/andino_gz/.flake8 new file mode 100644 index 0000000..1887502 --- /dev/null +++ b/andino_gz/.flake8 @@ -0,0 +1,76 @@ +# .flake8 +# +# DESCRIPTION +# Configuration file for the python linter flake8. +# +[flake8] + +################### PROGRAM ################################ + +# Specify the number of subprocesses that Flake8 will use to run checks in parallel. +jobs = auto + + +################### OUTPUT ################################# + +########## FORMATTING ########## + +# Select the formatter used to display errors to the user. +format = pylint +# Print the total number of errors. +count = True +# Print the source code generating the error/warning in question. +show-source = True +# Count the number of occurrences of each error/warning code and print a report. +statistics = False + +################### FILE PATTERNS ########################## + +# Provide a comma-separated list of glob patterns to exclude from checks. +exclude = + +# Provide a comma-separate list of glob patterns to include for checks. +filename = + *.py + + +################### LINTING ################################ + +########## ENVIRONMENT ########## + +# Provide a custom list of builtin functions, objects, names, etc. +builtins = + + +########## OPTIONS ########## + +# Set the maximum length that any line (with some exceptions) may be. +max-line-length = 120 +# Set the maximum allowed McCabe complexity value for a block of code. +max-complexity = 10 +# Toggle whether pycodestyle should enforce matching the indentation of the opening bracket’s line. +# incluences E131 and E133 +hang-closing = True + + +########## RULES ########## + +# ERROR CODES +# +# E/W - PEP8 errors/warnings (pycodestyle) +# F - linting errors (pyflakes) +# C - McCabe complexity error (mccabe) +# +# E133 - Closing bracket is missing indentation. +# E226 - Missing whitespace around arithmetic operator. + +# Specify a list of codes to ignore. +ignore = + E133, + E226, +# Specify the list of error codes you wish Flake8 to report. +select = + E, + W, + F, + C diff --git a/andino_gz/CMakeLists.txt b/andino_gz/CMakeLists.txt index c63b8d0..1c42d67 100644 --- a/andino_gz/CMakeLists.txt +++ b/andino_gz/CMakeLists.txt @@ -16,4 +16,10 @@ install( share/${PROJECT_NAME}/ ) +if(BUILD_TESTING) + find_package(ament_cmake_flake8 REQUIRED) + enable_testing() + ament_flake8("--config" ${CMAKE_CURRENT_SOURCE_DIR}/.flake8) +endif() + ament_package() diff --git a/andino_gz/package.xml b/andino_gz/package.xml index e7d0663..5edfb46 100644 --- a/andino_gz/package.xml +++ b/andino_gz/package.xml @@ -23,6 +23,8 @@ rviz2 xacro + ament_cmake_flake8 + ament_cmake