========================
Apache Derby JDBC Driver
========================

derbyclient-10.13.1.1.jar

- Not modular, and no Automatic-Module-Name manifest attribute.
  Module name is therefore derived from filename -> derbyclient.

- Inspecting the JAR shows:
  - requires java.base mandated             [obvious]
  - provides java.sql.Driver with ...       [legacy ServiceLoader declaration -> META-INF/services/java.sql.Driver file]
  - contains <package.name>                 [list of all contained packages - automatic module exports all its packages]

 
derbyclient-10.15.1.3.jar

- Is modular, complete with module-info.class at top level.
  Module name is explicitly defined to be org.apache.derby.client.

- Inspecting the JAR shows:
  - several 'requires' directives           [both platform and other Derby modules]
  - provides java.sql.Driver with ...       [module descriptor 'provides-with' directive, as well as legacy META-INF/services file]
    provides DerbyModuleAPI  with ...       [module descriptor 'provides-with' directive only]
  - several qualified exports               [to other Derby modules, none exported globally - GOOD, you shouldn't code to a JDBC driver anyway!]