Subject Re: [Firebird-Java] Java 9 Automatic module name
Author Mark Rotteveel
As there has been zero response to this, I'll make the automatic module
name org.firebirdsql.jaybird starting with the next releases of 2.2 and 3.0.


On 30-9-2017 13:48, Mark Rotteveel mark@... [Firebird-Java]
> Current versions of Jaybird work with Java 9, but I hadn't considered
> some implications of the JPMS (Java Platform Module System).
> The JPMS assigns an automatic module name to non-modular jars, and this
> name is - by default - derived from the jar filename.
> This means that its name depends on which jar you use. So when you use
> the jar from github/, it will get the automatic module
> name jaybird (or jaybird-full), and using maven will assign the
> automatic module name jaybird-jdkXX (eg jaybird-jdk18).
> This is not a real problem, until you modularize your own application,
> because then you might run into issues when Jaybird will actually
> modularize and provide an actual modulename (problems as in: you can't
> just drop in a new version of Jaybird, you will need to recompile with
> the updated module name).
> Plans to modularize Jaybird for Java 9 are still in its infancy, but I
> propose that next releases of Jaybird 2.2.x and 3.0.x will declare an
> explicit automatic module name for future consistency.
> For this automatic module name, I see two candidates:
> - org.firebirdsql.jaybird
> - org.firebirdsql.jdbc.jaybird
> The first is short and to the point and includes the current 'name', and
> could allow for logical names when breaking up Jaybird into multiple
> modules (eg org.firebirdsql.jdbc for the JDBC driver part,
> for the management classes, etc), while still
> providing a single module that exports all.
> The second aligns with the maven coordinates (dropping the -jdkXX
> suffix), but might be a bit awkward for naming modules in the future.
> Any thoughts on this?

Mark Rotteveel