Comments (1)
Relevant feedback from ros2/rclcpp#1052:
This PR has some “examples of the proposed changes” as requested in ament/ament_lint#174 (comment)
I think that having an example is great, and the
ament_lint
issue still references this PR.It seems fixing ament_lint is an uphill battle, and there needs to be a better way than a billion PRs more or less simultaneously. Maybe ament_uncrustify should only check changed code to prevent this sort of “churny” PR. Or maybe we should version the checking rules so that uncrustify and consuming packages don’t need to move in lock-step.
The disadvantage of that is that we will have dissimilar styles in different packages.
Though doing the change in a lot of packages at the same time isn't nice, I think it's the correct thing to do if we want to update the style.
Maybe ament_uncrustify should only check changed code to prevent this sort of “churny” PR.
The concept of "changed code" doesn't exist when you e.g. run the tests for a workspace since there is not reference point to determine a change against.
Or maybe we should version the checking rules so that uncrustify and consuming packages don’t need to move in lock-step.
Configuration files could be versioned and downstream packages could choose a specific version. That is already technically possible since you can pass a specific config file to the linter. But as a matter of fact all existing packages use the default config and therefore would still need to be updated at least one.
Also as soon as the uncrustify version is changes there will likely be breaking changes. So you would need to ship different uncrustify versions in parallel.
If you are interested in either of these ideas please consider to contribute towards this (with pull requests and if the changes are more complex consider to start with a design issue to discuss the proposal).
from ament_lint.
Related Issues (20)
- [ament_cppcheck] provide libraries
- Update humble ament_pep257 package HOT 5
- Please tag a new release of `ament_lint` for `foxy` HOT 2
- Ament-flake8 attributeError Humble HOT 4
- Support for other filetypes for ament_copyright HOT 2
- ament_uncrustify is incompatible with uncrustify >= 0.75 HOT 1
- ament_pep257 crashes during xunit generation when non-pep257 errors occur
- What is the general release strategy? HOT 1
- ament_xmllint stuck when no internet
- Feature Rquest: ament_cmake_clang_tidy, specify --header-filter and --jobs options to ament_clang_tidy
- (ament_xmllint) add extension argument
- ament_cmake_pep257, ament_cmake_lint_cmake, ament_cmake_xmllint ignores value of AMENT_LINT_AUTO_FILE_EXCLUDE HOT 1
- ament_flake8 fails with flake8>=6.0.0 HOT 5
- ament_lint_auto finds recursive test dependencies causing downstream packages to inherit conflicting linters
- ament_copyright does not recognize REUSE-compliant copyright headers
- TypeError on debian11 HOT 1
- EXCLUDE argument parsed differently in different linters HOT 2
- BSD 3 license (and maybe others) require a copyright notice at the top of the license file HOT 2
- ament_lint_cmake doesn't display reasons for error when run through pre-commit HOT 1
- xmllint Requires member_of_group to be before export HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ament_lint.