diff options
author | Damien Martin-Guillerez <dmarting@google.com> | 2016-03-11 22:35:41 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2016-03-14 13:52:51 +0000 |
commit | 82741ecec2d7cedbb0ab11b07f6ef3a6ef0737f2 (patch) | |
tree | 4d8d460c1dd4a256aac2e66e46ef960d8d4ca7f9 /src/test/java/com/google/devtools | |
parent | 74899385ed41baa411abe10071e1f1c0841b1295 (diff) |
Add repository_ctx.name to get the name of the repository
Fixes #1030.
--
MOS_MIGRATED_REVID=117009021
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java index dcdc6e40f0..329c30cfb1 100644 --- a/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java +++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java @@ -221,4 +221,31 @@ public class SkylarkRepositoryIntegrationTest extends BuildViewTestCase { Object path = target.getTarget().getAssociatedRule().getAttributeContainer().getAttr("path"); assertThat(path).isEqualTo("foo"); } + + @Test + public void testSkylarkRepositoryName() throws Exception { + // Variation of the template rule to test the repository_ctx.name field. + scratch.file("/repo2/bar.txt", "filegroup(name='bar', srcs=['foo.txt'], path='{path}')"); + scratch.file("/repo2/BUILD"); + scratch.file("/repo2/WORKSPACE"); + scratch.file( + "def.bzl", + "def _impl(ctx):", + " ctx.template('BUILD', Label('@repo2//:bar.txt'), {'{path}': ctx.name})", + " ctx.file('foo.txt', 'foo')", + "", + "repo = repository_rule(", + " implementation=_impl,", + " local=True)"); + scratch.file(rootDirectory.getRelative("BUILD").getPathString()); + scratch.overwriteFile( + rootDirectory.getRelative("WORKSPACE").getPathString(), + "local_repository(name='repo2', path='/repo2')", + "load('//:def.bzl', 'repo')", + "repo(name='foobar')"); + invalidatePackages(); + ConfiguredTarget target = getConfiguredTarget("@foobar//:bar"); + Object path = target.getTarget().getAssociatedRule().getAttributeContainer().getAttr("path"); + assertThat(path).isEqualTo("foobar"); + } } |