Le 24/06/2020 à 08:57, Francesco Chicchiriccò a écrit :
On 23/06/20 23:20, Cédric Damioli wrote:
<snip/>

Why not, but are we sure that we won't have regressions due to downgrade of 
jakarta-regexp (the xalan bundled version is 1.2 AFAIU) ?

  From a design POV, I find it quite strange to rely on an XSLT lib (ie Xalan) 
to provide regexp processing.
Could it be better to remove org.apache.bcel and org.apache.regexp from the 
xalan jar and keep the existing librairies ?
I suppose that was how it has been done previously for xalan-2.7.1
It seems you are quite right.

I took cocoon-2.1.12-deps.tar.gz from

http://cocoon.apache.org/mirror.html

then extracted

lib/endorsed/xalan-2.7.1.jar

and found that it is *not the same* you can download from Maven Central under

https://repo1.maven.org/maven2/xalan/xalan/2.7.1/xalan-2.7.1.jar

but that it matches the one you can download from

http://archive.apache.org/dist/xalan/xalan-j/binaries/xalan-j_2_7_1-bin-2jars.zip

because it does not contain any org.apache.bcel.* nor any org.apache.regexp.* 
class.

So I went ahead and replaced the current

lib/endorsed/xalan-2.7.2.jar

in the source tree with the one contained in

http://archive.apache.org/dist/xalan/xalan-j/binaries/xalan-j_2_7_2-bin-2jars.zip

and all went out smoothly.

Problem solved :-)
Regards.

It can't be that easy :)
The xalan-2.7.2 you just uploaded does not contains xsltc, whereas the previous 
xalan-2.7.1 did contain it.
And the xsltc.jar comes bundled with cled and regexp.

But you're completely right, it seems we did not have an official xalan jar.

My suggestion, to preserve legacy behaviour, is to remove 
org.apache.(bcel|regexp).* from the full xalan jar.

What do you think ?
Well, in this era of reproducible builds, taking another project's dist 
artifact, mangle it and include it our own sources looks a bit... weird.

At least, the current file comes actually unchanged from Xalan's release 
artifact.
I totally agree. But the Cocoon 2.1.x build system was made in a pre-(ivy|maven) era and I think we don't want to take the time to re-engineer it.

Maybe we could do as you suggest - e.g. restore the previous xalan-2.7.2.jar 
and strip out the indicated classes - but also renaming it somehow, e.g. 
xalan-2.7.2-cocoon-2.1.13.jar and adding some explanation in lib/jars.xml about 
how we obtained this JAR from official Xalan's JAR.

Does it sound reasonable?

+1 with your proposal

Regards,
Cédric

Reply via email to