You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Bosschaert (JIRA)" <ji...@apache.org> on 2014/03/10 12:45:43 UTC

[jira] [Updated] (FELIX-4452) org.apache.felix.http.bundle jetty dependency problem

     [ https://issues.apache.org/jira/browse/FELIX-4452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Bosschaert updated FELIX-4452:
------------------------------------

    Attachment: felix-4452.diff

>From the import range in cometd 3 I'm learning that Jetty 8 is actually backward compatible with Jetty 7.6. As they have such a wide version range [7.6, 9). So we should be able to use version 8.1.14 too with the current version of comet (2.8.0). 

Therefore the attached patch overrides the Jetty transitive dependencies of cometd and replaces them with the versions used elsewhere in the Felix http component (= 8.1.14).

Not sure whether this is the best way to solve it, so therefore a patch rather than a direct commit :)

> org.apache.felix.http.bundle jetty dependency problem
> -----------------------------------------------------
>
>                 Key: FELIX-4452
>                 URL: https://issues.apache.org/jira/browse/FELIX-4452
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>    Affects Versions: http-2.3.0
>            Reporter: David Bosschaert
>         Attachments: felix-4452.diff
>
>
> In the current trunk, the org.apache.felix.http.bundle bundle contains an inconsistency in its manifest which means it cannot resolve wrt to a package that it exports itself.
> The problem centres around this package:
>   org.eclipse.jetty.continuation
> The package is embedded in the bundle and exported in version 8.1.14. However the package is imported in the version range [7.6,8) which means that the import doesn't resolve against its own export.
> I did a little bit of digging and found that the import range stems from a transitive dependency of the org.apache.felix.http.cometd component, which has as part of its dependency tree:
> [INFO] org.apache.felix:org.apache.felix.http.cometd:jar:2.3.0-SNAPSHOT
> [INFO] ...
> [INFO] +- org.eclipse.jetty:jetty-util:jar:8.1.14.v20131031:compile
> [INFO] +- org.cometd.java:cometd-java-server:jar:2.8.0:compile
> [INFO] |  +- org.eclipse.jetty:jetty-continuation:jar:7.6.14.v20131031:compile
> As you can see, the direct dependency on Jetty is in version 8.1.14, but the transitive one coming in from cometd is in 7.6.x.
> As it's not a good idea to mix versions of the same dependency for a single component, I looked for a newer version of org.cometd.java to see if it could work with 8.1.14. I found that cometd 3 has an import range of [7.6, 9), so they have updated it there, but cometd 3 is currently unreleased. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)