[
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)