Project

Profile

Help

Bug #5195

closed

Maven Source Code of HE 10.3, 10.5 and 10.6 do not compile

Added by Svante Schubert over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Sprint/Milestone:
-
Start date:
2022-01-01
Due date:
% Done:

0%

Estimated time:
Legacy ID:
Applies to branch:
10
Fix Committed on Branch:
Fixed in Maintenance Release:
Platforms:
Java

Description

As a Java developer, I download Saxon-HE binaries as a dependency via the Maven repository. For debugging the SAXON source code will be downloaded as well and usually, I am able to build a project with the provided pom.xml at Maven.

Unfortunately, the Maven Source Code of HE 10.3, 10.5 and 10.6 do not compile!

The fix of 10.3 was tiny: https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/commit/616453e0c484ce8a92dc4127c219a9fb751c85df

The fix of 10.5 was easy: https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/commit/279ab0f7a0ba2c26dc7b37d20d214fa4c7d3b13c

The fix of 10.6 is impossible as barely source code is being provided in the JAR:

The fix for the pom.xml may look like the following: A working pom.xml for 10.3 may look like this: https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/blob/Saxon-HE-v10.3/pom.xml For 10.5 like this: https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/blob/Saxon-HE-v10.5/pom.xml

Please node that the library you are likely using:

    <dependency>
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <version>2.14.6</version>
      <optional>true</optional>

has a new group-id and is continued as:

    <dependency>
        <groupId>**org.**jline</groupId>
        <artifactId>jline</artifactId>
        <version>3.21.0</version>
        <optional>true</optional>
    </dependency>

but the latter/newest one is not compiling with your sources. see https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/blob/Saxon-HE-v10.3/pom.xml#L128

I have just improved my tooling to combine your Maven artefacts (bin/jar/pom) to create a buildable version on a branch and I am constantly rebasing my changes on top of them (as decimal-based floating-point IEEE 754 (since 2008) is not allowed by XSL 1.1 (2007 ). Even have an automated script. you may reuse parts for your testing: https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/blob/accuracy-feature/saxon-update.sh

But just after finishing my work today, I have realized your new Git repo. Have not identified the 10.6 sources of the Maven bundle and it does not fix the Maven Source/pom problem at the Maven repo. I very much do like your signing of Java Source files of the Maven Saxon-HE source JAR with signed hashes in the META-INF of the JAR, but if the classes are not buildable they are surely not the ones that I am running, right?

Looking forward to meeting you all again in Prag (in some future...)

Happy New Yeary especially to the Saxon team! Svante

Actions #1

Updated by Michael Kay over 2 years ago

  • Assignee set to Norm Tovey-Walsh
Actions #2

Updated by Norm Tovey-Walsh over 2 years ago

Thank you, Happy New Year, and apologies for the inconvenience. I shall have to investigate what's gone wrong in building the Maven packages.

Actions #3

Updated by Norm Tovey-Walsh over 2 years ago

The build script definitely failed to construct useful sources jar. Sorry about that.

I've applied the proposed DOM4JNodeWrapper fix, so that shouldn't be an issue in the future.

I can't reproduce the import com.saxonica... problems that you saw in the 10.5 sources. I'm going to guess that we noticed and corrected that after the 10.5 release.

Actions #4

Updated by Norm Tovey-Walsh over 2 years ago

I believe that jline is only used in the command line tool for Gizmo. The jline API changed in v3 and we haven't updated Gizmo to use the latest version. In the short term depending on the V2 api should be fine.

Actions #5

Updated by Norm Tovey-Walsh over 2 years ago

I think I've fixed the errors so that we're building a correct sources jar again. Unfortunately, there's no way to update the release on Maven except to make a 10.6.1 release.

How urgently do you need a resolution? Could it wait until the next maintenance release? Would sending you a corrected jar file help?

Actions #6

Updated by Svante Schubert over 2 years ago

Thank you very much for your fixes, we can wait for the next release, Norm!
May I suggest that you use in the future your Maven repo given pom.xml for
a smoke test build, so I will never write such an issue again? ;-)
Thank you very much for the quick fix! Looking forward to your next release!
Svante

Actions #7

Updated by Norm Tovey-Walsh over 2 years ago

  • Status changed from New to Resolved

Thanks. Yes, I have a couple of background "todo" items (a couple, cough) around improving regression testing and building a smoke test with the distribution artifacts is one of them!

Actions #8

Updated by Svante Schubert over 2 years ago

One last thing, perhaps you might want to consider adding those resources
(e.g. XSL files) that are currently only available in the Maven JAR of
binaries as well to the Maven source JAR,
see file suffixes of
https://github.com/svanteschubert/Saxon-HE-enhanced-accuracy/blob/accuracy-feature/saxon-update.sh#L72
It would be nice if all artefacts within the binary JAR could be created
from the source JAR.

Finally, thinking it over, why are there HASHes of every Java file being
signed within the JAR? Wouldn't it be sufficient to have one single hash
for the complete JAR?

Just some thoughts but maybe they were worth being stated ;-)

Have a great week!
Svante

Actions #9

Updated by O'Neil Delpratt about 2 years ago

  • Fixed in Maintenance Release 10.7 added

Bug fix applied in the Saxon 10.7 maintenance release. Closing this bug issue. If the problem still exists please reopen.

Actions #10

Updated by O'Neil Delpratt about 2 years ago

  • Status changed from Resolved to Closed

Please register to edit this issue

Also available in: Atom PDF