aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-04-13 10:34:50 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-13 10:36:04 -0700
commit60209517b01f8efadd9f7a83ee7eb96d4648c331 (patch)
treef58f678bd09baffc9283bcb7e137ff17963e7e34 /src/main/java/com/google/devtools/build/lib
parent28daf76e8f86370b9276a3e248d4c2eddf275d44 (diff)
Use canonical EMPTY_ARGS JavaCompilationArgs object if all nested set builders are empty, and @AutoCodec EMPTY_ARGS.
PiperOrigin-RevId: 192788787
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgs.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgs.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgs.java
index 7ffee24f87..74e2cac387 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgs.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgs.java
@@ -40,6 +40,7 @@ public abstract class JavaCompilationArgs {
// B}, B depends on {C, D}, C depends on {junit3}, and D depends on {junit4},
// the classpath of A will have junit3 before junit4.
+ @AutoCodec
public static final JavaCompilationArgs EMPTY_ARGS =
JavaCompilationArgs.create(
NestedSetBuilder.<Artifact>create(Order.NAIVE_LINK_ORDER),
@@ -311,6 +312,12 @@ public abstract class JavaCompilationArgs {
* Builds a {@link JavaCompilationArgs} object.
*/
public JavaCompilationArgs build() {
+ if (runtimeJarsBuilder.isEmpty()
+ && compileTimeJarsBuilder.isEmpty()
+ && fullCompileTimeJarsBuilder.isEmpty()
+ && instrumentationMetadataBuilder.isEmpty()) {
+ return EMPTY_ARGS;
+ }
return JavaCompilationArgs.create(
runtimeJarsBuilder.build(),
compileTimeJarsBuilder.build(),