aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/ideinfo
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/ideinfo')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/IntelliJSkylarkAspectTest.java9
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl31
2 files changed, 33 insertions, 7 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/IntelliJSkylarkAspectTest.java b/src/test/java/com/google/devtools/build/lib/ideinfo/IntelliJSkylarkAspectTest.java
index fc965e0ef5..0ff44826b3 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/IntelliJSkylarkAspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/IntelliJSkylarkAspectTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.ideinfo;
+import static com.google.common.collect.Iterables.transform;
import static com.google.common.truth.Truth.assertThat;
import com.google.common.collect.ImmutableList;
@@ -83,6 +84,13 @@ public class IntelliJSkylarkAspectTest extends AndroidStudioInfoAspectTestBase {
assertThat(ruleIdeInfo.getDependenciesCount()).isEqualTo(0);
assertThat(relativePathsForSourcesOf(ruleIdeInfo))
.containsExactly("com/google/example/simple/Simple.java");
+ assertThat(
+ transform(ruleIdeInfo.getJavaRuleIdeInfo().getJarsList(), LIBRARY_ARTIFACT_TO_STRING))
+ .containsExactly(
+ jarString(
+ "com/google/example", "libsimple.jar", "libsimple-ijar.jar", "libsimple-src.jar"));
+ assertThat(ruleIdeInfo.getJavaRuleIdeInfo().getJdeps().getRelativePath())
+ .isEqualTo("com/google/example/libsimple.jdeps");
}
@Test
@@ -118,6 +126,7 @@ public class IntelliJSkylarkAspectTest extends AndroidStudioInfoAspectTestBase {
.containsExactly("//com/google/example:complex");
}
+ @Override
protected Map<String, RuleIdeInfo> buildRuleIdeInfo(String target) throws Exception {
AnalysisResult analysisResult = update(
ImmutableList.of(target),
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 feb37fef59..90ca5055b2 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
@@ -45,20 +45,37 @@ def is_java_rule(target, ctx):
return ctx.rule.kind != "android_sdk";
def artifact_location(file):
+ if file == None:
+ return None
return struct(
root_path = file.root.path, # todo(dslomov): this gives path relative to execution root
relative_path = file.short_path,
is_source = file.is_source,
)
+def library_artifact(java_output):
+ if java_output == None:
+ return None
+ return struct(
+ jar = artifact_location(java_output.class_jar),
+ interface_jar = artifact_location(java_output.ijar),
+ source_jar = artifact_location(java_output.source_jar),
+ )
+
def java_rule_ide_info(target, ctx):
- if hasattr(ctx.rule.attr, "srcs"):
- sources = [artifact_location(file)
- for src in ctx.rule.attr.srcs
- for file in src.files]
- else:
- sources = []
- return struct(sources = sources) # todo(dslomov): more fields
+ if hasattr(ctx.rule.attr, "srcs"):
+ sources = [artifact_location(file)
+ for src in ctx.rule.attr.srcs
+ for file in src.files]
+ else:
+ sources = []
+ jars = [library_artifact(output) for output in target.java.outputs.jars]
+ jdeps = artifact_location(target.java.outputs.jdeps)
+
+ return struct(sources = sources,
+ jars = jars,
+ jdeps = jdeps,
+ ) # todo(dslomov): more fields
def _aspect_impl(target, ctx):