diff options
author | Kristina Chodorow <kchodorow@google.com> | 2016-01-22 17:26:27 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2016-01-25 16:50:41 +0000 |
commit | 9a46e2fc44590b44a244e683e6b3c3814191342d (patch) | |
tree | 1ba614926a19b6df8eee6653efaca99f873079ad /src | |
parent | a88755c14fe9947245c987dfd2f2aa561430561a (diff) |
Always generate a workspace name for new repositories
--
MOS_MIGRATED_REVID=112790992
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java | 3 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java | 15 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java index 9e0880edb5..48a8eb4354 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java @@ -236,7 +236,8 @@ public abstract class RepositoryFunction { try { Path workspaceFile = repositoryDirectory.getRelative("WORKSPACE"); FileSystemUtils.writeContent(workspaceFile, Charset.forName("UTF-8"), - String.format("# DO NOT EDIT: automatically generated WORKSPACE file for %s\n", rule)); + String.format("# DO NOT EDIT: automatically generated WORKSPACE file for %s\n" + + "workspace(name = \"%s\")", rule, rule.getName())); } catch (IOException e) { throw new RepositoryFunctionException(e, Transience.TRANSIENT); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java index 8fcd56605c..84a17b2794 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java @@ -14,12 +14,14 @@ package com.google.devtools.build.lib.rules.repository; +import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertEquals; import com.google.common.annotations.VisibleForTesting; import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.packages.Rule; +import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.SkyFunction; @@ -85,4 +87,17 @@ public class RepositoryFunctionTest extends BuildViewTestCase { assertEquals(new PathFragment("/a/b/c"), TestingRepositoryFunction.getTargetPath(rule, rootDirectory)); } + + @Test + public void testGenerateWorkspaceFile() throws Exception { + Rule rule = scratchRule("external", "abc", "local_repository(", + " name = 'abc',", + " path = '/a/b/c',", + ")"); + TestingRepositoryFunction repositoryFunction = new TestingRepositoryFunction(); + repositoryFunction.createWorkspaceFile(rootDirectory, rule); + String workspaceContent = new String( + FileSystemUtils.readContentAsLatin1(rootDirectory.getRelative("WORKSPACE"))); + assertThat(workspaceContent).contains("workspace(name = \"abc\")"); + } } |