| Summary: | restructure Mylyn Commons features | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Steffen Pingel <steffen.pingel> | ||||||
| Component: | Mylyn | Assignee: | Steffen Pingel <steffen.pingel> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | enhancement | ||||||||
| Priority: | P1 | CC: | mik.kersten, pascal, strider80, wseliga | ||||||
| Version: | unspecified | Keywords: | plan | ||||||
| Target Milestone: | 3.7 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | 296436, 304755, 313977, 350385, 361048, 366862, 367002, 367003 | ||||||||
| Bug Blocks: | 355941 | ||||||||
| Attachments: |
|
||||||||
|
Description
Steffen Pingel
Proposal for commons plug-ins to support better reuse: bc. org.eclipse.mylyn.commons.core org.eclipse.mylyn.commons.editor (ui components, org.eclipse.ui.editor dependency) org.eclipse.mylyn.commons.forms (ui components, org.eclipse.ui.forms dependency) org.eclipse.mylyn.commons.http (replaces org.eclipse.mylyn.commons.net) org.eclipse.mylyn.commons.net (deprecated to re-export of required httpclient bundles) org.eclipse.mylyn.commons.notifications (notifications framework) org.eclipse.mylyn.commons.repositories (repositories core) org.eclipse.mylyn.commons.screencapture (screen capture wizard) org.eclipse.mylyn.commons.soap org.eclipse.mylyn.commons.team (team repositories view, repository ui) org.eclipse.mylyn.commons.ui (ui components, minimal dependencies) org.eclipse.mylyn.commons.workbench (ui components, org.eclipse.ui.workbench dependency) org.eclipse.mylyn.commons.xmlrpc Looks good. Suggested changes: * Make ..commons.forms a part of ..commons.edtior until we have a concerete use case to separate the dependencies * Make ..commons.workbench part of ..commons.ui if there isn't a compelling enough case yet Also consider merging ..commons.repositories with ..commons.core Thanks for the input. Here is another pass at this: *Core* bc. org.eclipse.mylyn.commons.core error reporting, utility classes org.eclipse.mylyn.commons.http HTTP support, replaces org.eclipse.mylyn.commons.net org.eclipse.mylyn.commons.net deprecated due to re-export of httpclient org.eclipse.mylyn.commons.repositories repositories core, proxy service, authentication service org.eclipse.mylyn.commons.soap SOAP support org.eclipse.mylyn.commons.xmlrpc XML-RPC support *UI* bc. org.eclipse.mylyn.commons.notifications notifications framework: preference page, extension point org.eclipse.mylyn.commons.ui UI components, dependency on org.eclipse.ui org.eclipse.mylyn.commons.team Team Repositories view, dependency on org.eclipse.ui.navigator For the future we could consider splitting out some of the UI components to improve reuse in RCP scenarios: bc. org.eclipse.mylyn.commons.capture screen capture component org.eclipse.mylyn.commons.editor UI components that depend on org.eclipse.ui.editor org.eclipse.mylyn.commons.jface UI components that depend on SWT/JFace only The reason why I would like to keep the repositories plug-in separate from core is due to the dependencies on network and authentication related services such as the proxy service and secure storage which would impact reuse other plug-ins that depend on core. To encourage reuse of o.e.m.common.ui I would like to establish the constraint that it does not contribute anything to the UI but only provides reusable UI components. Therefore the notifications and team support is in separate plug-ins that contribute views and preference pages. For future I'd rename "..mylyn.commons.capture" to "..mylyn.commons.screenshots" or something like that. Created attachment 177670 [details]
org.eclipse.mylyn.commons.screenshots plug-in
Created attachment 177671 [details]
extension that embeds screenshot viewer in view
The attachment contains a plug-in that provides a ScreenshotViewer class. It basically wraps a ViewForm that provides the capture and editing capabilities. If anyone cares I'd be happy to commit this to make the screen capturing component easier to reuse. To ensure that dependencies on Mylyn Commons are properly updated and are easily consumable we should create features for each component in commons: *org.eclipse.mylyn.commons* pre. org.eclipse.mylyn.commons-feature org.eclipse.mylyn org.eclipse.mylyn.commons.core org.eclipse.mylyn.commons.screenshots org.eclipse.mylyn.commons.tests org.eclipse.mylyn.commons.ui *org.eclipse.mylyn.commons.activity* pre. org.eclipse.mylyn.commons.activity-feature org.eclipse.mylyn.commons.activity.tests org.eclipse.mylyn.commons.activity.ui *org.eclipse.mylyn.commons.http* pre. org.eclipse.mylyn.commons.http-feature org.eclipse.mylyn.commons.http.core *org.eclipse.mylyn.commons.identity* pre. org.eclipse.mylyn.commons.identity-feature org.eclipse.mylyn.commons.identity.core org.eclipse.mylyn.commons.identity.ui *org.eclipse.mylyn.commons.net* (deprecated) pre. org.eclipse.mylyn.commons.net-feature org.eclipse.mylyn.commons.net org.eclipse.mylyn.commons.xmlrpc org.eclipse.mylyn.commons.soap *org.eclipse.mylyn.commons.notifications* pre. org.eclipse.mylyn.commons.notifications-feature org.eclipse.mylyn.commons.notifications.ui *org.eclipse.mylyn.commons.repository* pre. org.eclipse.mylyn.commons.repository-feature org.eclipse.mylyn.commons.repository.core org.eclipse.mylyn.commons.repository.ui *org.eclipse.mylyn.commons.sdk* pre. org.eclipse.mylyn.commons.sdk-feature org.eclipse.mylyn.commons.sdk.util *org.eclipse.mylyn.commons.soap* pre. org.eclipse.mylyn.commons.soap-feature org.eclipse.mylyn.commons.soap.core *org.eclipse.mylyn.commons.xmlrpc* pre. org.eclipse.mylyn.commons.xmlrpc-feature org.eclipse.mylyn.commons.xmlrpc.core *org.eclipse.mylyn.discovery* pre. org.eclipse.mylyn.discovery-feature org.eclipse.mylyn.discovery.core org.eclipse.mylyn.discovery.tests org.eclipse.mylyn.discovery.ui *org.eclipse.mylyn.monitor* pre. org.eclipse.mylyn.monitor-feature org.eclipse.mylyn.monitor.core org.eclipse.mylyn.monitor.tests org.eclipse.mylyn.monitor.ui After looking at this final list, this seems like the most sensible way to go. *org.eclipse.mylyn.commons* pre. org.eclipse.mylyn org.eclipse.mylyn.commons-feature org.eclipse.mylyn.commons.core org.eclipse.mylyn.commons.screenshots org.eclipse.mylyn.commons.tests org.eclipse.mylyn.commons.ui org.eclipse.mylyn.commons.workbench *org.eclipse.mylyn.commons.activity* pre. org.eclipse.mylyn.commons.activity-feature org.eclipse.mylyn.commons.activity.tests org.eclipse.mylyn.commons.activity.ui *org.eclipse.mylyn.commons.identity* pre. org.eclipse.mylyn.commons.identity-feature org.eclipse.mylyn.commons.identity.core org.eclipse.mylyn.commons.identity.ui *org.eclipse.mylyn.commons.net* (deprecated) pre. org.eclipse.mylyn.commons.net org.eclipse.mylyn.commons.xmlrpc org.eclipse.mylyn.commons.soap *org.eclipse.mylyn.commons.notifications* pre. org.eclipse.mylyn.commons.notifications-feature org.eclipse.mylyn.commons.notifications.core org.eclipse.mylyn.commons.notifications.rss org.eclipse.mylyn.commons.notifications.ui *org.eclipse.mylyn.commons.repository* pre. org.eclipse.mylyn.commons.repository-feature org.eclipse.mylyn.commons.repository.core org.eclipse.mylyn.commons.repository.ui *org.eclipse.mylyn.commons.sdk* pre. org.eclipse.mylyn.commons.sdk-feature org.eclipse.mylyn.commons.sdk.util *org.eclipse.mylyn.discovery* pre. org.eclipse.mylyn.discovery-feature org.eclipse.mylyn.discovery.core org.eclipse.mylyn.discovery.tests org.eclipse.mylyn.discovery.ui *org.eclipse.mylyn.monitor* pre. org.eclipse.mylyn.monitor-feature org.eclipse.mylyn.monitor.core org.eclipse.mylyn.monitor.tests org.eclipse.mylyn.monitor.ui *org.eclipse.mylyn.transport.http* pre. org.eclipse.mylyn.transport.http-feature org.eclipse.mylyn.transport.http.core org.eclipse.mylyn.transport.http.tests *org.eclipse.mylyn.transport.soap* (future) pre. org.eclipse.mylyn.transport.soap-feature org.eclipse.mylyn.transport.soap.core org.eclipse.mylyn.transport.soap.tests *org.eclipse.mylyn.transport.xmlrpc* (future) pre. org.eclipse.mylyn.transport.xmlrpc-feature org.eclipse.mylyn.transport.xmlrpc.core org.eclipse.mylyn.transport.xmlrpc.tests This is the final list of components that was committed. See bug 350385 and bug 367002 for renamed packages and ids. *org.eclipse.mylyn.commons* pre. org.eclipse.mylyn org.eclipse.mylyn.commons-feature org.eclipse.mylyn.commons.core org.eclipse.mylyn.commons.screenshots org.eclipse.mylyn.commons.tests org.eclipse.mylyn.commons.ui org.eclipse.mylyn.commons.workbench *org.eclipse.mylyn.commons.activity* pre. org.eclipse.mylyn.commons.activity-feature org.eclipse.mylyn.commons.activity.tests org.eclipse.mylyn.commons.activity.ui *org.eclipse.mylyn.commons.identity* pre. org.eclipse.mylyn.commons.identity-feature org.eclipse.mylyn.commons.identity.core org.eclipse.mylyn.commons.identity.ui *org.eclipse.mylyn.commons.net* (deprecated) pre. org.eclipse.mylyn.commons.net org.eclipse.mylyn.commons.xmlrpc org.eclipse.mylyn.commons.soap *org.eclipse.mylyn.commons.notifications* pre. org.eclipse.mylyn.commons.notifications-feature org.eclipse.mylyn.commons.notifications.core org.eclipse.mylyn.commons.notifications.rss org.eclipse.mylyn.commons.notifications.ui *org.eclipse.mylyn.commons.repositories* pre. org.eclipse.mylyn.commons.repositories-feature org.eclipse.mylyn.commons.repositories.core org.eclipse.mylyn.commons.repositories.ui *org.eclipse.mylyn.commons.repositories.http* pre. org.eclipse.mylyn.commons.repositories.http-feature org.eclipse.mylyn.commons.repositories.http.core org.eclipse.mylyn.commons.repositories.http.tests *org.eclipse.mylyn.commons.repositories.soap* (future) pre. org.eclipse.mylyn.commons.repositories.soap-feature org.eclipse.mylyn.commons.repositories.soap.core org.eclipse.mylyn.commons.repositories.soap.tests *org.eclipse.mylyn.commons.repositories.xmlrpc* (future) pre. org.eclipse.mylyn.commons.repositories.xmlrpc-feature org.eclipse.mylyn.commons.repositories.xmlrpc.core org.eclipse.mylyn.commons.repositories.xmlrpc.tests *org.eclipse.mylyn.commons.sdk* pre. org.eclipse.mylyn.commons.sdk-feature org.eclipse.mylyn.commons.sdk.util *org.eclipse.mylyn.discovery* pre. org.eclipse.mylyn.discovery-feature org.eclipse.mylyn.discovery.core org.eclipse.mylyn.discovery.tests org.eclipse.mylyn.discovery.ui *org.eclipse.mylyn.monitor* pre. org.eclipse.mylyn.monitor-feature org.eclipse.mylyn.monitor.core org.eclipse.mylyn.monitor.tests org.eclipse.mylyn.monitor.ui Reusing only the AbstractNotificationPopup in an RCP app is still not ideal because of unnecessary required dependencies of the org.eclipse.mylyn.commons.ui plugin, see also bug 229823 |