On Mon, 2014-01-27 at 15:32 -0500, Gary Gregory wrote: > The first thing I'd like to suggest is avoiding the term 're-spin' in the > name of the component. To me re-spin means to retry a release. For example, > I cut an RC1, problems are found, so we need a re-spin to an RC2. Since > this is a different component, I'd just call it 'HttpClient for Android', > nice and simple. But this may not matter in the end because... it sounds > like 4.0 and 4.3 are not binary compatible (BC). > > So let's start with that, is that so? I'm looking at our site and I cannot > find reports like Clirr and on so. Granted in the case of HttpClient I > would expect a Clirr of 4.3.2 vs. 4.3.1, which would not tell me anything > vs 4.0. Looking at the release notes, it looks like there have been of API > changes that break BC, for example from 4.1 to 4.2. >
All releases of HttpClient 4.x are backward compatible with 4.0 > Over in the Apache Commons project, the general guideline is that when you > break BC, you use a new package name and new Maven coordinates. See lang -> > lang3 and pool -> pool2 for example. If the BC break is > > If you do not do this, you are creating jar hell. > Jar hell on Android has already been created for us. > A classic jar problem is if I depend on a third party jar that depends on > HC 4.0, then I cannot write my app to anything else but 4.0. If HC 5 is in > a new package, then I can happily use HC5 and the guts of the third party > jar can happily use HC4. Yes, they would not be re-using the same caches > for example but at least there would be no surprises. > This is a completely different situation. This is not a new version of HttpClient. It is a port. Its main goal is to provide a version of HttpClient compatible with Android. > > Adding copies of a bunch of classes with an HC4 postfix seems worse (to me) > than another copy of HC in a new package. > By moving classes to a different package we would end up creating a pointless fork _both_ incompatible with the version shipped with Android and the stock 4.3 version. It just makes no sense. Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
