Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modularize for JPMS #429

Merged
merged 2 commits into from
Aug 24, 2019
Merged

Modularize for JPMS #429

merged 2 commits into from
Aug 24, 2019

Conversation

jrb0001
Copy link
Contributor

@jrb0001 jrb0001 commented Aug 19, 2019

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

  • Packaging changes to create a multi-release jar file that works on Java 6+ and is a proper JPMS module (Java 9+). This bumps the minimum javac version to 9 but the resulting jar should work on Java 6 (untested).
  • Remove the runtime dependency on the java.desktop module. This allows producing smaller runtime images if you don't need the terminal emulator parts nor the TextColor.getColor() method.

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
Copy link
Contributor Author

jrb0001 commented Aug 19, 2019

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
Copy link
Owner

mabe02 commented Aug 24, 2019

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants