diff --git a/util/classpath/src/main/scala/sbt/classpath/ClassLoaders.scala b/util/classpath/src/main/scala/sbt/classpath/ClassLoaders.scala index e67764178..427250153 100644 --- a/util/classpath/src/main/scala/sbt/classpath/ClassLoaders.scala +++ b/util/classpath/src/main/scala/sbt/classpath/ClassLoaders.scala @@ -44,18 +44,6 @@ class SelfFirstLoader(classpath: Seq[URL], parent: ClassLoader) extends LoaderBa } -private class IntermediateLoader(urls: Array[URL], parent: ClassLoader) extends LoaderBase(urls, parent) -{ - def doLoadClass(className: String): Class[_] = - { - // if this loader is asked to load an sbt class, it must be because the project we are building is sbt itself, - // so we want to load the version of classes on the project classpath, not the parent - if(className.startsWith(Loaders.SbtPackage)) - findClass(className) - else - defaultLoadClass(className) - } -} /** Delegates class loading to `parent` for all classes included by `filter`. An attempt to load classes excluded by `filter` * results in a `ClassNotFoundException`.*/ class FilteredLoader(parent: ClassLoader, filter: ClassFilter) extends ClassLoader(parent) @@ -72,25 +60,6 @@ class FilteredLoader(parent: ClassLoader, filter: ClassFilter) extends ClassLoad throw new ClassNotFoundException(className) } } -private class SelectiveLoader(urls: Array[URL], parent: ClassLoader, filter: ClassFilter) extends URLClassLoader(urls, parent) -{ - require(parent != null) // included because a null parent is legitimate in Java - def this(urls: Array[URL], parent: ClassLoader, includePackages: Iterable[String]) = this(urls, parent, new IncludePackagesFilter(includePackages)) - - @throws(classOf[ClassNotFoundException]) - override final def loadClass(className: String, resolve: Boolean): Class[_] = - { - if(filter.include(className)) - super.loadClass(className, resolve) - else - { - val loaded = parent.loadClass(className) - if(resolve) - resolveClass(loaded) - loaded - } - } -} trait ClassFilter { def include(className: String): Boolean @@ -109,27 +78,6 @@ class IncludePackagesFilter(include: Iterable[String]) extends PackageFilter(inc def include(className: String): Boolean = matches(className) } -private[sbt] class LazyFrameworkLoader(runnerClassName: String, urls: Array[URL], parent: ClassLoader, grandparent: ClassLoader) - extends LoaderBase(urls, parent) -{ - def doLoadClass(className: String): Class[_] = - { - if(Loaders.isNestedOrSelf(className, runnerClassName)) - findClass(className) - else if(Loaders.isSbtClass(className)) // we circumvent the parent loader because we know that we want the - grandparent.loadClass(className) // version of sbt that is currently the builder (not the project being built) - else - parent.loadClass(className) - } -} -private object Loaders -{ - val SbtPackage = "sbt." - def isNestedOrSelf(className: String, checkAgainst: String) = - className == checkAgainst || className.startsWith(checkAgainst + "$") - def isSbtClass(className: String) = className.startsWith(Loaders.SbtPackage) -} - final class NativeCopyConfig(val tempDirectory: File, val explicitLibraries: Seq[File], val searchPaths: Seq[File]) trait NativeCopyLoader extends ClassLoader {