[jbosstools-issues] [JBoss JIRA] (JBIDE-15368) jbosstools-server has API Compatibility problem

Rob Stryker (JIRA) jira-events at lists.jboss.org
Thu Sep 5 03:01:04 EDT 2013


    [ https://issues.jboss.org/browse/JBIDE-15368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801782#comment-12801782 ] 

Rob Stryker commented on JBIDE-15368:
-------------------------------------

> Now API Tooling complains that classes from org.jboss.ide.eclipse.as.rse.core package are not in public API.

Where is it complaining this?   Classes in org.jboss.ide.eclipse.as.rse.core  are NOT intended to be public API. Nothing in that package should be used by any other plugin.  It is only exported via x-friends to the test plugin.  The entire plugin is essentially private. 
                
> jbosstools-server has API Compatibility problem
> -----------------------------------------------
>
>                 Key: JBIDE-15368
>                 URL: https://issues.jboss.org/browse/JBIDE-15368
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 4.1.1.Alpha1
>            Reporter: Denis Golovin
>            Priority: Blocker
>              Labels: api-compatibility
>             Fix For: 4.1.1.Alpha1
>
>
> Latest version from jbosstools-server/jbosstools-4.1.x branch has API Compatibility problem:
> "The field org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants.WILDFLY8_MANAGEMENT_PORT_DEFAULT_PORT in an interface that is intended to be implemented or extended has been added".
> According to http://wiki.eclipse.org/Evolving_Java-based_APIs_2
> || Interface change || Conditions || Compatibility ||
> |Add API field|If interface not implementable by Clients	| Binary compatible|
> |Add API field|If interface implementable by Clients| Breaks compatibility (2)|
> (2) Adding an API field to an API interface that is implemented by Clients (e.g., a callback, listener, or visitor interface) breaks binary compatibility in a different way. A field added to a superinterface of C may hide an instance field inherited from a superclass of C, causing linking errors to be detected. Because of this fact, it is important to distinguish between API interfaces that Clients should implement from those that Clients should merely use. API interfaces that Clients should implement should not include fields.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list