enh(ci): signals/slots format check
Description
We have new rules regarding signals and slots format, especially in services. Sheldon should be able to check this format.
Functional specifications
- Check format.
- If correct, check the presence of a signal/slot in the doxygen
- If not, ask the user to reformat - I think it is way to complicated today to reformat automatically, as there are too many ways to declare them wrong
Technical specifications
How to verify a signal key is well formatted?
- Detect a signal
- header file, look for static (inline )?const.*signal
- Check
- go upward from there in the file until you find
struct signals
(success) orclass.*
(failure) - then we can check
- the name of the member (no _SIG suffix),
- the presence of "inline" AND the presence of the initialisation,
- the type (no fancy type alias - use the new service::base::signals_key_t alias)
- the presence of the signal in the doxygen of the class
- go upward from there in the file until you find
Similar for slots.
For the signal type, we can do something similar with the regex using.*core::com::signal<
, but only perform check 1.
Test plan
Describe how you will verify that the implementation fulfils the specifications