mirror of
https://github.com/apache/maven-mvnd.git
synced 2025-10-15 23:00:50 +00:00
[MMG-8600] Adopt to Maven changes (#1277)
Adopt to https://github.com/apache/maven/pull/2134 Goal is to be able to perform required customizations to Terminal, but also "raw streams" (as Maven acts on false, while mvnd on true).
This commit is contained in:
@@ -33,7 +33,6 @@ import org.apache.maven.execution.MavenExecutionRequest;
|
|||||||
import org.apache.maven.jline.MessageUtils;
|
import org.apache.maven.jline.MessageUtils;
|
||||||
import org.apache.maven.logging.BuildEventListener;
|
import org.apache.maven.logging.BuildEventListener;
|
||||||
import org.apache.maven.logging.LoggingOutputStream;
|
import org.apache.maven.logging.LoggingOutputStream;
|
||||||
import org.jline.terminal.Terminal;
|
|
||||||
import org.jline.terminal.TerminalBuilder;
|
import org.jline.terminal.TerminalBuilder;
|
||||||
import org.mvndaemon.mvnd.common.Environment;
|
import org.mvndaemon.mvnd.common.Environment;
|
||||||
|
|
||||||
@@ -43,33 +42,23 @@ public class DaemonMavenInvoker extends ResidentMavenInvoker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void createTerminal(MavenContext context) {
|
protected void doCreateTerminal(MavenContext context, TerminalBuilder builder) {
|
||||||
MessageUtils.systemInstall(
|
builder.streams(
|
||||||
builder -> {
|
context.invokerRequest.stdIn().orElseThrow(),
|
||||||
builder.streams(
|
context.invokerRequest.stdOut().orElseThrow());
|
||||||
context.invokerRequest.stdIn().orElseThrow(),
|
builder.systemOutput(TerminalBuilder.SystemOutput.ForcedSysOut);
|
||||||
context.invokerRequest.stdOut().orElseThrow());
|
builder.provider(TerminalBuilder.PROP_PROVIDER_EXEC);
|
||||||
builder.systemOutput(TerminalBuilder.SystemOutput.ForcedSysOut);
|
if (context.coloredOutput != null) {
|
||||||
builder.provider(TerminalBuilder.PROP_PROVIDER_EXEC);
|
builder.color(context.coloredOutput);
|
||||||
if (context.coloredOutput != null) {
|
}
|
||||||
builder.color(context.coloredOutput);
|
// we do want to pause input
|
||||||
}
|
builder.paused(true);
|
||||||
// we do want to pause input
|
|
||||||
builder.paused(true);
|
|
||||||
},
|
|
||||||
terminal -> doConfigureWithTerminal(context, terminal));
|
|
||||||
context.terminal = MessageUtils.getTerminal();
|
|
||||||
context.closeables.add(MessageUtils::systemUninstall);
|
|
||||||
MessageUtils.registerShutdownHook();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doConfigureWithTerminal(MavenContext context, Terminal terminal) {
|
protected void doConfigureWithTerminalWithRawStreamsEnabled(MavenContext context) {
|
||||||
super.doConfigureWithTerminal(context, terminal);
|
System.setOut(printStream(context.invokerRequest.stdOut().orElseThrow()));
|
||||||
if (context.invokerRequest.options().rawStreams().orElse(false)) {
|
System.setErr(printStream(context.invokerRequest.stdErr().orElseThrow()));
|
||||||
System.setOut(printStream(context.invokerRequest.stdOut().orElseThrow()));
|
|
||||||
System.setErr(printStream(context.invokerRequest.stdErr().orElseThrow()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private PrintStream printStream(OutputStream outputStream) {
|
private PrintStream printStream(OutputStream outputStream) {
|
||||||
|
Reference in New Issue
Block a user