Hello Team,
While sitting down to fix task JAVASERVERFACES-2028 in earnest, I
discovered some issues with the official jars on which JSF depends.
JSF Depends on the following artifacts:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
I have verified these are in maven central, and the staging area
<
https://maven.java.net/content/repositories/releases/> as well.
I have discovered some problems with the OSGi metadata in these jars,
with the first one being a showstopper for me completing the work for
JSF.
SECTION: jstl-api-1.2.jar
EB> URGENT: The MANIFEST.MF for this jar is completely missing the
EB> required metadata. In fact, the manifest is nearly empty:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: janey
Build-Jdk: 1.6.0_17
EB> Also, the jar name itself does not conform to the Maven and OSGi
EB> packaging, naming, and versioning rules. All the other jars on
EB> which JSF depends start with "javax." but the JSTL jar does not.
SECTION: javax.el-api-2.2.1.jar
Export-Package: javax.el;version="2.2.1"
Import-Package: javax.el;version="2.2.1"
EB> Why are we exporting and importing the same thing?
Bundle-License:
https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html
EB> I believe this should be
EB>
http://glassfish.java.net/nonav/public/CDDL+GPL.html
Bundle-Description: Java.net - The Source for Java Technology Collabor
ation
EB> I think this should be a real description.
Bundle-DocURL:
http://glassfish.org
EB> Shouldn't this be the pointer to the API javadocs?
SECTION: javax.servlet-api-3.0.1.jar
Export-Package: javax.servlet;uses:="javax.servlet.descriptor,javax.se
rvlet.annotation";version="3.0",javax.servlet.descriptor;version="3.0
",javax.servlet.annotation;uses:="javax.servlet";version="3.0",javax.
servlet.http;uses:="javax.servlet";version="3.0"
EB> Shouldn't the exported versions be 3.0.1, to match the maven version
EB> of the artifact, and, indeed, the OSGi Bundle-version?
Bundle-License:
https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html
Bundle-Description: Java.net - The Source for Java Technology Collaboration
EB> Same comment as for the EL artifact
Import-Package: javax.servlet;version="3.0",javax.servlet.annotation;v
ersion="3.0",javax.servlet.descriptor;version="3.0",javax.servlet.htt
p;version="3.0"
EB> Again, I'm wondering why this imports itself.
SECTION: javax.servlet.jsp-api-2.2.1.jar
Export-Package: javax.servlet.jsp.el;uses:="javax.servlet,javax.el,jav
ax.servlet.jsp,javax.servlet.http";version="2.2.1",javax.servlet.jsp.
tagext;uses:="javax.servlet.jsp";version="2.2.1",javax.servlet.jsp;us
es:="javax.servlet,javax.el,javax.servlet.jsp.el,javax.servlet.jsp.ta
gext,javax.servlet.http";version="2.2.1"
Tool: Bnd-0.0.255
Import-Package: javax.el,javax.servlet,javax.servlet.http,javax.servle
t.jsp;version="2.2.1",javax.servlet.jsp.el;version="2.2.1",javax.serv
let.jsp.tagext;version="2.2.1"
EB> Same comment as for the EL artifact
Bundle-License:
https://glassfish.dev.java.net/nonav/public/CDDL+GPL.h
tml
Bundle-Description: Java.net - The Source for Java Technology Collabor
ation
EB> Same comment as for the EL artifact
Bundle-DocURL:
http://glassfish.org
EB> Same comment as for the EL artifact
--
| edward.burns_at_oracle.com | office: +1 407 458 0017
| homepage: |
http://ridingthecrest.com/