aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl b/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl
index 1f839d36bb..f6ab0e3e49 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl
@@ -44,6 +44,10 @@ def get_kind(target, ctx):
def is_java_rule(target, ctx):
return ctx.rule.kind != "android_sdk";
+def struct_omit_none(**kwargs):
+ d = {name: kwargs[name] for name in kwargs if kwargs[name] != None}
+ return struct(**d)
+
def artifact_location(file):
if file == None:
return None
@@ -56,7 +60,7 @@ def artifact_location(file):
def library_artifact(java_output):
if java_output == None:
return None
- return struct(
+ return struct_omit_none(
jar = artifact_location(java_output.class_jar),
interface_jar = artifact_location(java_output.ijar),
source_jar = artifact_location(java_output.source_jar),
@@ -72,7 +76,8 @@ def java_rule_ide_info(target, ctx):
jars = [library_artifact(output) for output in target.java.outputs.jars]
ide_resolve_files = set([jar
for jar in [output.class_jar, output.ijar, output.source_jar]
- for output in target.java.outputs.jars])
+ for output in target.java.outputs.jars
+ if jar != None])
jdeps = artifact_location(target.java.outputs.jdeps)
return (struct(sources = sources,