mabe02 / lanterna

Java library for creating text-based GUIs
GNU Lesser General Public License v3.0
2.27k stars 242 forks source link

Modularize for JPMS #429

Closed jrb0001 closed 5 years ago

jrb0001 commented 5 years ago

The PR has two commits and I recommend reviewing them individually:

I tested it on Java 11 with a modularized version of the OutputString example both with and without the java.desktop module.

Is the package com.googlecode.lanterna.bundle meant to be used directly by the application/other libraries? If not, then its exports should be dropped.

jrb0001 commented 5 years ago

Please note that this breaks WindowsTerminal if lanterna is used on the modulepath instead of the classpath. One way to solve that would be #422 and the alternative would be to move it to its own package and then use SPI to load it.

SPI sound like the better approach to me because that would also allow moving the terminal emulator part into its own module with proper runtime dependencies to java.desktop.

mabe02 commented 5 years ago

I don't care too much about breaking the experimental, unfinished native bindings