Now supports Java 9+ modules. Due to still having filename-based automatic module dependencies,
*-SNAPSHOT versions include module-info.class while releases include the
Automatic-Module-Name manifest entry. To minimize the difference between these
modes, module-info.java does not perform any transitive requires.