[ 
https://issues.apache.org/jira/browse/APEXCORE-699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15977647#comment-15977647
 ] 

Vlad Rozov commented on APEXCORE-699:
-------------------------------------

I guess that the proper way to support compatible Plugin interface 
modifications and versioning is to extend an existing interface. For example, 
if a new version of a Plugin introduces new method foo(), the new version 
should be defined as
{code}
interface PluginV2 extends Plugin {
  void foo();
}
{code}

On the other side, plugins should be able to check engine version and prevent 
the platform from loading plugin if the platform does not meet version 
requirements. Such information can be passed using PluginContext and does not 
require Plugin interface changes.

With the proposed design, will it be OK to exclude Plugin versioning changes 
from 3.6.0 release?

> Investigate versioning for plugins
> ----------------------------------
>
>                 Key: APEXCORE-699
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-699
>             Project: Apache Apex Core
>          Issue Type: Sub-task
>            Reporter: Pramod Immaneni
>            Assignee: Tushar Gosavi
>            Priority: Minor
>             Fix For: 3.6.0
>
>
> Having versioning information in the plugin would help in dealing with 
> compatibility with older plugins when the plugin interface changes. This 
> needs to be investigated.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to