jdbi / jdbi

The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
http://jdbi.org/
Apache License 2.0
1.99k stars 343 forks source link

Java 11 painpoints #2401

Closed hgschmie closed 1 year ago

hgschmie commented 1 year ago
hgschmie commented 1 year ago

currently open bug reports:

all of those need to be fixed to make progress with JPMS and javadoc

stevenschlansker commented 1 year ago

Sounds like we should split out test utilities from test cases, and have the former exist as a library jar, and the latter test-jars not be used as a dependency ever.

hgschmie commented 1 year ago
hgschmie commented 1 year ago

Sounds like we should split out test utilities from test cases, and have the former exist as a library jar, and the latter test-jars not be used as a dependency ever.

The module system supports a setup where the test code is in regular jars and the main artifacts are JPMS modules just fine. Maven tooling is simply buggy. I am fairly certain that fixing the plugins is doable and then we can ship fully JPMS enabled artifacts with minimal impact to our development process.

I refuse to start playing games with reshuffling code from test to regular artifacts (which then in turn would be their own JPMS modules, which in turn would need to use different packages (because JPMS modules must not overlap), which in turn changes visibility rules for our code (package private goes out of the window, we now need to have additional public classes, which we then mask out in the module-info files with exports xxx to module-a, module-b etc. It is all very unpleasant. I prefer to fix the tooling once and keep our code organized.

Right now, I think we will stick with Automatic-Module-Name for a bit longer.

hgschmie commented 1 year ago

I have a workaround for https://github.com/codehaus-plexus/plexus-languages/pull/164

hgschmie commented 1 year ago

https://github.com/opentable/otj-pg-embedded/pull/184 needs to be merged and resolved, otherwise we can not publish the otj test code.

hgschmie commented 1 year ago

https://issues.apache.org/jira/browse/SUREFIRE-2191 - stops tests in jdbi3-testing from working. No resolution or workaround.

hgschmie commented 1 year ago

https://issues.apache.org/jira/projects/MJAVADOC/issues/MJAVADOC-767 - patch has been applied, should be in the next release

hgschmie commented 1 year ago

https://issues.apache.org/jira/browse/MJAVADOC-769 blocks generating java 11 compatible javadocs even with the automatic module names.

hgschmie commented 1 year ago

Fix for MJAVADOC-769 proposed: https://github.com/apache/maven-javadoc-plugin/pull/227

There is a workaround as well, by building the guice module against guice 7.0.0, not 5.1.0

hgschmie commented 1 year ago

closing this issue in favor of tracking things here: https://github.com/jdbi/jdbi/blob/master/JPMS-SUPPORT.md