eclipse-cdt / cdt-lsp

Eclipse CDT™ LSP Extensions for CDT
Eclipse Public License 2.0
23 stars 11 forks source link

Add API Baseline checking to the build #265

Closed ghentschke closed 1 month ago

ghentschke commented 4 months ago

fixes #212

akurtakov commented 4 months ago

You would have to update Maven version at https://github.com/eclipse-cdt/cdt-lsp/blob/de6e9a5cc8a6468441832cce5379191686c3d5f0/.github/workflows/tycho-build.yaml#L19 . I also strongly recommend going for Tycho 4.0.6 as it contains a big number of fixes since 4.0.1

ghentschke commented 4 months ago

@jonahgraham I would like to skip this API baseline check to the next release, which should be 2.0.0, because the API has changed since last v1.0.0 release. I want to check and refactor what must be API. There is a lot of stuff which can be made internal.

jonahgraham commented 4 months ago

@jonahgraham I would like to skip this API baseline check to the next release, which should be 2.0.0, because the API has changed since last v1.0.0 release. I want to check and refactor what must be API. There is a lot of stuff which can be made internal.

Yes - that is a good idea. There doesn't need to be API stability yet and I don't think there needs to be such expectations yet.

ghentschke commented 1 month ago

Okay, the change has been build now. @jonahgraham or @ruspl-afed: I don't know why the API check claims missing @since tags only on some public visible classes in the org.eclipse.cdt.lsp bundle. I had expected that all classes in the visible packages should have been tagged.

ruspl-afed commented 1 month ago

why the API check claims missing @since tags only on some public visible classes in the org.eclipse.cdt.lsp bundle. I had expected that all classes in the visible packages should have been tagged.

In theory it should request new tag for public types/members added after baseline.

ghentschke commented 1 month ago

Which baseline is used or should be used for cdt-lsp?

ruspl-afed commented 1 month ago

Which baseline is used or should be used for cdt-lsp?

I believe that the CDT LSP baseline should point to the previous release of CDT LSP (regardless to the version contributed to SimRel). And this is more or less what we have now with https://download.eclipse.org/tools/cdt/releases/cdt-lsp-latest However, it would be better to mention the exact release instead of "the latest".

Also, there is a slippery spot in pom that defines baseline repo through SimRel aggregated repo, https://download.eclipse.org/releases/2024-03/ It would be more precise to use the CDT LSP .target from the previous release of CDT LSP.

But what you already did is the good basement for the further improvements.