You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "J.W. Janssen (JIRA)" <ji...@apache.org> on 2014/02/18 10:13:19 UTC

[jira] [Commented] (FELIX-4427) Create separate API bundle

    [ https://issues.apache.org/jira/browse/FELIX-4427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13903889#comment-13903889 ] 

J.W. Janssen commented on FELIX-4427:
-------------------------------------

+1, currently the Servlet APIs export themselves as version 3.0, which breaks most of the existing bundles that uses an import of "[2.1,3.0)" (this is a pending todo on my list). Creating a separate servlet API project makes it easier to maintain the version bumps in the servlet API now and in the future...


> Create separate API bundle
> --------------------------
>
>                 Key: FELIX-4427
>                 URL: https://issues.apache.org/jira/browse/FELIX-4427
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>    Affects Versions: http-2.2.1
>            Reporter: Felix Meschberger
>
> Currently the Servlet API is exported from the Http Service Bundle bundle and the Jetty bundle.
> In a typical web application a large number of bundles will typically wire to the Servlet API and to the Http Service API. To detach the application from the Http Service implementation, if would be usefull to have the APIs fully detached from the implementations.
> As such, I suggest we do not export the Servlet API from the Jetty bundle but expect the Servlet API to be exported from somewhere else.
> As the Http Service Bundle bundle is a convenience all-in-one bundle, it does not hurt for this bundle to export the API.
> To help solve the versioning problem, I actually think we should create our own Servlet API bundle. The versioning problem is that the Servlet API 3.0 spec is actually backwards compatible with Servlet 2.5 but chose to upgrade the specification major version. Unfortunately that does not play well with semantic versioning when applying the specification version to the API exports (as is customarily but wrongly done).
> So, our bundle should:
> - be based on the Tomcat Servlet API library (since this is ASL2 licensed and can easily be included)
> - export Servlet API at version 2.6 (which is a custom compromise) as well as version 3.0
> - also Provide-Capability for the Servlet API capability



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)