diff options
author | 2016-10-13 19:45:30 +0000 | |
---|---|---|
committer | 2016-10-14 09:33:03 +0000 | |
commit | 73d738e483bb428083185c5bb92b4fe6ecfe0834 (patch) | |
tree | 6f7c45466938c6272ca8945c72394da8f48e24c4 /src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java | |
parent | 2c91836c8d4232f26a5b764ea91b7cdb47240b7e (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.java | 9 |
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; } |