diff options
author | janakr <janakr@google.com> | 2018-04-13 10:34:50 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-13 10:36:04 -0700 |
commit | 60209517b01f8efadd9f7a83ee7eb96d4648c331 (patch) | |
tree | f58f678bd09baffc9283bcb7e137ff17963e7e34 /src/main | |
parent | 28daf76e8f86370b9276a3e248d4c2eddf275d44 (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')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgs.java | 7 |
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(), |