object CompilerPluginAllowlist
- Alphabetic
- By Inheritance
- CompilerPluginAllowlist
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- val disallowedScalaVersions: List[String]
A sequence of versions that are known not to support compiler plugin classloading.
- def enableCachingInScalacOptions(scalaVersion: String, scalacOptions: List[String], logger: Logger, tracer: BraveTracer, parallelUnits: Int): Task[List[String]]
Enable compiler plugin caching in scalac options if the feature is supported in the given scala version and all the compiler plugins in a project are marked as safe in Bloop's compiler plugin whitelist.
Enable compiler plugin caching in scalac options if the feature is supported in the given scala version and all the compiler plugins in a project are marked as safe in Bloop's compiler plugin whitelist.
This is a method that can be called concurrently by different compiler processes that share the same compiler option, so it needs to be thread-safe. To compute whether a compiler plugin is friendly to caching or not, we first try to acquire the scalac option representing that compiler plugin and then process that in parallel. If we cannot acquire the processing of a given compiler plugin, it means another concurrent process is doing it, so before returning we wait on those background computations. Once all the compiler plugins have been populated, we check if all compiler plugins are cache friendly and, if that's the case, we add a scalac option to cache plugin classloaders.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val whitelistedPluginNames: List[String]
A list of compiler plugin names (as specified in their scalac-plugin.xml whose classloaders are safe to be cached.
A list of compiler plugin names (as specified in their scalac-plugin.xml whose classloaders are safe to be cached. The plugin sources of every plugin have been checked to ensure there is no global state and this is a requirement to adding new names in the list.
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)