Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [orbit-dev] Multiple bundle recipes for httpclient-* vs. a single one for httpclient-osgi?

Hi Roland,

> So this comes down to basically whether we bring 2 extra bundles
> (httpclient-cache, httpcomponents-fluent), or whether we simply refer to
> the httpclient-osgi (containing both) one in maven central and switch our
> existing orbit-recipes generated bundle to use that GAV.

exactly.

Both approaches carry some risk of breakage:

- Two extra bundles increase the risk of wiring issues (missing uses
directives, etc.)

- Using httpclient-osgi introduces some special OSGi code which so far
has not been part of an Orbit bundle (whereas httpclient-cache and
httpclient-fluent were present in their 4.3.x incarnation).

> I can clearly see that maven central does contain finer grained and
> aggregated dependencies for this stack so my argument about the finer
> grained approach being more popular isn't right.

I don't understand this sentence, sorry.

> I suppose we need to file a separate CQ for httpclient-osgi since it
> may container additional things on top of just httpclient-cache, and
> httpclient-fluent ? Feel free to do so and when it's approved we can
> just change the GAV being pulled in by orbit-recipes, and address the
> osgi.bnd file with any changes. This will be targeted for M6 which
> will be the last chance to make such changes.

I just did a diff between the contents of
org.apache.httpcomponents.httpclient_4.5.2.v20161115-1643.jar currently
in Orbit and httpclient-osgi-4.5.2.jar from Maven Central. The latter
contains indeed a bit more code:

- A shaded org.apache.httpcomponents:httpclient-cache:4.5.2
- A shaded org.apache.httpcomponents:httpclient-mime:4.5.2
- A shaded org.apache.httpcomponents:fluent-hc:4.5.2

All this is expected and shouldn't cause any problems. But then there is
also

- A shared commons-codec:commons-codec:1.9

That this is shaded rather than an imported is odd. (Also, we would need
a CQ for this, as Orbit contains only 1.6.0 of commons-codec.)

And then there is this addition in httpclient-osgi:

- The org.apache.http.osgi.* packages and an OSGI-INF/metatype directory

I am not sure whether these would do any harm.

I think I will try putting together recipes for both approaches, build
AERI with either and see whether anything breaks when installed into M5.

Does this sound reasonable?

Best wishes,

Andreas

-- 
Codetrails GmbH
The knowledge transfer company

Robert-Bosch-Str. 7, 64293 Darmstadt
Phone: +49-6151-276-7092
Mobile: +49-170-811-3791
http://www.codetrails.com/

Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940

Attachment: signature.asc
Description: OpenPGP digital signature


Back to the top