hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Iwan Aucamp (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HTTPCLIENT-1558) Problematic OSGi bundling
Date Sat, 04 Oct 2014 22:28:34 GMT
Iwan Aucamp created HTTPCLIENT-1558:
---------------------------------------

             Summary: Problematic OSGi bundling
                 Key: HTTPCLIENT-1558
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1558
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient
    Affects Versions: 4.3.5
         Environment: Linux, Karaf
            Reporter: Iwan Aucamp


org.apache.httpcomponents:httpclient-osgi:4.3.5 includes some class files from org.apache.httpcomponents:httpcore-osgi:4.3.2
and also exports the same packages. This causes some problems for karaf (and presumably other
OSGi containers).

{noformat}
karaf@root> osgi:install -s mvn:org.apache.httpcomponents/httpcore-osgi/4.3.2
Bundle ID: 56
karaf@root> osgi:install -s mvn:org.apache.httpcomponents/httpclient-osgi/4.3.4
Bundle ID: 57
karaf@root> osgi:update --force org.apache.httpcomponents.httpcore/4.3.2
karaf@root> osgi:update --force org.apache.httpcomponents.httpclient/4.3.4
Error executing command: Uses constraint violation. Unable to resolve bundle revision org.apache.httpcomponents.httpclient
[57.1] because it is exposed to package 'org.apache.http.io' from bundle revisions org.apache.httpcomponents.httpcore
[56.1] and org.apache.httpcomponents.httpcore [56.0] via two dependency chains.

Chain 1:
  org.apache.httpcomponents.httpclient [57.1]
    import: (&(osgi.wiring.package=org.apache.http.io)(version>=4.3.0)(!(version>=4.4.0)))
     |
    export: osgi.wiring.package=org.apache.http.io
  org.apache.httpcomponents.httpcore [56.1]

Chain 2:
  org.apache.httpcomponents.httpclient [57.1]
    import: (&(osgi.wiring.package=org.apache.http.impl.entity)(version>=4.3.0)(!(version>=4.4.0)))
     |
    export: osgi.wiring.package=org.apache.http.impl.entity; uses:=org.apache.http.io
    export: osgi.wiring.package=org.apache.http.io
  org.apache.httpcomponents.httpcore [56.0]
{noformat}

232 class files are in both bundles:

{noformat}
$ comm -1 -2 <( mop get org.apache.httpcomponents:httpclient-osgi:4.3.5 | head -1 | xargs
-I{} bsdtar -tf {} | sort ) <( mop get org.apache.httpcomponents:httpcore-osgi:4.3.2 |
head -1 | xargs -I{} bsdtar -tf {} | sort ) | grep '\.class$' | wc -l
232
{noformat}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message