Uploaded image for project: 'Build'
  1. Build
  2. BUILD-439

Binary compatibility check fails on abstract method addition in new parent class

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Neutral
    • None
    • None
    • None
    • None

    Description

      Steps to reproduce

      Original code:

      public class LinkField<T> extends CustomField<T> { 
      

      New code:

      public abstract class AbstractLinkField<T, P> extends CustomField<T> {
          public abstract Optional<P> getSelectedItem();
      }
      
      public class LinkField<T> extends AbstractLinkField<T, T> {
          @Override
          public Optional<T> getSelectedItem() {
              return getOptionalValue();
          }
      }
      

      Expected results

      Is this false negative, can we configure the check to accept this?
      Anyway, this ticket at least for the record. 

      Actual results

      WARNING: Incompatibility detected: Requires semantic version level	 MINOR: JApiSuperclass [jApiClass=JApiClass [fullyQualifiedName=info.magnolia.ui.field.LinkField, changeStatus=MODIFIED, compatibilityChanges=[METHOD_ABSTRACT_ADDED_IN_IMPLEMENTED_INTERFACE]], oldSuperclass=com.vaadin.ui.CustomField, newSuperclass=info.magnolia.ui.field.AbstractLinkField, changeStatus=MODIFIED, compatibilityChanges=[SUPERCLASS_ADDED]]
      Feb 24, 2021 10:57:02 AM japicmp.output.incompatible.IncompatibleErrorOutput warn
      WARNING: Incompatibility detected: Requires semantic version level	 MINOR: JApiClass [fullyQualifiedName=info.magnolia.ui.field.LinkField, changeStatus=MODIFIED, compatibilityChanges=[METHOD_ABSTRACT_ADDED_IN_IMPLEMENTED_INTERFACE]]
      

      Workaround

      Exclude class in the compatibility check.

      Development notes

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              Unassigned Unassigned
              rkovarik Roman Kovařík
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: