mirror of
https://github.com/apache/maven-mvnd.git
synced 2025-09-28 08:47:29 +00:00
This commit is contained in:
@@ -1302,14 +1302,14 @@ public class DaemonMavenCli {
|
||||
// If we're logging to a file then we don't want the console transfer listener as it will spew
|
||||
// download progress all over the place
|
||||
//
|
||||
return getDaemonTransferListener();
|
||||
return getConsoleTransferListener();
|
||||
} else {
|
||||
return getBatchTransferListener();
|
||||
}
|
||||
}
|
||||
|
||||
protected TransferListener getDaemonTransferListener() {
|
||||
return new DaemonMavenTransferListener(buildEventListener);
|
||||
protected TransferListener getConsoleTransferListener() {
|
||||
return new DaemonMavenTransferListener(buildEventListener, new Slf4jMavenTransferListener());
|
||||
}
|
||||
|
||||
protected TransferListener getBatchTransferListener() {
|
||||
|
@@ -26,6 +26,8 @@ import org.apache.maven.execution.MavenSession;
|
||||
import org.apache.maven.plugin.MojoExecution;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.eclipse.aether.transfer.TransferEvent;
|
||||
import org.eclipse.aether.transfer.TransferEvent.EventType;
|
||||
import org.eclipse.aether.transfer.TransferEvent.RequestType;
|
||||
import org.mvndaemon.mvnd.builder.DependencyGraph;
|
||||
import org.mvndaemon.mvnd.common.Message;
|
||||
import org.mvndaemon.mvnd.common.Message.BuildException;
|
||||
@@ -114,37 +116,50 @@ public class ClientDispatcher extends BuildEventListener {
|
||||
}
|
||||
|
||||
public void transfer(String projectId, TransferEvent e) {
|
||||
int event;
|
||||
final int event;
|
||||
switch (e.getType()) {
|
||||
case INITIATED:
|
||||
event = Message.TRANSFER_INITIATED;
|
||||
break;
|
||||
case STARTED:
|
||||
event = Message.TRANSFER_STARTED;
|
||||
break;
|
||||
case PROGRESSED:
|
||||
event = Message.TRANSFER_PROGRESSED;
|
||||
break;
|
||||
case CORRUPTED:
|
||||
event = Message.TRANSFER_CORRUPTED;
|
||||
break;
|
||||
case SUCCEEDED:
|
||||
event = Message.TRANSFER_SUCCEEDED;
|
||||
break;
|
||||
case FAILED:
|
||||
event = Message.TRANSFER_FAILED;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException();
|
||||
case INITIATED:
|
||||
event = Message.TRANSFER_INITIATED;
|
||||
break;
|
||||
case STARTED:
|
||||
event = Message.TRANSFER_STARTED;
|
||||
break;
|
||||
case PROGRESSED:
|
||||
event = Message.TRANSFER_PROGRESSED;
|
||||
break;
|
||||
case CORRUPTED:
|
||||
event = Message.TRANSFER_CORRUPTED;
|
||||
break;
|
||||
case SUCCEEDED:
|
||||
event = Message.TRANSFER_SUCCEEDED;
|
||||
break;
|
||||
case FAILED:
|
||||
event = Message.TRANSFER_FAILED;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected " + EventType.class.getSimpleName() + ": " + e.getType());
|
||||
}
|
||||
final int requestType;
|
||||
switch (e.getRequestType()) {
|
||||
case GET:
|
||||
requestType = Message.TransferEvent.GET;
|
||||
break;
|
||||
case GET_EXISTENCE:
|
||||
requestType = Message.TransferEvent.GET_EXISTENCE;
|
||||
break;
|
||||
case PUT:
|
||||
requestType = Message.TransferEvent.PUT;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected " + RequestType.class.getSimpleName() + ": " + e.getRequestType());
|
||||
}
|
||||
int request = e.getRequestType().ordinal();
|
||||
String repositoryId = e.getResource().getRepositoryId();
|
||||
String repositoryUrl = e.getResource().getRepositoryUrl();
|
||||
String resourceName = e.getResource().getResourceName();
|
||||
long contentLength = e.getResource().getContentLength();
|
||||
long transferredBytes = e.getTransferredBytes();
|
||||
String exception = e.getException() != null ? e.getException().toString() : null;
|
||||
queue.add(Message.transfer(projectId, event, request, repositoryId, repositoryUrl, resourceName,
|
||||
queue.add(Message.transfer(projectId, event, requestType, repositoryId, repositoryUrl, resourceName,
|
||||
contentLength, transferredBytes, exception));
|
||||
}
|
||||
|
||||
|
@@ -24,38 +24,46 @@ import org.mvndaemon.mvnd.logging.smart.ProjectBuildLogAppender;
|
||||
public class DaemonMavenTransferListener implements TransferListener {
|
||||
|
||||
private final BuildEventListener dispatcher;
|
||||
private final TransferListener delegate;
|
||||
|
||||
public DaemonMavenTransferListener(BuildEventListener dispatcher) {
|
||||
public DaemonMavenTransferListener(BuildEventListener dispatcher, TransferListener delegate) {
|
||||
this.dispatcher = dispatcher;
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferInitiated(TransferEvent event) throws TransferCancelledException {
|
||||
dispatcher.transfer(ProjectBuildLogAppender.getProjectId(), event);
|
||||
delegate.transferInitiated(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferStarted(TransferEvent event) throws TransferCancelledException {
|
||||
dispatcher.transfer(ProjectBuildLogAppender.getProjectId(), event);
|
||||
delegate.transferStarted(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferProgressed(TransferEvent event) throws TransferCancelledException {
|
||||
dispatcher.transfer(ProjectBuildLogAppender.getProjectId(), event);
|
||||
delegate.transferProgressed(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferCorrupted(TransferEvent event) throws TransferCancelledException {
|
||||
dispatcher.transfer(ProjectBuildLogAppender.getProjectId(), event);
|
||||
delegate.transferCorrupted(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferSucceeded(TransferEvent event) {
|
||||
dispatcher.transfer(ProjectBuildLogAppender.getProjectId(), event);
|
||||
delegate.transferSucceeded(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferFailed(TransferEvent event) {
|
||||
dispatcher.transfer(ProjectBuildLogAppender.getProjectId(), event);
|
||||
delegate.transferFailed(event);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user