Search in sources :

Example 1 with Key

use of com.google.devtools.build.lib.packages.ClassObjectConstructor.Key in project bazel by bazelbuild.

the class SkylarkAspectsTest method aspectWithDeclaredProviders.

@Test
public void aspectWithDeclaredProviders() throws Exception {
    scratch.file("test/aspect.bzl", "foo = provider()", "bar = provider()", "def _impl(target, ctx):", "   return [foo(), bar()]", "MyAspect = aspect(implementation=_impl)");
    scratch.file("test/BUILD", "java_library(name = 'xxx',)");
    AnalysisResult analysisResult = update(ImmutableList.of("test/aspect.bzl%MyAspect"), "//test:xxx");
    assertThat(getLabelsToBuild(analysisResult)).containsExactly("//test:xxx");
    assertThat(getAspectDescriptions(analysisResult)).containsExactly("//test:aspect.bzl%MyAspect(//test:xxx)");
    List<Key> providers = getDeclaredProviderKeys(analysisResult);
    assertThat((providers.get(0))).isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "foo"));
    assertThat((providers.get(1))).isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "bar"));
}
Also used : SkylarkKey(com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey) AnalysisResult(com.google.devtools.build.lib.analysis.BuildView.AnalysisResult) SkylarkKey(com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey) Key(com.google.devtools.build.lib.packages.ClassObjectConstructor.Key) Test(org.junit.Test)

Example 2 with Key

use of com.google.devtools.build.lib.packages.ClassObjectConstructor.Key in project bazel by bazelbuild.

the class SkylarkAspectsTest method aspectWithDeclaredProvidersInAStruct.

@Test
public void aspectWithDeclaredProvidersInAStruct() throws Exception {
    scratch.file("test/aspect.bzl", "foo = provider()", "bar = provider()", "def _impl(target, ctx):", "   return struct(foobar='foobar', providers=[foo(), bar()])", "MyAspect = aspect(implementation=_impl)");
    scratch.file("test/BUILD", "java_library(name = 'xxx',)");
    AnalysisResult analysisResult = update(ImmutableList.of("test/aspect.bzl%MyAspect"), "//test:xxx");
    assertThat(getLabelsToBuild(analysisResult)).containsExactly("//test:xxx");
    assertThat(getAspectDescriptions(analysisResult)).containsExactly("//test:aspect.bzl%MyAspect(//test:xxx)");
    List<Key> providers = getDeclaredProviderKeys(analysisResult);
    assertThat((providers.get(0))).isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "foo"));
    assertThat((providers.get(1))).isEqualTo(new SkylarkKey(Label.parseAbsolute("//test:aspect.bzl"), "bar"));
}
Also used : SkylarkKey(com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey) AnalysisResult(com.google.devtools.build.lib.analysis.BuildView.AnalysisResult) SkylarkKey(com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey) Key(com.google.devtools.build.lib.packages.ClassObjectConstructor.Key) Test(org.junit.Test)

Aggregations

AnalysisResult (com.google.devtools.build.lib.analysis.BuildView.AnalysisResult)2 Key (com.google.devtools.build.lib.packages.ClassObjectConstructor.Key)2 SkylarkKey (com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey)2 Test (org.junit.Test)2