SingingBush / barcode4j

This barcode4j fork was migrated from Sourceforge svn with full commit history
Apache License 2.0
13 stars 3 forks source link

add support for Saxon PE/EE versions 10, 11 & 12 #8

Open SingingBush opened 4 years ago

SingingBush commented 4 years ago

as part of the maven migration #5 I setup a separate sub-module for Saxon 8 support. In more recent versions of Saxon (9, 10, 11) the PE or EE version is required. These are not available through maven and require a license. I've downloaded both saxon-ee-10.6.jar and saxon-ee-11.1.jar and taken a look at what would be required to support those versions. There are definitely breaking changes in the Saxon API since Saxon 8/9. With some work it should be possible to add a barcode4j-saxon module that works on both v10 and v11 but the saxon documentation isn't great and the requirement to have a valid license of the classpath makes testing a problem.

SingingBush commented 9 months ago

This is proving to be a real pita. I've got a 30 day evaluation license and spent a few days trying to get Saxon 10/11/12 support working based on the information here: https://www.saxonica.com/html/documentation10/extensibility/instructions.html

If anyone has experience in writing xslt extensions with Saxon please get in contact.

C4J commented 2 months ago

I have some experience with Saxon HE 12.4 as I'm using it with my project Middleware4j. I was a real change from version 9.x but I'm willing to try to help.

SingingBush commented 2 months ago

Thanks I made some progress on this a few months ago but couldn't get it finished. I have an incomplete branch for this locally. I wasn't able to finish it before the trial license expired. That's also going to be a problem for CI, so tests will need to be skipped for the module in GitHub actions. I'll tidy up the branch and push it so you can take a look

C4J commented 2 months ago

Can you just clarify for me. There is a HE Home Edition which you can freely include in your project albeit calling user defined java functions is a rather cumbersome process. Are you able to use that version or do you need the commercial version of Saxon ?

SingingBush commented 2 months ago

As far as I am aware it needs to be the commercial version. I'd be happy to be proved wrong though. I should be able to push the work in progress branch in a day or two. It's on my old laptop.

SingingBush commented 2 months ago

I've pushed the branch. It's messy and incomplete. The plan was for the barcode4j-saxon module to become the one that works with Saxon 10 and above and eventually to delete the existing modules. To work on it there needs to be a valid license file on the class path. When I was working on it I just placed one in the resources directory.

C4J commented 2 months ago

Well - I will be the first one to admit my maven experience is very sketchy but try as I might I can't import this into Eclipse.

Well - I can but I have so many issues I'm stumped.

What IDE do you use for this project ?

SingingBush commented 2 months ago

I use Intellij generally but any IDE that supports Java and maven should be fine. I expect that there will be issues as it's incomplete. Looks like I may have left out some changes when I pushed as well. Perhaps just exclude the older saxon8 module for now. I'll push another commit next time I am on that machine.

SingingBush commented 1 month ago

Hi @C4J did you get it to build? I've force-pushed changes to that branch. it's worth removing your local version and checking out again. it should build for you now. I'd neglected to add some dependencies to one of the sub-projects.

C4J commented 1 month ago

Sorry for the delay on this

SingingBush commented 1 month ago

No worries. I'll need to rebase it again. Do you have a Saxon license to use when testing it?

C4J commented 1 month ago

I have a professional license which I purchased simply so I could tap into Saxonica support - I use the non commercial version in my project.

C4J commented 1 month ago

I have to appologies and admit defeat. I use Eclipse and I'm not particulary Maven savvy - and despite many many attempts to get this working in my IDE I have failed.

SingingBush commented 1 month ago

no problem, Saxon support was never published. The main priority is to continue to publish jars that serve the functionality of the existing artifacts on maven central.