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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to