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

CLI: dependency reduction #1080

Open
Tracked by #1071
barchetta opened this issue Oct 28, 2024 · 1 comment
Open
Tracked by #1071

CLI: dependency reduction #1080

barchetta opened this issue Oct 28, 2024 · 1 comment
Assignees
Labels

Comments

@barchetta
Copy link
Member

Remove the remaining third party dependencies:

  1. jansi-1.18.jar
  2. compiler-0.9.6.jar
@romain-grecourt
Copy link
Contributor

For Jansi there are two distinct usages:

  • org.fusesource.jansi.Ansi ansi escapes constants, this should be fairly simple to rewrite.
  • org.fusesource.jansi.AnsiConsole to install System.out and System.err.

The installed PrintStream are system specific and respond to various system properties which are used in build-tools. Overall this is fairly complicated, although removing Jansi with our own mechanism would simplify this area.

AnsiConsole uses JNI to detect if STDOUT or STDERR are TTY.


The native code is provided for 7 platforms: linux32, linux64, windows32, windows64, freebsd32, freebsd64, osx. It is mostly a wrapper around isatty from the standard C library + workaround for windows.

We may be able to just use System.console() != null or System.console().isTerminal().

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

No branches or pull requests

2 participants