I’m creating custom rules in Java that check my company’s coding requirements. One of the specifications says:
Projects must follow the naming convention xxx_yyy
There are other specs that involve checking that files also follow naming conventions, that they are placed in their proper folders, etc.
Is it possible to run a single check for the project file system and report issues on it instead of individual files (that might or might not be java, as well)?
You can implement your own org.sonar.apai.bath.Sensor. Its method
void execute(SensorContext context)
will be invoked for each project module starting from “leaf” modules. Sensor context contains filesystem so you have access to project (module) structure.
Thank you, I’ve been able to implement my own Sensor and report arbitrary issues on files.
I’m having trouble targetting the base directory as a location to report the issue. How can I give the NewIssueLocation the file system’s base directory as a InputFile? I’ve tried this:
I figured it out. The NewIssueLocation.on() method has InputComponent as parameter, so I can pass the context.project() itself and flag the project on its own as I intended. The end result looks like this: