Hi Mukul,
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.
Thanks,
Eric
On 4/7/23 02:40, Mukul Gandhi wrote:
Hi Richard,
On Thu, Apr 6, 2023 at 5:08 PM Richard Atkins <richatk...@atlassian.com> wrote:
I'm so happy to see that 2.7.3 is finally released, and available for download
from xalan.apache.org. One question though: will you be publishing this to
maven any time soon? It looks like the xalan-java repo doesn't have any ivy.xml
configuration, so it would need to be configured following the docs in
https://infra.apache.org/publishing-maven-artifacts.html . And it would be a
good idea for the release docs to be updated to reference it too.
The Apache project release process, allows apache projects to follow a
Maven or Ant based build process. XalanJ currently has a build
process, based on Ant, because of which we build XalanJ via Ant build
tooling. XalanJ releases, its builds as stand-alone jars (packaged
within a .zip or tar.gz files), which can be downloaded and used by
users.
I believe, XalanJ users can fairly easily, locally configure their
Maven builds to use the Apache released XalanJ.