| Summary: | Enable API tools for the e4.ui bundles | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Michael Rennie <Michael_Rennie> | ||||
| Component: | UI | Assignee: | Michael Rennie <Michael_Rennie> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | curtis.windatt.public, daniel_megert, emoffatt, john.arthorne, markus.kell.r, pwebster | ||||
| Version: | 4.3 | ||||||
| Target Milestone: | 4.3 M7 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | 403190 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Michael Rennie
The ones I have enabled so far: /org.eclipse.e4.ui.bindings /org.eclipse.e4.ui.css.core /org.eclipse.e4.ui.css.swt /org.eclipse.e4.ui.css.swt.theme /org.eclipse.e4.ui.di /org.eclipse.e4.ui.model.workbench /org.eclipse.e4.ui.services /org.eclipse.e4.ui.widgets /org.eclipse.e4.ui.workbench /org.eclipse.e4.ui.workbench.addons.swt /org.eclipse.e4.ui.workbench.renderers.swt /org.eclipse.e4.ui.workbench.renderers.swt.cocoa /org.eclipse.e4.ui.workbench.swt /org.eclipse.e4.ui.workbench3 To start with we should just enable it in bundles where we have API that we want to declare for Kepler (the list we went over on the wiki). Most of the invalid tag uses are using the @noreference tag on types, when it is only intended to be used on members.
I can see that it is being used with the intention to say "don't reference this type at all", and that it would be a pain to add the tag to each member of a class, so perhaps we could just correct the type tags and add some additional verbage about what we plan to do with the type?
For example EMenuService:
/**
* Provide for management of different menus.
*
* This interface will be removed in a future version of Eclipse and should not
* be referenced, instead clients should use {@link MenuService} directly.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*
* @see MenuService
*/
(In reply to comment #2) > To start with we should just enable it in bundles where we have API that we > want to declare for Kepler (the list we went over on the wiki). I guess that would be the following then: /org.eclipse.e4.ui.bindings /org.eclipse.e4.ui.model.workbench /org.eclipse.e4.ui.services /org.eclipse.e4.ui.workbench /org.eclipse.e4.ui.workbench.swt /org.eclipse.e4.ui.workbench.addons.swt /org.eclipse.e4.ui.workbench.renderers.swt.cocoa > Most of the invalid tag uses are using the @noreference tag on types, when > it is only intended to be used on members. Bug 235618. Created attachment 228723 [details]
patch
Attaching a patch of the changes so I don't lose them - have to reset my local repo and my git config is all messed up...
Pushed to: http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=dfd5402dd4ee7138075c5070789cbc0982d1e51e by default all API use problems except for invalid EE accesses are set to warning to avoid peoples workspaces filling with errors when they sync up. Deleting my external plugins folder and then doing a clean build, I see the following 7 errors. I got 7 errors in /org.eclipse.e4.ui.workbench.addons.swt. I added API filters for them and then did Project>Clean all to do a full build. But the full build fails with 48 errors, API analysis aborted for "X" since its build path is incomplete. (In reply to comment #8) > Deleting my external plugins folder and then doing a clean build, I see the > following 7 errors. I got 7 errors in > /org.eclipse.e4.ui.workbench.addons.swt. I added API filters for them and > then did Project>Clean all to do a full build. Your baseline is probably not correct (R4.2 or R4.2.1 instead of R4.2.2). The project is OK. Filed bug 409934 for the core bundles. |