diff options
author | cushon <cushon@google.com> | 2018-07-26 10:37:43 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-26 10:39:19 -0700 |
commit | 2f37aca03903e220fc69abc543e3dae1146b5010 (patch) | |
tree | 2b27046798eb60e479739af13bc23617679f62a4 /src/main/java/com/google/devtools | |
parent | db01c6f926bcb4774d901797c59f51dd54c05624 (diff) |
Fix databinding after https://github.com/bazelbuild/bazel/commit/9b29a1bd7bbe37500b28a6508cb82ca1943c75b5
PiperOrigin-RevId: 206182289
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaPluginInfoProvider.java | 5 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaPluginInfoProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaPluginInfoProvider.java index 0d125f9a6e..a82496fd18 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaPluginInfoProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaPluginInfoProvider.java @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.rules.java; import com.google.auto.value.AutoValue; +import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.TransitiveInfoProvider; import com.google.devtools.build.lib.collect.nestedset.NestedSet; @@ -81,6 +82,10 @@ public abstract class JavaPluginInfoProvider implements TransitiveInfoProvider { } } + public static JavaPluginInfoProvider merge(JavaPluginInfoProvider a, JavaPluginInfoProvider b) { + return a.isEmpty() ? b : b.isEmpty() ? a : merge(ImmutableList.of(a, b)); + } + public static JavaPluginInfoProvider merge(Iterable<JavaPluginInfoProvider> providers) { List<JavaPluginInfo> plugins = new ArrayList<>(); List<JavaPluginInfo> apiGeneratingPlugins = new ArrayList<>(); diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java index d75c9dad76..a30127f05d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java @@ -299,8 +299,7 @@ public class JavaTargetAttributes { public Builder addPlugin(JavaPluginInfoProvider plugins) { Preconditions.checkArgument(!built); - Preconditions.checkArgument(this.plugins.isEmpty()); - this.plugins = plugins; + this.plugins = JavaPluginInfoProvider.merge(this.plugins, plugins); return this; } |