Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 319287

Summary: Consider making some internal classes usable from EGit
Product: [Eclipse Project] Platform Reporter: Mykola Nikishov <mn>
Component: TeamAssignee: Platform Team Inbox <platform-team-inbox>
Status: CLOSED WONTFIX QA Contact: Tomasz Zarna <tomasz.zarna>
Severity: normal    
Priority: P3 CC: pwebster, remy.suen, Szymon.Brandys, tomasz.zarna
Version: 3.6Keywords: api, investigate
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard: stalebug
Bug Depends on: 196349    
Bug Blocks: 310933, 312780    
Attachments:
Description Flags
mylyn/context/zip none

Description Mykola Nikishov CLA 2010-07-08 12:49:06 EDT
EGit project tries to use published API and avoid internals. I don't like an idea of copy-n-pasting them http://egit.eclipse.org/r/1084 and I'm wondering - are there any chances for these classes we rely upon from org.eclipse.team.* bundles to became an API in the near future:

- bundle org.eclipse.team.core
  - package org.eclipse.team.internal.core.history
    - type LocalFileRevision

- bundle org.eclipse.team.ui
    - package org.eclipse.team.internal.ui
      - type IPreferenceIds
      - type StorageTypedElement
      - type TeamUIMessages
      - type TeamUIPlugin
      - type Utils
    - package org.eclipse.team.internal.ui.actions
      - type TeamAction
    - package org.eclipse.team.internal.ui.history
      - type FileRevisionTypedElement
    - package org.eclipse.team.internal.ui.synchronize  
      - type EditableSharedDocumentAdapter 
      - type LocalResourceTypedElement
    - package org.eclipse.team.internal.ui.wizards
      - type ConfigureProjectWizard
Comment 1 Tomasz Zarna CLA 2010-07-19 12:14:33 EDT
After getting a glimpse of these classes one thing I know for sure, we won't even think about making TeamAction API until we fix bug 196349. As for the others, I guess some of them can be considered as good candidates for API, but some like Utils will remain internal forever. As for the first group, I think the best approach would be to divide them into classes that you need to be API to perform specific tasks. For instance, I can assume that you use ConfigureProjectWizard to share a project, so if you open a separate bug for it (blocking this one) and explain why you need it to be API, maybe we could figure out a solution.
Comment 2 Tomasz Zarna CLA 2010-07-19 12:14:48 EDT
Created attachment 174645 [details]
mylyn/context/zip
Comment 3 Tomasz Zarna CLA 2010-09-01 09:18:18 EDT
Mykola could you help me understand why do you need these classes to be API? Like I said in the previous comment, having a separate bug for each group would help making out the problem and providing a solution (it doesn't necessarily have to be a new API). The sooner we do it, the bigger chance there is to have it addressed in 3.7. We don't like adding new API at the end of the cycle.
Comment 4 Tomasz Zarna CLA 2011-01-31 12:46:55 EST
Mykola, without any help from you guys, we won't be able to move this any further. Please respond or be prepared that none of the changes you requested will become an API. At least for 3.7.
Comment 5 Szymon Brandys CLA 2011-02-02 06:03:04 EST
Without an agreement on what we really need, we can't consider it for 3.7. I hope that someone from the EGit team will answer Tomasz' questions soon. Note that it is too late already for significant API changes, but there is still time to tweak API a bit.
Comment 6 Eclipse Genie CLA 2020-05-12 07:57:58 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.