Also just noticed that I changed lib/schemas/web-facesconfig*.xsd + lib/schemas/web-jsptaglibrary_2_1.xsd with my global search + replace, I will revert these changes, as we can expect new xml schemas will be created for Jakarta EE 9, instead of updating these existing ones.
Scott
On Thu, Mar 26, 2020 at 9:37 AM Scott Marlow <smarlow@xxxxxxxxxx> wrote:
Thanks for the response Alwin, I appreciate hearing from you.
I just started preparing a change for javax.el => jakarta.el and am reminded of the docker/fix_classpaths.sh script, which I think our CI is using (via "Jenkinsfile" in root of tck repo), to update the ts.jte properties. So that could be a possible way to temporarily alter the classpath values in ts.jte for building + running the TCK on Jenkins CI.
I was also reminded (from git diff output) of the docker/scripts/tcks/eltck.sh file which I think needs to sync up with EL TCK settings, my quick global and replace, made the following change, which might not be needed yet or perhaps that should be done separately (later):
-sed -i "s#^el\.classes=.*#el.classes=$TS_HOME/lib/javatest.jar:$TCK_HOME/glassfish5/glassfish/modules/javax.el.jar#g" ts.jte +sed -i "s#^el\.classes=.*#el.classes=$TS_HOME/lib/javatest.jar:$TCK_HOME/glassfish5/glassfish/modules/jakarta.el.jar#g" ts.jte To do the global search + replace, I'm using:
ag --ignore .git -l javax.el| xargs sed -i 's/javax\.el\./jakarta\.el\./g'
I'll revert the docker/scripts/tcks/eltck.sh change for now.
Thanks for noticing the failure. This was supposed to be a
temporary change but it was not enough to get the build passing.
As you observed the classpath values in ts.jte will also need a
change to include the jar.
I can see that jakarta.jakartaee-api-9.0.0-RC1.jar contains
jakarta.ejb.* classes, but I suspect that we need to do more
for switching to build the TCK with use of jakarta.ejb in TCK
sources, as the nightly build compile step fails to import
jakarta.ejb classes:
"
compile:
[ts.javac] Compiling 65 source files to /home/jenkins/agent/workspace/jakartaee-tck_master/classes
[ts.javac] Picked up JAVA_TOOL_OPTIONS: -Xmx6G
[ts.javac] /home/jenkins/agent/workspace/jakartaee-tck_master/src/com/sun/ts/tests/interop/csiv2/common/CSIv2AppClient.java:25: error: package jakarta.ejb does not exist
[ts.javac] import jakarta.ejb.*;
"
Should we replace {ri.modules}/jakarta.ejb-api.jar in the ts.jte with jakarta.jakartaee-api-9.0.0-RC1.jar (either in the Jenkins job or via change to ts.jte)?
Will the GlassFish jakarta.jakartaee-api always contain all
of the spec api classes? If yes, then it may work to update
ts.jte to use that (once all of the javax references are
changed to jakarta namespace).