diff options
Diffstat (limited to 'stage1')
-rw-r--r-- | stage1/resolver.scala | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/stage1/resolver.scala b/stage1/resolver.scala index 1dbadcc..98955cb 100644 --- a/stage1/resolver.scala +++ b/stage1/resolver.scala @@ -92,10 +92,12 @@ abstract class Dependency{ // trigger concurrent building / downloading dependencies exportClasspathConcurrently } - val transitiveClassPath = transitiveDependencies.map{ + val transitiveClassPath = { + (this +: transitiveDependencies).map{ case d if d.canBeCached => Left(d) case d => Right(d) } + } val buildClassPath = ClassPath.flatten( transitiveClassPath.flatMap( _.right.toOption.map(_.exportedClasspath) @@ -109,12 +111,12 @@ abstract class Dependency{ if(cacheDependencyClassLoader){ new URLClassLoader( - exportedClasspath ++ buildClassPath, + buildClassPath, ClassLoaderCache.get( cachedClassPath ) ) } else { new URLClassLoader( - exportedClasspath ++ buildClassPath ++ cachedClassPath, ClassLoader.getSystemClassLoader + buildClassPath ++ cachedClassPath, ClassLoader.getSystemClassLoader ) } } |