Alexander Kriegisch created XALANJ-2713:
-------------------------------------------
Summary: Relocate dependencies shaded into XalanJ JARs
Key: XALANJ-2713
URL: https://issues.apache.org/jira/browse/XALANJ-2713
Project: XalanJ2
Issue Type: Improvement
Security Level: No security risk; visible to anyone (Ordinary problems in
Xalan projects. Anybody can view the issue.)
Components: Xalan
Affects Versions: 2.7.3
Reporter: Alexander Kriegisch
Assignee: Gary D. Gregory
Currently, the {{xalan:xalan}} artifact contains classes from
* {{org.apache.bcel:bcel}},
* {{com.github.vbmacher:java-cup-runtime}},
* {{regexp:regexp:jar:1.3}}.
The question of whether that makes sense at all instead of letting users rely
on dependencies defined in POMs is separate from this issue. Maybe it is
necessary to build a stand-alone version of Xalan, usable as a command line
tool. I am not a Xalan user, so I do not know. For use as a library, it is
definitely unnecessary with modern build management tools like Maven or Gradle.
Either way, the classes are shaded into the Xalan JAR, but not relocated, e.g.
from {{org.apache.bcel}} to {{org.apache.xalan.bcel}}. I.e., any consuming
project which itself uses any of the shaded, unrelocated libraries might
experience problems with duplicate classes on the class path, making it a
lottery which ones are found in case of non-identical versions. This can lead
to all sorts of problems, ranging from compilation issues to weird, hard to
debug runtime behaviour.
Therefore, I suggest to relocate third-party dependencies in future releases.
Even though it might be a breaking change for users naively relying on the
existence and and actively using the dependency classes, even though their
original libraries are not actually on the class path, this should be done and
clearly documented in the release notes.
[~jkesselm], I have created this issue, because our related discussion in
https://github.com/apache/xalan-java/pull/132 is actually off topic. My own
fault to start it there, sorry.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]