mirror of https://github.com/sbt/sbt.git
Fixes #1881. Clone SystemProperties defending against ConcurrentModificationException
This commit is contained in:
parent
4c69f5abd4
commit
24d2a2024b
|
|
@ -2,6 +2,7 @@ package sbt
|
||||||
|
|
||||||
import java.io.{ IOException, StringWriter, PrintWriter, File }
|
import java.io.{ IOException, StringWriter, PrintWriter, File }
|
||||||
import java.net.InetAddress
|
import java.net.InetAddress
|
||||||
|
import java.util.Hashtable
|
||||||
|
|
||||||
import scala.collection.mutable.ListBuffer
|
import scala.collection.mutable.ListBuffer
|
||||||
import scala.util.DynamicVariable
|
import scala.util.DynamicVariable
|
||||||
|
|
@ -27,7 +28,9 @@ class JUnitXmlTestsListener(val outputDir: String) extends TestsListener {
|
||||||
val properties =
|
val properties =
|
||||||
<properties>
|
<properties>
|
||||||
{
|
{
|
||||||
val iter = System.getProperties.entrySet.iterator
|
// create a clone, defending against [[ConcurrentModificationException]]
|
||||||
|
val clonedProperties = System.getProperties.clone.asInstanceOf[Hashtable[AnyRef, AnyRef]]
|
||||||
|
val iter = clonedProperties.entrySet.iterator
|
||||||
val props: ListBuffer[XNode] = new ListBuffer()
|
val props: ListBuffer[XNode] = new ListBuffer()
|
||||||
while (iter.hasNext) {
|
while (iter.hasNext) {
|
||||||
val next = iter.next
|
val next = iter.next
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue