Follow-up to #90 (reviewed at 31588e1). This tracks work intentionally kept separate from the modernization PR.
Problem and evidence
The explicit descriptors in jsp/src/main/java9/module-info.java, jakarta/src/main/java9/module-info.java, and esapi/src/main/java9/module-info.java require only owasp.encoder. They do not declare reads for their external API dependencies.
Consumer execution on JDK 17 reproduced:
- Loading
org.owasp.encoder.tag.ForHtmlTag from the JSP module fails with IllegalAccessError: owasp.encoder.jsp does not read javax.servlet.jsp.api.
- The equivalent Jakarta consumer fails because
owasp.encoder.jakarta does not read jakarta.servlet.jsp.
- Calling
ESAPIEncoder.getInstance() with the adapter on the module path and ESAPI on the classpath fails because the adapter does not read the unnamed module.
The same failures occur with published 1.4.0. These are pre-existing issues, not regressions introduced by #90. Merely running jar --describe-module does not exercise these linkage failures.
Acceptance criteria
Related historical module support discussion: #66.
Follow-up to #90 (reviewed at
31588e1). This tracks work intentionally kept separate from the modernization PR.Problem and evidence
The explicit descriptors in
jsp/src/main/java9/module-info.java,jakarta/src/main/java9/module-info.java, andesapi/src/main/java9/module-info.javarequire onlyowasp.encoder. They do not declare reads for their external API dependencies.Consumer execution on JDK 17 reproduced:
org.owasp.encoder.tag.ForHtmlTagfrom the JSP module fails withIllegalAccessError:owasp.encoder.jspdoes not readjavax.servlet.jsp.api.owasp.encoder.jakartadoes not readjakarta.servlet.jsp.ESAPIEncoder.getInstance()with the adapter on the module path and ESAPI on the classpath fails because the adapter does not read the unnamed module.The same failures occur with published 1.4.0. These are pre-existing issues, not regressions introduced by #90. Merely running
jar --describe-moduledoes not exercise these linkage failures.Acceptance criteria
--add-readsor--add-opensworkarounds.Related historical module support discussion: #66.