sbt.internal.inc.classpath

Type members

Classlikes

trait AbstractClassLoaderCache extends AutoCloseable

Defines a filter on class names.

Defines a filter on class names.

final class ClassLoaderCache(abstractClassLoaderCache: AbstractClassLoaderCache) extends AutoCloseable
final class ClasspathFilter(parent: ClassLoader, root: ClassLoader, classpath: Set[Path]) extends ClassLoader

Doesn't load any classes itself, but instead verifies that all classes loaded through parent either come from root or classpath.

Doesn't load any classes itself, but instead verifies that all classes loaded through parent either come from root or classpath.

class DifferentLoaders(message: String, val loaderA: ClassLoader, val loaderB: ClassLoader) extends ClassNotFoundException

Exception thrown when loaderA and loaderB load a different Class for the same name.

Exception thrown when loaderA and loaderB load a different Class for the same name.

final class DualEnumeration[T](a: Enumeration[T], b: Enumeration[T]) extends Enumeration[T]

Concatenates a and b into a single Enumeration.

Concatenates a and b into a single Enumeration.

class DualLoader(parentA: ClassLoader, aOnlyClasses: String => Boolean, aOnlyResources: String => Boolean, parentB: ClassLoader, bOnlyClasses: String => Boolean, bOnlyResources: String => Boolean) extends ClassLoader

A ClassLoader with two parents parentA and parentB. The predicates direct lookups towards one parent or the other.

A ClassLoader with two parents parentA and parentB. The predicates direct lookups towards one parent or the other.

If aOnlyClasses returns true for a class name, class lookup delegates to parentA only. Otherwise, if bOnlyClasses returns true for a class name, class lookup delegates to parentB only. If both aOnlyClasses and bOnlyClasses are false for a given class name, both class loaders must load the same Class or a DifferentLoaders exception is thrown.

If aOnlyResources is true for a resource path, lookup delegates to parentA only. Otherwise, if bOnlyResources is true for a resource path, lookup delegates to parentB only. If neither are true for a resource path and either parentA or parentB return a valid URL, that valid URL is returned.

final class ExcludePackagesFilter(exclude: Iterable[String]) extends PackageFilter

Excludes class names that begin with one of the packages in exclude. Each package name in packages must end with a .

Excludes class names that begin with one of the packages in exclude. Each package name in packages must end with a .

final class FilteredLoader(parent: ClassLoader, filter: ClassFilter) extends ClassLoader

Delegates class loading to parent for all classes included by filter. An attempt to load classes excluded by filter results in a ClassNotFoundException.

Delegates class loading to parent for all classes included by filter. An attempt to load classes excluded by filter results in a ClassNotFoundException.

trait FixedResources extends ClassLoader

A ClassLoader that looks up resource requests in a Map prior to the base ClassLoader's resource lookups.

A ClassLoader that looks up resource requests in a Map prior to the base ClassLoader's resource lookups.

final class IncludePackagesFilter(include: Iterable[String]) extends PackageFilter

Includes class names that begin with one of the packages in include. Each package name in include must end with a .

Includes class names that begin with one of the packages in include. Each package name in include must end with a .

abstract class LoaderBase(urls: Seq[URL], parent: ClassLoader) extends URLClassLoader

This is a starting point for defining a custom ClassLoader. Override 'doLoadClass' to define loading a class that has not yet been loaded.

This is a starting point for defining a custom ClassLoader. Override 'doLoadClass' to define loading a class that has not yet been loaded.

final class NativeCopyConfig(val tempDirectory: Path, val explicitLibraries: Seq[Path], val searchPaths: Seq[Path])

Configures a NativeCopyLoader. The loader will provide native libraries listed in explicitLibraries and on searchPaths by copying them to tempDirectory. If tempDirectory is unique to the class loader, this ensures that the class loader gets a unique path for the native library and avoids the restriction on a native library being loaded by a single class loader.

Configures a NativeCopyLoader. The loader will provide native libraries listed in explicitLibraries and on searchPaths by copying them to tempDirectory. If tempDirectory is unique to the class loader, this ensures that the class loader gets a unique path for the native library and avoids the restriction on a native library being loaded by a single class loader.

trait NativeCopyLoader extends ClassLoader

Loads native libraries from a temporary location in order to work around the jvm native library uniqueness restriction. See NativeCopyConfig for configuration details.

Loads native libraries from a temporary location in order to work around the jvm native library uniqueness restriction. See NativeCopyConfig for configuration details.

final class NullLoader extends ClassLoader

A class loader that always fails to load classes and resources.

A class loader that always fails to load classes and resources.

abstract class PackageFilter(packages: Iterable[String]) extends ClassFilter

A ClassLoader that looks up resource requests in a Map prior to the base ClassLoader's resource lookups.

A ClassLoader that looks up resource requests in a Map prior to the base ClassLoader's resource lookups.

object RawURL
final class SelfFirstLoader(classpath: Seq[URL], parent: ClassLoader) extends LoaderBase

Searches self first before delegating to the parent.

Searches self first before delegating to the parent.

Deprecated classlikes

@deprecated("internal", "1.4.0")
Deprecated