aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2016-01-22 17:26:27 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-01-25 16:50:41 +0000
commit9a46e2fc44590b44a244e683e6b3c3814191342d (patch)
tree1ba614926a19b6df8eee6653efaca99f873079ad /src
parenta88755c14fe9947245c987dfd2f2aa561430561a (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.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java15
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\")");
+ }
}