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

Denis Golovin (JIRA) jira-events at lists.jboss.org
Thu Sep 5 02:44:03 EDT 2013


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

Denis Golovin commented on JBIDE-15368:
---------------------------------------

found one more problem with https://github.com/jbosstools/jbosstools-server/blob/jbosstools-4.1.x/as/plugins/org.jboss.ide.eclipse.as.rse.core/META-INF/MANIFEST.MF#L30. Now API Tooling complains that classes from org.jboss.ide.eclipse.as.rse.core package are not in public API.
                
> 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