I have committed the code for LOG4J2-2056. Log4j-api is a “real” module and has a module-info.java while all the rest that can be modularized are automatic modules. Please review and test.
In order to create the module-info.java I had to do a few strange things: Module-info.java is in the log4j-api-java9 project since log4j-api isn’t compiled with Java 9. Compiling module-info.java requires that the packages being exported exist and have at least one class in them, so I had to create the directories and place a dummy java class in them. The assembly that creates the log4j-api-java9 zip ignores all the dummy files and directories and only copies module-info.java and the two utility classes into the zip. I have tested this with a simple program that only uses a module path but I would appreciate more extensive tests before it is released. Ralph