Skip to main content
Jump to: navigation, search

Difference between revisions of "Mylyn/Porting Guide"

(Pending Changes for Mylyn 3.0)
(Changes in 3.20)
 
(116 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
[[Category:Mylyn]]  
 
[[Category:Mylyn]]  
This document will have Mylar 2.0 specific API changes added to it as we make them.  If interested in keeping up with these changes we '''suggest setting a watch''' for this page.  Note that changes involving classes moving packages are not listed, use ''Organize Imports'' to resolve.
 
  
= Porting from 1.0 to 2.0 =
+
= General =
  
See the <b>[[Mylyn Porting Guide 2.0]]</b>
+
Mylyn follows the Eclipse conventions for [[Version_Numbering|version numbering]] and guarantees [[Evolving_Java-based_APIs|binary backwards compatibility]] for minor releases. Internals are binary backwards compatible between service releases.
  
= Porting from 2.0 to 3.0 =
+
API enhancements can be tracked by searching the source code for the corresponding @since JavaDoc tags or by querying for bugs that have [api] in their summary.
  
There is currently no need to port Mylyn from the 2.0 APIs since current Mylyn releases are backwards compatible.  Throughout the 2.x release cycle we will be using this wiki to gather changes and suggestions for improving the APIs for 3.0.
+
= Changes in 3.22 =
  
 +
* Connectors that do not provide a task key no longer have their task ID automatically used as the key. Connectors that rely on this behaviour should explicitly set the task key to the ID. This change actually occurred in Mylyn 3.21 but was not added to this page until the 3.22 release.
  
== Pending Changes for Mylyn 3.0 ==
+
= Changes in 3.20 =
* Rename <code>AbstractRepositoryQuery.getRepositoryKind()</code> to <code>AbstractRepositoryQuery.getConnectorKind()</code>
+
* Rename <code>IMylarMonitorLifecycleListener</code> to <code>IMonitorLifecycleListener</code>
+
* Rename <code>MockRepositoryTask</code> to <code>MockTask</code>
+
* Refactor <code>TaskActivationHistory</code> into a <code>TaskActivityManager</code> that encapsulates both activity monitoring and activation history
+
** Remove all deprecated methods from TaskListManager
+
* <code>AbstractTaskListPresentation</code>: make API, remove coupling to <code>TaskListView</code>
+
* <code>TaskGroup</code> and <code>TaskCategory</code>: consider for API, refactor or combine
+
* consider merging <code>TaskList.removeFromCategory()</code> and <code>TaskList.removeFromQuery()</code>
+
* Deprecate <code>WebClientUtil.getPlatformProxy()</code>
+
* Move <code>TasksUiPlugin.getIncomingNotification(..)</code> and related private classes
+
* <code>AbstractTask.setCompleted()</code> needs changing, it has the problematic side effect of setting the completion date to the current time.  {{bug|203875}}
+
* Remove <code>AbstractInterestManipulationAction.isRemove()</code>: deprecated
+
* Make <code>IMonitoredWindow</code> API and put alongside <code>IContextAwareEditor</code>
+
* merge <code>AbstractRepositoryTaskEditor.createAttributeSection</code> into <code>createAttributeLayout()</code>
+
* Make API: <code>InteractionContextScaling</code>
+
* Rename <code>AbstractTask.RepositoryTaskSyncState</code> to <code>AbstractTask.SyncState</code> ("sync" is used commonly enough that we should be able to standardize on it in the API, replacing "synchronization/synchronize" where applicable).
+
  
== New Tasks API ==
+
* <code>AbstractTaskListMigrator</code> and its related extension point have been deprecated. Contributed migrators will no longer be applied when loading the Task List ({{bug|493037}}).
  
* <code>AbstractEditQueryWizard</code>
+
= Changes in 3.12 =
** <code>getQuerySummary()</code>: added
+
  
* <code>AbstractRepositoryConnector</code>
+
* The SOAP transport was removed ({{bug|421379}}).
** <code>isRepositoryConfigurationStale(TaskRepository)</code> has been added
+
  
* <code>AbstractRenderingEngine</code> has been added for converting Wiki syntax to HTML
+
= Changes in 3.11 =
  
* <code>AbstractRepositoryQueryPage</code>
+
* The SOAP transport was deprecated ({{bug|423964}}).
** <code>setControlsEnabled(...)</code>: added - override to perform finer grain enablements if necessary
+
  
* <code>AbstractRepositoryTaskEditor</code> has been extended to provide HTML preview capabilities for repositories that support Wiki syntax in ticket descriptions and comments
+
= Changes in 3.10 =
** <code>addSelectableControl()</code>: added
+
** <code>createReplyHyperlink()</code> is now protected (was private)
+
** <code>DescriptionListener</code> is now protected (was private)
+
** <code>getParentEditor()</code>: added
+
** <code>getRenderingEngine()</code>: added
+
** <code>removeSelectableControl()</code>: added
+
** <code>fillToolBar(..)</code>: added
+
  
* <code>AbstractUserActivityMonitor</code>
+
None.
** <code>isEnabled()</code>: added
+
** <code>getOriginId()</code>: added
+
** <code>getStructureKind()</code>: added
+
** <code>getStructureHandle()</code>: added
+
  
* <code>RepositoryTaskAttribute</code>
+
= Porting from 3.8 to 3.9 =
** task.common.user.reporter.name : added : key for full name of issue reporter
+
** task.common.comment.author.name : added : key for full name of comment author
+
** task.common.user.assigned.name : added : key for full name of issue assignee
+
  
* <code>TaskEditor</code>
+
== Mylyn Reviews ==
** class no longer final (experimental extensibility)
+
  
* <code>TaskListManager</code>
+
The Reviews framework has had a major update which resulted in changes to the core model and API. In consequence, the version was updated to 2.0.
** <code>resolveIdentifiersConflict()</code>: added
+
** <code>removeFromQuery()</code>: added
+
  
* <code>TaskTextViewerConfiguration</code> has been added (former name was RepositoryViewerConfig)
+
= Porting from 3.7 to 3.8 =
  
== New Context API ==
+
No API changes that affect integrators.
  
* <code>AbstractFocusViewAction.updateEnablementWithContextActivation()</code>: override to return false for focus actions that are not related to context activations (e.g. the Task List).
+
= Porting from 3.6 to 3.7 =
  
* <code>AbstractFocusViewAction.setLinkingActionEnabled(boolean)</code>: should be overridden if view provides linking
+
== Mylyn Commons ==
  
* <code>InteractionContextScaling.getScaling()</code>: new method, prevoiusly on subtype only
+
* {{bug|305782}} Restructuring of Mylyn Commons features
  
== New Montior API ==
+
The Mylyn Commons components were restructured and provisional packages were promoted to API. Several bundle IDs, package names and extension IDs were changed in the process. Classes in provisional packages were kept but marked as deprecated and will be removed in a future release. None of the changes break API backwards compatibility but integrations that consumed internal packages or extensions points may need to be adapted.
  
* <code>MonitorUiPlugin.getMonitoredWindows()</code>: use insteand of <code>PlatformUI.getWorkbench().getWorkbenchWindows()</code>
+
The following bundles were renamed:
* <code>MonitorUiPlugin.getLaunchingWorkbenchWindow()</code>: use to get the first active window when the monitor started.
+
 
 +
org.eclipse.mylyn.commons.identity      -> org.eclipse.mylyn.commons.identity.core
 +
org.eclipse.mylyn.commons.notifications -> org.eclipse.mylyn.commons.notifications.ui
 +
org.eclipse.mylyn.commons.repositories  -> org.eclipse.mylyn.commons.repositories.core
 +
org.eclipse.mylyn.commons.team          -> org.eclipse.mylyn.commons.repositories.ui
 +
 
 +
A complete list of renamed and added bundles can be found on bug 305782 on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=305782#c13 comment 13].
 +
 
 +
The following packages were renamed:
 +
 
 +
org.eclipse.mylyn.commons.identity    -> org.eclipse.mylyn.commons.identity.core
 +
org.eclipse.mylyn.commons.repositories -> org.eclipse.mylyn.commons.repositories.core
 +
org.eclipse.mylyn.commons.ui.team      -> org.eclipse.mylyn.commons.repositories.ui
 +
 
 +
The following provisional packages were promoted to API (see {{bug|360301}}):
 +
 
 +
org.eclipse.mylyn.internal.provisional.commons.core        -> org.eclipse.mylyn.commons.core
 +
org.eclipse.mylyn.internal.provisional.commons.ui          -> org.eclipse.mylyn.commons.ui
 +
                                                            -> org.eclipse.mylyn.commons.workbench
 +
                                                            -> org.eclipse.mylyn.commons.workbench.browser
 +
                                                            -> org.eclipse.mylyn.commons.workbench.editors
 +
                                                            -> org.eclipse.mylyn.commons.workbench.forms
 +
                                                            -> org.eclipse.mylyn.commons.workbench.search
 +
org.eclipse.mylyn.internal.provisional.commons.ui.actions  -> org.eclipse.mylyn.commons.ui
 +
org.eclipse.mylyn.internal.provisional.commons.ui.commands -> org.eclipse.mylyn.commons.workbench.texteditor
 +
org.eclipse.mylyn.internal.provisional.commons.ui.dialogs  -> org.eclipse.mylyn.commons.ui.dialogs
 +
org.eclipse.mylyn.internal.provisional.commons.ui.editor  -> org.eclipse.mylyn.commons.workbench
 +
 
 +
In some cases provisional packages do not map directly to API packages but classes were distributed among several packages.
 +
 
 +
The following extension points have moved:
 +
 
 +
org.eclipse.mylyn.commons.team.newWizards -> org.eclipse.mylyn.commons.repositories.ui.newWizards
 +
 
 +
The following extension IDs have changed:
 +
 
 +
org.eclipse.mylyn.commons.team.navigator.Repositories -> org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories
 +
org.eclipse.mylyn.commons.team.category              -> org.eclipse.mylyn.commons.repositories.ui.category.Team
 +
 
 +
= Porting from 3.0 to 3.6 =
 +
 
 +
See the <b>[[Mylyn/Porting Guide/3.x]]</b>
 +
 
 +
= Porting from 2.0 to 3.0 =
 +
 
 +
See the <b>[[Mylyn/Porting Guide/3.0]]</b>
 +
 
 +
 
 +
= Porting from 1.0 to 2.0 =
 +
 
 +
See the <b>[[Mylyn Porting Guide 2.0]]</b>

Latest revision as of 13:59, 7 February 2017


General

Mylyn follows the Eclipse conventions for version numbering and guarantees binary backwards compatibility for minor releases. Internals are binary backwards compatible between service releases.

API enhancements can be tracked by searching the source code for the corresponding @since JavaDoc tags or by querying for bugs that have [api] in their summary.

Changes in 3.22

  • Connectors that do not provide a task key no longer have their task ID automatically used as the key. Connectors that rely on this behaviour should explicitly set the task key to the ID. This change actually occurred in Mylyn 3.21 but was not added to this page until the 3.22 release.

Changes in 3.20

  • AbstractTaskListMigrator and its related extension point have been deprecated. Contributed migrators will no longer be applied when loading the Task List (bug 493037).

Changes in 3.12

Changes in 3.11

Changes in 3.10

None.

Porting from 3.8 to 3.9

Mylyn Reviews

The Reviews framework has had a major update which resulted in changes to the core model and API. In consequence, the version was updated to 2.0.

Porting from 3.7 to 3.8

No API changes that affect integrators.

Porting from 3.6 to 3.7

Mylyn Commons

  • bug 305782 Restructuring of Mylyn Commons features

The Mylyn Commons components were restructured and provisional packages were promoted to API. Several bundle IDs, package names and extension IDs were changed in the process. Classes in provisional packages were kept but marked as deprecated and will be removed in a future release. None of the changes break API backwards compatibility but integrations that consumed internal packages or extensions points may need to be adapted.

The following bundles were renamed:

org.eclipse.mylyn.commons.identity      -> org.eclipse.mylyn.commons.identity.core
org.eclipse.mylyn.commons.notifications -> org.eclipse.mylyn.commons.notifications.ui
org.eclipse.mylyn.commons.repositories  -> org.eclipse.mylyn.commons.repositories.core
org.eclipse.mylyn.commons.team          -> org.eclipse.mylyn.commons.repositories.ui

A complete list of renamed and added bundles can be found on bug 305782 on comment 13.

The following packages were renamed:

org.eclipse.mylyn.commons.identity     -> org.eclipse.mylyn.commons.identity.core
org.eclipse.mylyn.commons.repositories -> org.eclipse.mylyn.commons.repositories.core
org.eclipse.mylyn.commons.ui.team      -> org.eclipse.mylyn.commons.repositories.ui

The following provisional packages were promoted to API (see bug 360301):

org.eclipse.mylyn.internal.provisional.commons.core        -> org.eclipse.mylyn.commons.core
org.eclipse.mylyn.internal.provisional.commons.ui          -> org.eclipse.mylyn.commons.ui
                                                           -> org.eclipse.mylyn.commons.workbench
                                                           -> org.eclipse.mylyn.commons.workbench.browser
                                                           -> org.eclipse.mylyn.commons.workbench.editors
                                                           -> org.eclipse.mylyn.commons.workbench.forms
                                                           -> org.eclipse.mylyn.commons.workbench.search
org.eclipse.mylyn.internal.provisional.commons.ui.actions  -> org.eclipse.mylyn.commons.ui
org.eclipse.mylyn.internal.provisional.commons.ui.commands -> org.eclipse.mylyn.commons.workbench.texteditor
org.eclipse.mylyn.internal.provisional.commons.ui.dialogs  -> org.eclipse.mylyn.commons.ui.dialogs
org.eclipse.mylyn.internal.provisional.commons.ui.editor   -> org.eclipse.mylyn.commons.workbench

In some cases provisional packages do not map directly to API packages but classes were distributed among several packages.

The following extension points have moved:

org.eclipse.mylyn.commons.team.newWizards -> org.eclipse.mylyn.commons.repositories.ui.newWizards

The following extension IDs have changed:

org.eclipse.mylyn.commons.team.navigator.Repositories -> org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories
org.eclipse.mylyn.commons.team.category               -> org.eclipse.mylyn.commons.repositories.ui.category.Team

Porting from 3.0 to 3.6

See the Mylyn/Porting Guide/3.x

Porting from 2.0 to 3.0

See the Mylyn/Porting Guide/3.0


Porting from 1.0 to 2.0

See the Mylyn Porting Guide 2.0

Back to the top