Skip to content

Commit

Permalink
Fix display showing more projects than the ones actually active
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Feb 23, 2021
1 parent 89a636f commit ecfaf38
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
Expand Up @@ -27,8 +27,10 @@
import java.util.Collections;
import java.util.Deque;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
Expand Down Expand Up @@ -100,6 +102,7 @@ public class TerminalOutput implements ClientOutput {
private final Display display;
private final Map<String, Map<String, TransferEvent>> transfers = new LinkedHashMap<>();
private final LinkedHashMap<String, Project> projects = new LinkedHashMap<>();
private final Set<String> doneProjects = new LinkedHashSet<>();
private final ClientLog log;
private final Thread reader;
private volatile Exception exception;
Expand Down Expand Up @@ -130,7 +133,6 @@ public class TerminalOutput implements ClientOutput {
/** String format for formatting the actual/hidden/max thread counts */
private String threadsFormat;
private int linesPerProject = 0;
private int doneProjects = 0;
private String buildStatus;
private boolean displayDone = false;
private boolean noBuffering;
Expand Down Expand Up @@ -279,8 +281,8 @@ private boolean doAccept(Message entry) {
Project prj = projects.remove(artifactId);
if (prj != null) {
prj.log.forEach(log);
doneProjects.add(artifactId);
}
doneProjects++;
displayDone();
break;
}
Expand Down Expand Up @@ -355,8 +357,10 @@ private boolean doAccept(Message entry) {
}
case Message.PROJECT_LOG_MESSAGE: {
final ProjectEvent bm = (ProjectEvent) entry;
final Project prj = projects.computeIfAbsent(bm.getProjectId(), Project::new);
if (noBuffering || dumb) {
final Project prj = projects.get(bm.getProjectId());
if (prj == null) {
log.accept(bm.getMessage());
} else if (noBuffering || dumb) {
String msg;
if (maxThreads > 1) {
msg = String.format("[%s] %s", bm.getProjectId(), bm.getMessage());
Expand Down Expand Up @@ -666,11 +670,11 @@ private void addStatusLine(final List<AttributedString> lines, int dispLines, fi
asb
.append(" progress: ")
.style(AttributedStyle.BOLD)
.append(String.format(projectsDoneFomat, doneProjects))
.append(String.format(projectsDoneFomat, doneProjects.size()))
.append('/')
.append(String.valueOf(totalProjects))
.append(' ')
.append(String.format("%3d", doneProjects * 100 / totalProjects))
.append(String.format("%3d", doneProjects.size() * 100 / totalProjects))
.append('%')
.style(AttributedStyle.DEFAULT);

Expand Down
2 changes: 1 addition & 1 deletion daemon/src/main/java/org/mvndaemon/mvnd/daemon/Server.java
Expand Up @@ -430,7 +430,7 @@ private void cancelNow() {
private void handle(DaemonConnection connection, BuildRequest buildRequest) {
updateState(Busy);
final BlockingQueue<Message> sendQueue = new PriorityBlockingQueue<>(64,
Comparator.comparingInt(this::getClassOrder).thenComparingLong(Message::timestamp));
Comparator.comparingLong(Message::timestamp));
final BlockingQueue<Message> recvQueue = new LinkedBlockingDeque<>();
final BuildEventListener buildEventListener = new ClientDispatcher(sendQueue);
try (ProjectBuildLogAppender logAppender = new ProjectBuildLogAppender(buildEventListener)) {
Expand Down

0 comments on commit ecfaf38

Please sign in to comment.