Sonar Publisher Generation

I don't expect you'll want to take this as is, but I'm just opening a PR so we can discuss.
I'm fine with breaking down the changes (and avoiding other unnecessary things like formatting, etc).