Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-15368

jbosstools-server has API Compatibility problem

XMLWordPrintable

    • Hide

      1. EXEC: Install Eclipse Java EE IDE
      2. EXEC: Install JBoss Server Adapter Features from 4.1.0.Finalstable update site into Java EE IDE from (1)
      3. EXEC: Add new API baseline based on location from (2) in development environment
      4. EXEC: Do full rebuild on request
      5. ASSERT: There are no error markers with Type "Compatibility problem" for org.jboss.ide.eclipse.as.wtp.core plug-in.

      Show
      1. EXEC: Install Eclipse Java EE IDE 2. EXEC: Install JBoss Server Adapter Features from 4.1.0.Finalstable update site into Java EE IDE from (1) 3. EXEC: Add new API baseline based on location from (2) in development environment 4. EXEC: Do full rebuild on request 5. ASSERT: There are no error markers with Type "Compatibility problem" for org.jboss.ide.eclipse.as.wtp.core plug-in.

      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.

              rob.stryker Rob Stryker (Inactive)
              nivologd@gmail.com Denis Golovin (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: