-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API Tools Plugin requires baseline to contain dependencies #3569
Comments
How do you develop in PDE without the dependencies of the bundle? |
@laeubi the dependencies exist in the current target platform and the bundle builds. The issue is that tycho API tools appears to need the baseline repo to contain the dependencies of the baseline version. In most cases I've seen the baseline is a p2 repo which will rarely contain all the dependencies of the bundle. e.g. you won't ship "org.eclipse.ui" in your P2 repo unless you're shipping a full RCP produce For example this is CDT's baseline target platform, the repo only include CDT + some CDT specific dependencies. This works in PDE: https://github.com/eclipse-cdt/cdt/blob/main/releng/org.eclipse.cdt.target/cdt-baseline.target |
It should work to add other repositories (those containing the dependencies) ass additional baseline repository, e.g. in the CDT case you probably want to add I think we can probably add a "light" mode, but as API tools often behave quite strange in case it finds not all dependencies currently it is required to have a full resolved "target" as a baseline. |
If all the dependencies are needed to work fully then allowing a target platform, similar to #3523 but referenced via a maven artefact, would make usage much simpler. The baseline target platform could then just include the original target platform used to build the baseline version. |
Yes that's what one would expect as "baseline repo", e.g. one could use a previous updatesite (that contains references to other sites) so one can fetch a complete overview. |
Using on referenced repositories is problematic for a number of use cases
This can be worked around, by either matching every repository from the previous target platform in the plugins configuration, or by generating a dedicated "baseline" p2 repo which bundles all dependencies. But this is adding extra work the PDE method of running API analysis did not need. Target Platform support would resolve this, so I am happy to add a comment to #3523 and close this. |
I can just offer some alternatives, of course the easiest (and safest) would be to build a baseline repo that includes al dependencies, as that's the only way to "archive" your baseline. |
tycho-apitools mojo requires the dependencies of the bundle being analysed to also be in the baseline. This can significantly inflate the size of the baseline repo on projects with many dependencies.
This is not required by the PDE based methods
The text was updated successfully, but these errors were encountered: