package sbt
import java.io.File
import scala.collection.Set
import scala.collection.mutable.{HashSet, ListBuffer}
private[sbt] object object sbt.ClasspathUtilitiesClasspathUtilities
{
def (sbt.Path)BooleanisArchive(sbt.Pathpath: sbt.PathPath): BooleanBoolean = (java.io.File)BooleanisArchive(sbt.Pathpath.=> java.io.FileasFile)
def (java.io.File)BooleanisArchive(java.io.Filefile: java.io.FileFile): BooleanBoolean = (String)BooleanisArchiveName(java.io.Filefile.()java.lang.StringgetName)
def (String)BooleanisArchiveName(StringfileName: StringString) = StringfileName.(java.lang.String)BooleanendsWith(java.lang.String(".jar")".jar") (Boolean)Boolean|| StringfileName.(java.lang.String)BooleanendsWith(java.lang.String(".zip")".zip")
def (Iterable[java.io.File])(Iterable[java.io.File], Iterable[java.io.File])separate(Iterable[java.io.File]paths: Iterable[java.io.File]Iterable[File]): (Iterable[java.io.File], Iterable[java.io.File])(Iterable[File], Iterable[File]) = Iterable[java.io.File]paths.((java.io.File) => Boolean)(Iterable[java.io.File], Iterable[java.io.File])partition((java.io.File)BooleanisArchive)
def (Iterable[sbt.Path])(Iterable[java.io.File], Iterable[java.io.File])separatePaths(Iterable[sbt.Path]paths: Iterable[sbt.Path]Iterable[Path]) = (Iterable[java.io.File])(Iterable[java.io.File], Iterable[java.io.File])separate(Iterable[sbt.Path]paths.((sbt.Path) => java.io.File)Iterable[java.io.File]map(sbt.Path_.=> java.io.FileasFile.()java.io.FilegetCanonicalFile))
def (Iterable[sbt.Path])(scala.collection.Set[java.io.File], scala.collection.Set[java.io.File])buildSearchPaths(Iterable[sbt.Path]classpath: Iterable[sbt.Path]Iterable[Path]): (scala.collection.Set[java.io.File], scala.collection.Set[java.io.File])(Set[File], Set[File]) =
{
val (Iterable[java.io.File], Iterable[java.io.File])(Iterable[java.io.File]jars, Iterable[java.io.File]dirs) = (Iterable[sbt.Path])(Iterable[java.io.File], Iterable[java.io.File])separatePaths(Iterable[sbt.Path]classpath)
(scala.collection.Set[java.io.File],scala.collection.Set[java.io.File])(scala.collection.Set[java.io.File], scala.collection.Set[java.io.File])((Iterable[java.io.File])scala.collection.Set[java.io.File]linkedSet(Iterable[java.io.File]jars (Iterable[java.io.File])Collection[java.io.File]++ => scala.collection.Set[java.io.File]extraJars), (Iterable[java.io.File])scala.collection.Set[java.io.File]linkedSet(Iterable[java.io.File]dirs (Iterable[java.io.File])Collection[java.io.File]++ => scala.collection.Set[java.io.File]extraDirs))
}
def (scala.collection.Set[java.io.File],Iterable[java.io.File],java.io.File)BooleanonClasspath(scala.collection.Set[java.io.File]classpathJars: scala.collection.Set[java.io.File]Set[File], Iterable[java.io.File]classpathDirectories: Iterable[java.io.File]Iterable[File], java.io.Filefile: java.io.FileFile): BooleanBoolean =
{
val java.io.Filef = java.io.Filefile.()java.io.FilegetCanonicalFile
Booleanif(object sbt.ClasspathUtilitiesClasspathUtilities.(java.io.File)BooleanisArchive(java.io.Filef))
scala.collection.Set[java.io.File]classpathJars.(java.io.File)Booleancontains(java.io.Filef)
else
Iterable[java.io.File]classpathDirectories.((java.io.File) => Boolean)Option[java.io.File]find(object sbt.PathPath.(java.io.File,java.io.File)Option[String]relativize(java.io.File_, java.io.Filef).=> BooleanisDefined).=> BooleanisDefined
}
private lazy val (scala.collection.Set[java.io.File], scala.collection.Set[java.io.File])(scala.collection.Set[java.io.File]extraJars, scala.collection.Set[java.io.File]extraDirs) =
{
import scala.tools.nsc.GenericRunnerCommand
val scala.tools.nsc.GenericRunnerSettingssettings = ((List[String],(String) => Unit)scala.tools.nsc.GenericRunnerCommandnew scala.tools.nsc.GenericRunnerCommandGenericRunnerCommand(object NilNil, Stringmessage => (String)Nothingerror(Stringmessage))).=> scala.tools.nsc.GenericRunnerSettingssettings
val List[java.io.File]bootPaths = object sbt.FileUtilitiesFileUtilities.(String)Array[java.lang.String]pathSplit(scala.tools.nsc.GenericRunnerSettingssettings.=> scala.tools.nsc.Settings.StringSettingbootclasspath.=> settings.bootclasspath.Tvalue).((java.lang.String) => java.io.File)Array[java.io.File]map(java.lang.Stringp => java.io.Filenew java.io.FileFile(java.lang.Stringp)).=> List[java.io.File]toList
val (Iterable[java.io.File], Iterable[java.io.File])(Iterable[java.io.File]bootJars, Iterable[java.io.File]bootDirs) = (Iterable[java.io.File])(Iterable[java.io.File], Iterable[java.io.File])separate(List[java.io.File]bootPaths)
val List[java.io.File]extJars =
{
val scala.collection.mutable.ListBuffer[java.io.File]buffer = scala.collection.mutable.ListBuffer[java.io.File]new scala.collection.mutable.ListBuffer[java.io.File]ListBuffer[File]
def (java.io.File)UnitfindJars(java.io.Filedir: java.io.FileFile)
{
scala.collection.mutable.ListBuffer[java.io.File]buffer (Iterable[java.io.File])Unit++= java.io.Filedir.(java.io.FileFilter)Array[java.io.File]listFiles(sbt.SimpleFileFilternew sbt.SimpleFileFilterSimpleFileFilter((java.io.File)BooleanisArchive))
for(((java.io.File) => Unit)Unitdir <- java.io.Filedir.(java.io.FileFilter)Array[java.io.File]listFiles(object sbt.DirectoryFilterDirectoryFilter))
(java.io.File)UnitfindJars(java.io.Filedir)
}
for((((java.lang.String, java.io.File)) => Unit)Unitpath <- object sbt.FileUtilitiesFileUtilities.(String)Array[java.lang.String]pathSplit(scala.tools.nsc.GenericRunnerSettingssettings.=> scala.tools.nsc.Settings.StringSettingextdirs.=> settings.extdirs.Tvalue); val java.io.Filedir = java.io.Filenew java.io.FileFile(java.lang.Stringpath) if java.io.Filedir.()BooleanisDirectory)
(java.io.File)UnitfindJars(java.io.Filedir)
scala.collection.mutable.ListBuffer[java.io.File]buffer.=> List[java.io.File]readOnly.((java.io.File) => java.io.File)List[java.io.File]map(java.io.File_.()java.io.FilegetCanonicalFile)
}
(scala.collection.Set[java.io.File],scala.collection.Set[java.io.File])(scala.collection.Set[java.io.File], scala.collection.Set[java.io.File])((Iterable[java.io.File])scala.collection.Set[java.io.File]linkedSet(List[java.io.File]extJars (Iterable[java.io.File])List[java.io.File]++ Iterable[java.io.File]bootJars), (Iterable[java.io.File])scala.collection.Set[java.io.File]linkedSet(Iterable[java.io.File]bootDirs))
}
private def [T](Iterable[T])scala.collection.Set[T]linkedSet[>: Nothing <: AnyT](Iterable[T]s: Iterable[T]Iterable[T]): scala.collection.Set[T]Set[T] =
{
import scala.collection.jcl.Conversions.convertSet
val scala.collection.mutable.Set[T]set: scala.collection.mutable.scala.collection.mutable.Set[T]Set[T] = (java.util.Set[T])java.lang.Object with scala.collection.jcl.SetWrapper[T]new java.util.java.util.LinkedHashSet[T]LinkedHashSet[T]
scala.collection.mutable.Set[T]set (Iterable[T])Unit++= Iterable[T]s
scala.collection.mutable.Set[T]set.=> scala.collection.Set[T]readOnly
}
}
import java.net.{URL, URLClassLoader}
private abstract class class LoaderBase extends java.net.URLClassLoader with NotNull with ScalaObjectLoaderBase(Array[java.net.URL]urls: Array[java.net.URL]Array[URL], java.lang.ClassLoaderparent: java.lang.ClassLoaderClassLoader) extends java.net.URLClassLoaderURLClassLoader(Array[java.net.URL]urls, java.lang.ClassLoaderparent) with NotNullNotNull
{
(Boolean)Unitrequire(java.lang.ClassLoaderparent (AnyRef)Boolean!= Null(null)null)
@throwsthrows(java.lang.Class[java.lang.ClassNotFoundException]classOf[ClassNotFoundException])
override final def (String,Boolean)Class[_]loadClass(StringclassName: StringString, Booleanresolve: BooleanBoolean): Class[_]Class[_] =
{
val java.lang.Class[_]loaded = (java.lang.String)java.lang.Class[_]findLoadedClass(StringclassName)
val java.lang.Class[_ >: _$2 with ?0]found =
java.lang.Class[_8]if(java.lang.Class[_]loaded (AnyRef)Boolean== Null(null)null)
(String)Class[_]doLoadClass(StringclassName)
else
java.lang.Class[_]loaded
Unitif(Booleanresolve)
(java.lang.Class[_])UnitresolveClass(java.lang.Class[_ >: _$2 with ?0]found)
java.lang.Class[_ >: _$2 with ?0]found
}
protected def (String)Class[_]doLoadClass(StringclassName: StringString): Class[_]Class[_]
protected final def (String)Class[_]selfLoadClass(StringclassName: StringString): Class[_]Class[_] = super.(java.lang.String,Boolean)java.lang.Class[_]loadClass(StringclassName, Boolean(false)false)
}
private class class IntermediateLoader extends sbt.LoaderBase with NotNull with ScalaObjectIntermediateLoader(Array[java.net.URL]urls: Array[java.net.URL]Array[URL], java.lang.ClassLoaderparent: java.lang.ClassLoaderClassLoader) extends sbt.LoaderBaseLoaderBase(Array[java.net.URL]urls, java.lang.ClassLoaderparent) with NotNullNotNull
{
def (String)Class[_]doLoadClass(StringclassName: StringString): Class[_]Class[_] =
{
java.lang.Class[_9]if(StringclassName.(java.lang.String)BooleanstartsWith(object sbt.LoadersLoaders.=> java.lang.StringSbtPackage))
(java.lang.String)java.lang.Class[_]findClass(StringclassName)
else
(String)Class[_]selfLoadClass(StringclassName)
}
}
private class class FilteredLoader extends java.net.URLClassLoader with NotNull with ScalaObjectFilteredLoader(Array[java.net.URL]urls: Array[java.net.URL]Array[URL], java.lang.ClassLoaderparent: java.lang.ClassLoaderClassLoader, sbt.ClassFilterfilter: sbt.ClassFilterClassFilter) extends java.net.URLClassLoaderURLClassLoader(Array[java.net.URL]urls, java.lang.ClassLoaderparent) with NotNullNotNull
{
def (Array[java.net.URL],java.lang.ClassLoader,Iterable[String])sbt.FilteredLoaderthis(Array[java.net.URL]urls: Array[java.net.URL]Array[URL], java.lang.ClassLoaderparent: java.lang.ClassLoaderClassLoader, Iterable[String]includePackages: Iterable[String]Iterable[String]) =
FilteredLoader.this.typethis(Array[java.net.URL]urls, java.lang.ClassLoaderparent, template $anon extends java.lang.Object with sbt.ClassFilternew sbt.ClassFilterClassFilter { def (String)Booleaninclude(StringclassName: StringString) = Iterable[String]includePackages.((String) => Boolean)Booleanexists(StringclassName.(java.lang.String)BooleanstartsWith) })
(Boolean)Unitrequire(java.lang.ClassLoaderparent (AnyRef)Boolean!= Null(null)null)
@throwsthrows(java.lang.Class[java.lang.ClassNotFoundException]classOf[ClassNotFoundException])
override final def (String,Boolean)Class[_]loadClass(StringclassName: StringString, Booleanresolve: BooleanBoolean): Class[_]Class[_] =
{
java.lang.Class[_10]if(sbt.ClassFilterfilter.(String)Booleaninclude(StringclassName))
super.(java.lang.String,Boolean)java.lang.Class[_]loadClass(StringclassName, Booleanresolve)
else
{
val java.lang.Class[_]loaded = java.lang.ClassLoaderparent.(java.lang.String)java.lang.Class[_]loadClass(StringclassName)
Unitif(Booleanresolve)
(java.lang.Class[_])UnitresolveClass(java.lang.Class[_]loaded)
java.lang.Class[_]loaded
}
}
}
private trait trait ClassFilter extends java.lang.ObjectClassFilter
{
def (String)Booleaninclude(StringclassName: StringString): BooleanBoolean
}
private class class LazyFrameworkLoader extends sbt.LoaderBase with NotNull with ScalaObjectLazyFrameworkLoader(StringrunnerClassName: StringString, Array[java.net.URL]urls: Array[java.net.URL]Array[URL], java.lang.ClassLoaderparent: java.lang.ClassLoaderClassLoader, java.lang.ClassLoadergrandparent: java.lang.ClassLoaderClassLoader)
extends sbt.LoaderBaseLoaderBase(Array[java.net.URL]urls, java.lang.ClassLoaderparent) with NotNullNotNull
{
def (String)Class[_]doLoadClass(StringclassName: StringString): Class[_]Class[_] =
{
java.lang.Class[_12]if(object sbt.LoadersLoaders.(String,String)BooleanisNestedOrSelf(StringclassName, StringrunnerClassName))
(java.lang.String)java.lang.Class[_]findClass(StringclassName)
else java.lang.Class[_11]if(StringclassName.(java.lang.String)BooleanstartsWith(object sbt.LoadersLoaders.=> java.lang.StringSbtPackage))
java.lang.ClassLoadergrandparent.(java.lang.String)java.lang.Class[_]loadClass(StringclassName)
else
java.lang.ClassLoaderparent.(java.lang.String)java.lang.Class[_]loadClass(StringclassName)
}
}
private object object sbt.LoadersLoaders
{
val java.lang.StringSbtPackage = java.lang.String("sbt.")"sbt."
def (String,String)BooleanisNestedOrSelf(StringclassName: StringString, StringcheckAgainst: StringString) =
StringclassName (AnyRef)Boolean== StringcheckAgainst (Boolean)Boolean|| StringclassName.(java.lang.String)BooleanstartsWith(StringcheckAgainst (Any)java.lang.String+ java.lang.String("$")"$")
}