Excellent question! In fact, plugins will need to declare compatibility with Community Build and SonarQube Server separately. (The property file repo README has been updated accordingly.) We’ll produce two separate compatibility matrices (here the Community Build one)
version is just the version of the plugin itself. It is entirely unaffected.
I believe SonarQube Server and SonarQube Community Build will (continue to) share the same plugin API. So this should also be unaffected.
To be more precise, the question is about sonar.version. Here I can use 24.12.0.100206 (Community Build) or 10.8.0.100206 (SonarQube Server) now. What is the right approach?
Thanks for the clarification. I could guess, but I won’t put either of us through that. I’m going to flag this for the the folks who don’t have to guess.
On the SonarQube Server and SonarQube Community Build side we don’t use the value of the sonar.version property when loading the plugin. It is not even carried over to MANIFEST.MF.
But I think your doubts are more about which version of sonar-testing-harnesss and sonar-plugin-api-impl you should use for testing. Here, I would recommend to use the Community Build artifacts as they will likely be released more often. And at the same time, these are the only artifacts that are available in mvnrepository [harness][plugin-api-impl].
On our side, we will verify internally whether we could improve our documentation for plugin development in this area.