[jboss-jira] [JBoss JIRA] (ELY-1572) japicmp force source compatibility, but only binary compatibility is required

Jan Kalina (JIRA) issues at jboss.org
Thu May 3 04:47:00 EDT 2018


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

Jan Kalina commented on ELY-1572:
---------------------------------

In future, we can re-enable source compatibility check and ignore adding default methods into interfaces only:
{code}
                     <plugin>
                         <groupId>com.github.siom79.japicmp</groupId>
                         <artifactId>japicmp-maven-plugin</artifactId>
-                        <version>0.11.0</version>
+                        <version>0.12.1-SNAPSHOT</version>
                         <configuration>
@@ -568,7 +568,21 @@
                             <parameter>
                                 <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
-                                <breakBuildOnSourceIncompatibleModifications>false</breakBuildOnSourceIncompatibleModifications>
+                                <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
+                                <overrideCompatibilityChangeParameters>
+                                    <overrideCompatibilityChangeParameter>
+                                        <compatibilityChange>METHOD_NEW_DEFAULT</compatibilityChange>
+                                        <binaryCompatible>true</binaryCompatible>
+                                        <sourceCompatible>true</sourceCompatible>
+                                    </overrideCompatibilityChangeParameter>
+                                </overrideCompatibilityChangeParameters>
{code}
But currently there is still bug, so METHOD_ADDED_TO_INTERFACE would have to be ignored too -> keeping source compatibility check disabled.

> japicmp force source compatibility, but only binary compatibility is required
> -----------------------------------------------------------------------------
>
>                 Key: ELY-1572
>                 URL: https://issues.jboss.org/browse/ELY-1572
>             Project: WildFly Elytron
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 1.3.0.Final
>            Reporter: Jan Kalina
>            Assignee: Jan Kalina
>
> As part of ELY-1523 japicmp was configured to force binary and source compatibility.
> By last discussion, only binary compatibility is required.
> {panel}
> *Honza Kalina*	jaspicmp reports it as source incompatibility, not as binary incompatibility - so it maybe it is false positive, as I would say it should be source-compatible...
> *Darran Lofthouse*	Binary is the only one we are really interested in, i.e. will an update to a later version of Elytron break something.  Most of our backwards compatibility strategy is more about breaking things and upsetting people
> {panel}
> Japicmp currently reports adding default method into interface as source incompatible change (see  https://github.com/siom79/japicmp/issues/201) -> blocks adding IV into MaskedPassword in ELY-867



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list