Allow dot ('.') in workspace names.

RELNOTES: Dot ('.') is now allowed in workspace names. See https://github.com/bazelbuild/bazel/issues/11837.
PiperOrigin-RevId: 327160423
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
index ab98b38..b024078 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
@@ -50,7 +50,7 @@
 public class WorkspaceGlobals implements WorkspaceGlobalsApi {
 
   // Must start with a letter and can contain letters, numbers, underscores and hyphens.
-  private static final Pattern LEGAL_WORKSPACE_NAME = Pattern.compile("^\\p{Alpha}[\\w-]*$");
+  private static final Pattern LEGAL_WORKSPACE_NAME = Pattern.compile("^\\p{Alpha}[-.\\w]*$");
 
   private final boolean allowOverride;
   private final RuleFactory ruleFactory;
diff --git a/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTest.java b/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTest.java
index 7d1e676..c153fd4 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTest.java
@@ -53,8 +53,8 @@
 
   @Test
   public void testWorkspaceWithIllegalCharacters() throws Exception {
-    helper.parse("workspace(name = 'a.b.c')");
-    assertThat(helper.getParserError()).contains("a.b.c is not a legal workspace name");
+    helper.parse("workspace(name = 'a+b+c')");
+    assertThat(helper.getParserError()).contains("a+b+c is not a legal workspace name");
   }
 
   @Test