Menu

Module System support

Help
2023-08-20
2023-08-21
  • Ethan McCue

    Ethan McCue - 2023-08-20

    Hi there!

    Would it be possible to add a module-info to the jar distributed for
    jericho?

    A few of us in the wider community would like to use the jlink/jpackage
    flow more often and to be able to recommend others do the same.

    Without a module-info, if Jericho is a dependency (no matter how deep down
    the tree) then folks need to manually figure out what modules it depends
    on + configure their build tool to account for that.

    The technical solution here is pretty straightforward - compile a
    module-info.java at language level 9 and put it in a multi release jar
    (module-info.class under META-INF/versions/9/ and a Multi-Release: true in
    the MANIFEST.MF) - but I understand it might be tricky depending on how the
    build is set up currently.

    I am also more than willing to help with the build stuff if you need or
    want. (need to figure out wtf bazaar is first i think)

     
  • Martin Jericho

    Martin Jericho - 2023-08-21

    Hi Ethan,

    Thank you for the suggestion. Yes I got a request for this already last year:
    https://sourceforge.net/p/jerichohtml/bugs/93/

    The biggest barrier at the moment is the fact that I implemented a new major feature a few years ago (a web crawler API) but it remains poorly documented, and could probably use a couple of minor enhancements before it is officially released. That means all bug fixes since then have just gone into the DEV release:
    http://jericho.htmlparser.net/temp/jericho-html-3.5-dev.zip

    The DEV release is very stable, with no known bugs, and recommended for production use. I just haven't released it officially yet because of the missing documentation.

    That DEV download probably includes updates that I never committed to the Bazaar repository, so you should consider that one the latest version. In fact I don't even remember why I bothered with a source code repository in the first place, as external contributions have been negligible.

    Unfortunately due to other priorities I simply don't have time to look at doing a new official release. It might be time to hand the whole thing over to someone else, but not sure if anyone would be interested. And doing a handover would no doubt involve more work than an official release. So the project is sort of in limbo.

    This library doesn't actually have any external dependencies, so one work-around would be to just add the source code to your own project. If you notice a bug you can always just file sync your copy with the one in the DEV zip file. Bug fixes these days are extremely rare and minor. Would that approach work for you?

    Cheers
    Martin

     

Log in to post a comment.