aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-10-13 19:45:30 +0000
committerGravatar Yue Gan <yueg@google.com>2016-10-14 09:33:03 +0000
commit73d738e483bb428083185c5bb92b4fe6ecfe0834 (patch)
tree6f7c45466938c6272ca8945c72394da8f48e24c4 /src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
parent2c91836c8d4232f26a5b764ea91b7cdb47240b7e (diff)
Fix IllegalStateException when reloading several time the same extension
Fixes #1469. -- Change-Id: I3ffc18208ba346e03658ebeb4d2bb5938113a476 Reviewed-on: https://bazel-review.googlesource.com/6615 MOS_MIGRATED_REVID=136073702
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
index 12c5caa66b..ba1440f2c4 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
@@ -49,6 +49,7 @@ import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkSignatureProcessor;
import com.google.devtools.build.lib.vfs.Path;
import java.io.File;
+import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -181,11 +182,9 @@ public class WorkspaceFactory {
.setGlobals(Environment.BUILD)
.setEventHandler(localReporter);
if (importedExtensions != null) {
- importMap =
- ImmutableMap.<String, Extension>builder()
- .putAll(parentImportMap)
- .putAll(importedExtensions)
- .build();
+ Map<String, Extension> map = new HashMap<String, Extension>(parentImportMap);
+ map.putAll(importedExtensions);
+ importMap = ImmutableMap.<String, Extension>copyOf(importedExtensions);
} else {
importMap = parentImportMap;
}