Uncrustify 0.75 introduces changes to the configuration format which are not compatible with the configuration hard-coded into ament_uncrustify.
RHEL 9 packages uncrustify-0.75.1. The only reason we don't have broken builds on ci.ros2.org is that uncrustify_vendor's detection logic is broken and we're vendoring 0.72.
My first suggestion to address this was to set an upper bound on our Uncrustify version for vendoring, but @clalancette prefers that we address the problem here.
@sloretz mentions that maybe we should just unconditionally vendor the linter, since it needs to be the same on all platforms. It's not a terrible idea, and would fix this problem, so maybe that is a way forward.
Uncrustify 0.75 introduces changes to the configuration format which are not compatible with the configuration hard-coded into
ament_uncrustify
.RHEL 9 packages
uncrustify-0.75.1
. The only reason we don't have broken builds on ci.ros2.org is thatuncrustify_vendor
's detection logic is broken and we're vendoring 0.72.My first suggestion to address this was to set an upper bound on our Uncrustify version for vendoring, but @clalancette prefers that we address the problem here.