On 22/06/20 16:58, Cédric Damioli wrote: > Le 22/06/2020 à 15:29, Francesco Chicchiriccò a écrit : >> On 22/06/20 12:11, Cédric Damioli wrote: >>> Le 22/06/2020 à 08:57, Francesco Chicchiriccò a écrit : >>>> On 21/06/20 22:11, Cédric Damioli wrote: >>>>> I just tested with JDK 1.6 and it worked fine (my exact JDK version is >>>>> 1.6.0_18, Windows version). >>>> Mine is 1.6.0_45 (Linux) e.g. the one you can download at the moment from >>>> Oracle. >>>> >>>>> I'm a bit worried if we must change to 1.8, as Cocoon 2.1.x is supposed >>>>> to be compatible with 1.6. >>>>> Furthermore, javac claims about a RESyntaxException being not catched, >>>>> but it's actually a RuntimeException, so I don't see the problem ... >>>> The actual issue seems to be the fact that RESyntaxException is contained >>>> either by >>>> >>>> ./lib/endorsed/jakarta-regexp-1.5.jar >>>> >>>> and >>>> >>>> ./lib/endorsed/xalan-2.7.2.jar >>>> >>>> with the former extending RuntimeException and the latter extending >>>> Exception; so it actually depends on which one is picked during build, I'd >>>> say. >>>> >>>> Since all classes from the former JAR are included by the latter JAR, I >>>> think we should remove jakarta-regexp, but this will not solve the build >>>> problem, it will only make it more consistent - which I also believe it is >>>> better. >>>> >>> Ok, understood. I was wondering why did this never happen before ? >>> jakarta-regexp-1.5 and xalan are used since 10+ years together >>> I just found than Xalan has been upgraded to 2.7.2 last year. Before that, >>> our provided xalan-2.7.1 did not embed org.apache.regexp package >>> Did we had our own xalan version ? >>> >>> BTW, a similar issue was raised 15 years ago :) : >>> https://issues.apache.org/jira/browse/COCOON-1576 >> I was able to build (and run some tests - not all because I had not time to >> look up for HTMLUnit) with the changes embedded in this commit: >> >> https://github.com/ilgrosso/cocoon/commit/c438857f594d770d865f4e8b7244b5fda026f6b2 >> >> As you can see from there, I have: >> >> * removed jakarta-regexp-1.5 and introduced CocoonRESyntaxException to wrap >> RESyntaxException >> * replaced jakarta-bcel-20040329.jar (there were compilation errors) with >> bcel-5.2.jar - because of some visibility change, I introduced CocoonFrame >> >> Please have a look and let me know: in case we are fine with such changes, I >> would svn-commit to BRANCH_2_1_X and set COCOON-1576 as fixed in 2.1.13. > > 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. -- Francesco Chicchiriccò Tirasa - Open Source Excellence http://www.tirasa.net/ Member at The Apache Software Foundation Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail http://home.apache.org/~ilgrosso/