private void addStatusLine()

in common/src/main/java/org/mvndaemon/mvnd/common/logging/TerminalOutput.java [750:803]


    private void addStatusLine(final List<AttributedString> lines, int dispLines, final int projectsCount) {
        if (name != null || buildStatus != null) {
            AttributedStringBuilder asb = new AttributedStringBuilder();
            if (name != null) {
                asb.append("Building ");
                asb.style(AttributedStyle.BOLD);
                asb.append(name);
                asb.style(AttributedStyle.DEFAULT);

                /* Daemon ID */
                asb.append("  daemon: ")
                        .style(AttributedStyle.BOLD)
                        .append(daemonId)
                        .style(AttributedStyle.DEFAULT);

                /* Threads */
                asb.append("  threads used/hidden/max: ")
                        .style(AttributedStyle.BOLD)
                        .append(String.format(
                                threadsFormat,
                                new StringBuilder(threadsFormat.length())
                                        .append(projectsCount)
                                        .append('/')
                                        .append(Math.max(0, projectsCount - dispLines))
                                        .append('/')
                                        .append(maxThreads)
                                        .toString()))
                        .style(AttributedStyle.DEFAULT);

                /* Progress */
                asb.append("  progress: ")
                        .style(AttributedStyle.BOLD)
                        .append(String.format(projectsDoneFomat, doneProjects))
                        .append('/')
                        .append(String.valueOf(totalProjects))
                        .append(' ')
                        .append(String.format("%3d", doneProjects * 100 / totalProjects))
                        .append('%')
                        .style(AttributedStyle.DEFAULT);

            } else if (buildStatus != null) {
                asb.style(AttributedStyle.BOLD).append(buildStatus).style(AttributedStyle.DEFAULT);
            }

            /* Time */
            long sec = (System.currentTimeMillis() - this.start) / 1000;
            asb.append("  time: ")
                    .style(AttributedStyle.BOLD)
                    .append(String.format("%02d:%02d", sec / 60, sec % 60))
                    .style(AttributedStyle.DEFAULT);

            lines.add(asb.toAttributedString());
        }
    }