diff options
author | 2016-01-19 22:12:33 +0000 | |
---|---|---|
committer | 2016-01-20 11:35:48 +0000 | |
commit | 65695552c4f49a4c760c8f64c6d23b25915d0f99 (patch) | |
tree | 3447f31254239fe42889c8260322a2f0ce477922 /src/main/java | |
parent | 528957e26a957da7abcb8a3b3bcfe7e7f6428687 (diff) |
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
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java | 31 |
1 files changed, 29 insertions, 2 deletions
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 |