From 65695552c4f49a4c760c8f64c6d23b25915d0f99 Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Tue, 19 Jan 2016 22:12:33 +0000 Subject: Include source jar count in progress message for java compile actions The avoids misleading "Building libfoo.jar (0 files)" progress messages for sourcejar-only compilations. -- MOS_MIGRATED_REVID=112512879 --- .../build/lib/rules/java/JavaCompileAction.java | 31 ++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java index ce3c6c17d1..f1a890877d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java @@ -380,8 +380,35 @@ public class JavaCompileAction extends AbstractAction { @Override protected String getRawProgressMessage() { - int count = sourceFiles.size() + resources.size() + classpathResources.size() + messages.size(); - return "Building " + outputJar.prettyPrint() + " (" + count + " files)"; + StringBuilder sb = new StringBuilder("Building "); + sb.append(outputJar.prettyPrint()); + sb.append(" ("); + boolean first = true; + first = appendCount(sb, first, sourceFiles.size(), "source file"); + first = appendCount(sb, first, sourceJars.size(), "source jar"); + int resourceCount = resources.size() + classpathResources.size() + messages.size(); + first = appendCount(sb, first, resourceCount, "resource"); + sb.append(")"); + return sb.toString(); + } + + /** + * Append an input count to the progress message, e.g. "2 source jars". If an input + * count has already been appended, prefix with ", ". + */ + private static boolean appendCount(StringBuilder sb, boolean first, int count, String name) { + if (count > 0) { + if (!first) { + sb.append(", "); + } else { + first = false; + } + sb.append(count).append(' ').append(name); + if (count > 1) { + sb.append('s'); + } + } + return first; } @Override -- cgit v1.2.3