Andrei Silviu Dragnea created MSHARED-1045:
----------------------------------------------

             Summary: MSHARED-1024 breaks binary backwards compatibility
                 Key: MSHARED-1045
                 URL: https://issues.apache.org/jira/browse/MSHARED-1045
             Project: Maven Shared Components
          Issue Type: Bug
            Reporter: Andrei Silviu Dragnea


[https://github.com/apache/maven-reporting-api/pull/2] breaks binary backwards 
compatibility of interface `MavenReport`, because replacing 
`org.codehaus.doxia.sink.Sink` with `org.apache.maven.doxia.sink.Sink` changes 
the signature of method:
{code:java}
void generate( Sink sink, Locale locale ) throws MavenReportException;{code}
So nothing compiled against version `3.0` of the `maven-reporting-api` works 
with `3.1.0` anymore.

I suggest either reverting this commit in a new release or updating the code in 
a backwards-compatible manner with two mutually recursive default 
implementations for both the old and new signature (this requires Java 8 
support though):

 
{code:java}
@Deprecated
default void generate( org.codehaus.doxia.sink.Sink sink, Locale locale ) 
throws MavenReportException {
    generate((Sink) sink, locale);
}

default void generate( Sink sink, Locale locale ) throws MavenReportException {
    generate((org.codehaus.doxia.sink.Sink) sink, locale);
} {code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to