commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [BCEL] Breaking changes in 6.1 needed by Tomcat (?)
Date Wed, 30 Aug 2017 14:37:58 GMT
We recently dealt with this kind of compatibility issue in Log4j 2 and we
decided to subclass the interface in question. I suggest we do the same
here. Not pretty but it is type safe and bullet-proof.

Gary

On Tue, Aug 29, 2017 at 5:17 AM, sebb <sebbaz@gmail.com> wrote:

> On 28 August 2017 at 20:07, Gary Gregory <garydgregory@gmail.com> wrote:
> > The question is whether this breaks binary compatibility. If it does,
> this
> > needs fixing. Unless there are other important changes that warrant a
> major
> > version, I would go the sub-interface route; ugly, but workable within
> the
> > same major release.
>
> According to [1], it seems it does not.
>
> However it will break source compatibility if a 3rd party implements
> the interface.
>
> Also I seem to remember there were some concerns about the downstream
> effect for 3rd party visitor implementations.
>
> IIRC it was that BCEL will expect to be able to invoke the new
> methods; this will fail.
> There may be ways around this by catching the exception.
>
> The dev list should have the details.
>
> [1] https://docs.oracle.com/javase/specs/jls/se8/html/jls-13.html
>
> > Gary
> >
> > On Mon, Aug 28, 2017 at 12:58 PM, Benedikt Ritter <britter@apache.org>
> > wrote:
> >
> >> Hi,
> >>
> >> Rev. 1782852 [1] has introduced two breaking changes by adding the
> methods:
> >>
> >> public void visitAnnotation(org.apache.bcel.classfile.Annotations)
> >> public void visitAnnotationDefault(org.apache.bcel.classfile.
> >> AnnotationDefault)
> >>
> >> to the interface org.apache.bcel.classfile.Visitor. The commit comment
> >> indicates that these changes are needed by the Tomcat project. How do we
> >> want to deal with this for the upcoming 6.1 release? I see several
> options:
> >>
> >> - accept these changes and make it explicit in release notes
> >> - add a new interface which extends from the Visitor interface and add
> the
> >> new methods to that interface
> >> - major version bump (probably not the best idea…)
> >>
> >> Thoughts?
> >> Benedikt
> >>
> >> [1] http://svn.apache.org/viewvc?view=revision&revision=1782852 <
> >> http://svn.apache.org/viewvc?view=revision&revision=1782852>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message