remove duplicates from allJars when creating ScalaInstance #5052 (#5053)

Fixes #5052
This commit is contained in:
Dmitrii Naumenko 2019-09-07 23:26:13 +03:00 committed by eugene yokota
parent 946cbfe2b4
commit e28e451431
1 changed files with 5 additions and 3 deletions

View File

@ -812,10 +812,12 @@ object Defaults extends BuildCommon {
compilerJar: File, compilerJar: File,
classLoaderCache: sbt.internal.inc.classpath.ClassLoaderCache classLoaderCache: sbt.internal.inc.classpath.ClassLoaderCache
): ScalaInstance = { ): ScalaInstance = {
val allJarsDistinct = allJars.distinct
val libraryLoader = classLoaderCache(libraryJars.toList) val libraryLoader = classLoaderCache(libraryJars.toList)
class ScalaLoader extends URLClassLoader(allJars.map(_.toURI.toURL).toArray, libraryLoader) class ScalaLoader
extends URLClassLoader(allJarsDistinct.map(_.toURI.toURL).toArray, libraryLoader)
val fullLoader = classLoaderCache.cachedCustomClassloader( val fullLoader = classLoaderCache.cachedCustomClassloader(
allJars.toList, allJarsDistinct.toList,
() => new ScalaLoader () => new ScalaLoader
) )
new ScalaInstance( new ScalaInstance(
@ -824,7 +826,7 @@ object Defaults extends BuildCommon {
libraryLoader, libraryLoader,
libraryJars, libraryJars,
compilerJar, compilerJar,
allJars.toArray, allJarsDistinct.toArray,
Some(version) Some(version)
) )
} }