Subject | Re: [Firebird-Java] Java 9 Automatic module name |
---|---|
Author | Mark Rotteveel |
Post date | 2017-10-21T10:56:21Z |
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.
Mark
On 30-9-2017 13:48, Mark Rotteveel mark@... [Firebird-Java]
wrote:
Mark Rotteveel
name org.firebirdsql.jaybird starting with the next releases of 2.2 and 3.0.
Mark
On 30-9-2017 13:48, Mark Rotteveel mark@... [Firebird-Java]
wrote:
> 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/firebirdsql.org, 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,
> org.firebirdsql.management 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