aboutsummaryrefslogtreecommitdiff
path: root/stage1
diff options
context:
space:
mode:
Diffstat (limited to 'stage1')
-rw-r--r--stage1/classloader.scala4
-rw-r--r--stage1/resolver.scala9
2 files changed, 6 insertions, 7 deletions
diff --git a/stage1/classloader.scala b/stage1/classloader.scala
index 3293dd1..50e33a2 100644
--- a/stage1/classloader.scala
+++ b/stage1/classloader.scala
@@ -8,7 +8,7 @@ import scala.collection.immutable.Seq
object ClassLoaderCache{
private val cache = NailgunLauncher.classLoaderCache
- def classLoader( classpath: ClassPath, parent: ClassLoader )(implicit logger: Logger): ClassLoader
+ def get( classpath: ClassPath )(implicit logger: Logger): ClassLoader
= cache.synchronized{
val lib = new Stage1Lib(logger)
val key = classpath.strings.sorted.mkString(":")
@@ -17,7 +17,7 @@ object ClassLoaderCache{
cache.get(key)
} else {
logger.resolver("CACHE MISS: "++key)
- val cl = new cbt.URLClassLoader( classpath, parent )
+ val cl = new cbt.URLClassLoader( classpath, ClassLoader.getSystemClassLoader )
cache.put( key, cl )
cl
}
diff --git a/stage1/resolver.scala b/stage1/resolver.scala
index 9b3276b..fae5e9d 100644
--- a/stage1/resolver.scala
+++ b/stage1/resolver.scala
@@ -45,21 +45,20 @@ abstract class Dependency{
_.right.toOption.map(_.exportedClasspath)
)
)
- val mavenClassPath = ClassPath.flatten(
+ val cachedClassPath = ClassPath.flatten(
transitiveClassPath.flatMap(
_.left.toOption
).par.map(_.exportedClasspath).seq.sortBy(_.string)
)
+
if(cacheDependencyClassLoader){
new URLClassLoader(
exportedClasspath ++ buildClassPath,
- ClassLoaderCache.classLoader(
- mavenClassPath, new URLClassLoader( mavenClassPath, ClassLoader.getSystemClassLoader )
- )
+ ClassLoaderCache.get( cachedClassPath )
)
} else {
new URLClassLoader(
- exportedClasspath ++ buildClassPath ++ mavenClassPath, ClassLoader.getSystemClassLoader
+ exportedClasspath ++ buildClassPath ++ cachedClassPath, ClassLoader.getSystemClassLoader
)
}
}