I tend to agree with Eric here. Maven exists to simplify getting compatible levels of packages. Apache packages should participate in that ecosystem.

On 4/11/2023 1:29 AM, Mukul Gandhi wrote:
Hi Eric,

On Mon, Apr 10, 2023 at 10:40 PM Eric J. Schwarzenbach
<eric.schwarzenb...@wrycan.com> wrote:

This isn't about what is used to build Xalan, but about what Xalan's
users use to build their projects and ensure they use Xalan with correct
dependencies. Maven is what a large chunk of Java users use for
dependency management, and they typically expect to be able to pull the
dependency definitions from Maven central. Of course they can each
individually set this up locally instead, but it is more ideal to have
central source of correct information. Maven central serves that role
and contains such definitions for previous versions of Xalan.

Of course the Xalan devs do not necessarily have to be the ones
submitting this to maven central, some Xalan user more familiar with
maven, like Richard or myself, could probably step up and do this.
However it would be helpful for a Xalan dev to chime in regarding the
correct / necessary versions of dependencies. I posted a query for
clarification about one such dependency version recently (xml-apis.jar)
to this list but have not as yet seen a reply. Perhaps it will help to
give more context, if you are not a maven user yourself.

Typically when a Maven user sets up the maven dependency definitions for
a new version of something, they will start with the previous versions
definitions as a starting point. The definitions in maven central for
Xalan 2.7.2, declares two (compile) dependencies: xercesImpl 2.9.1 and
serializer 2.7.2. Note that such dependency declarations will cause a
user's project build to pull in these dependencies automatically, so a
projecting declaring xalan 2.7.2 will get xercesImpl 2.9.1
automatically. Some users like myself, have project that also depend on
xerces directly and realize that newer versions of xerces have come out
and define their project to reference a newer version of xerces like
2.12.2.

xercesImpl in turn has a maven definition that declares a dependency on
xml-apis. xercesImpl 2.12.2 specifies xml-apis 1.4.01. The is the latest
version of xml-apis appearing in Maven central (ignoring the versions
2.0.0 and 2.0.2 which are actually older than 1.4.01...I forget the
story there.)

To reiterate my earlier query, I notice that the jars included with the
xalan 2.7.3 download include an xml-apis that seems to be version
1.4.02. Is it necessary or in some way desirable to use xalan 2.7.3 with
that version of xml-apis rather than to let the xercesImpl dependency
pull in xms-apis 1.4.01? If so, maybe we need to declare that as direct
dependency of the xalan maven definition, and load that artifact to
maven central also. But where does it come from? What project manages
and produces this jar?

Any advice here would be much appreciated by maven users, either for
setting up their own local maven dependency definitions, or (preferably)
for someone to submit a canonical definition to maven central.
XalanJ is a special Java library, within the Java language ecosystem.
XalanJ is part of JDK itself (as an implementation of, JAXP XSLT and
XPath APIs. Ref,
https://www.oracle.com/java/technologies/jaxp-introduction.html). I
think, its better if, XalanJ project distributes its jars as
standalone downloadables (as has been done, with XalanJ 2.7.3 with its
Ant build), and let XalanJ users configure these jars within for e.g
Maven build environment however XalanJ users wish.


Reply via email to