diff options
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/ideinfo/IntelliJSkylarkAspectTest.java | 9 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl | 31 |
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): |