stapler-jelly currently depends on a patched version¹ of dom4j, the original of which was released thirteen years ago. Current releases support Java 8, etc.
A simple
diff --git a/jelly/pom.xml b/jelly/pom.xml
index 8aa4ec8d7..725f2ba56 100644
--- a/jelly/pom.xml
+++ b/jelly/pom.xml
@@ -32,9 +32,9 @@
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
- <groupId>org.jenkins-ci.dom4j</groupId>
+ <groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
- <version>1.6.1-jenkins-4</version>
+ <version>2.1.1</version>
</dependency>
<dependency><!-- only needed for annotations, hence optional -->
<groupId>org.jvnet.maven-jellydoc-plugin</groupId>
does not work because of an API added to HtmlWriter used by Stapler's HTMLWriterOutput.
To be done:
- Write a unit test for HTMLWriterOutput demonstrating whatever it is supposed to do.
- Replace the missing setEnabled call. Perhaps just use Proxy to make a ContentHandler that dynamically switches between XMLWriter and HTMLWriter. That obviates the need for this patch. Close this PR accordingly.
- File an upstream PR for the static keyword addition from that patch.
- Update to 2.1.1 or newer. PR should link to this.
- File an upstream PR for this minor-looking improvement.
- Determine if this patch is even useful. If so, it can be done via the official getOmitElementCloseSet + setOmitElementCloseSet API.
- Forget about this patch since
JENKINS-13709is just one of many evil consequences of using maven-plugin. - Recheck
JENKINS-46616which I think is not an issue in current library releases.
danielbeck is there some epic or label for issues proposing to switch from forked to official versions of libraries in Jenkins?
¹Using a different GA, no less. Noticed here: causes mayhem for plugins depending on the database plugin.
- relates to
-
JENKINS-13709 ClassCast Exception when parsing JUnit surefire reports during website generation
-
- Resolved
-
-
JENKINS-46616 [JDK9] Illegal reflective access from dom4j
-
- Closed
-