はじめに
背景
colcon testで、コードスタイルチェック(amment_lint_auto)を入れると、コピーライトのチェックなども自動で入ってしまい、テストが失敗してしまうことがあった。
目的
コードスタイルチェックを入れたいが、コピーライトなど不要なものは無視できるようにする。
動作確認環境
- ROS2 Foxy
方法
colcon test
については、以下の記事を参照。
無視したい項目をCMakeListsに、set(ament_cmake_XXXX_FOUND TRUE)
追加する。
- 「XXXX」は無視したい項目が入る。
オプション | 説明 |
---|---|
set(ament_cmake_copyright_FOUND TRUE) | コピーライトチェック無効 |
set(ament_cmake_cppcheck_FOUND TRUE) | C++ コードチェック(cppcheck)無効 |
set(ament_cmake_cpplint_FOUND TRUE) | C++ コードチェック(cpplint)無効 |
set(ament_cmake_flake8_FOUND TRUE) | Pythonコードチェック(flake8)無効 |
set(ament_cmake_lint_cmake_FOUND TRUE) | CMakeコードチェック無効 |
set(ament_cmake_pep257_FOUND TRUE) | Pythonコードチェック(pep27)無効 |
set(ament_cmake_uncrustify_FOUND TRUE) | コードチェック(uncrustify)無効 |
set(ament_cmake_xmllint_FOUND TRUE) | コードチェック(xmllint)無効 |
CMakeListsの例(コピーライトチェックとPythonコードチェック(flake8)を無効にする場合)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
set(ament_cmake_copyright_FOUND TRUE)
set(ament_cmake_flake8_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
参考