abstract class Plugin extends AnyRef
Information about a plugin loaded from a jar file.
The concrete subclass must have a one-argument constructor
that accepts an instance of global
.
(val global: Global)
- Source
- Plugin.scala
- Alphabetic
- By Inheritance
- Plugin
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Plugin()
Abstract Value Members
- abstract val components: List[PluginComponent]
The components that this phase defines
- abstract val description: String
A one-line description of the plugin
- abstract val global: Global
The compiler that this plugin uses.
The compiler that this plugin uses. This is normally equated to a constructor parameter in the concrete subclass.
- abstract val name: String
The name of this plugin
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Plugin, B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def augmentManifest(file: AbstractFile, manifest: Manifest): Unit
A callback to allow a plugin to customise the manifest of a jar.
A callback to allow a plugin to customise the manifest of a jar. This is only called if the output is a jar. In the case of a multi-output compile, it is called once for each output (if the output is a jar). Typically this extension point is to avoid the build system having an additional step to add this information, while would otherwise require the jar to be re-built ( as the manifest is required to be the first entry in a jar. The default implementation is a NO-OP
- file
the file that will contains this manifest. Int the case of a multi-output compile, the plugin can use this to differentiate the outputs
- manifest
the manifest that will be written
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (Plugin) => Boolean, msg: => Any): Plugin
- def ensuring(cond: (Plugin) => Boolean): Plugin
- def ensuring(cond: Boolean, msg: => Any): Plugin
- def ensuring(cond: Boolean): Plugin
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def init(options: List[String], error: (String) => Unit): Boolean
Handle any plugin-specific options.
Handle any plugin-specific options. The user writes
-P:plugname:opt1,opt2
, but the plugin seesList(opt1, opt2)
. The plugin can opt out of further processing by returning false. For example, if the plugin has an "enable" flag, now would be a good time to sit on the bench.- options
plugin arguments
- error
error function
- returns
true to continue, or false to opt out
- 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
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def options: List[String]
- val optionsHelp: Option[String]
A description of this plugin's options, suitable as a response to the -help command-line option.
A description of this plugin's options, suitable as a response to the -help command-line option. Conventionally, the options should be listed with the
-P:plugname:
part included. - def processOptions(options: List[String], error: (String) => Unit): Unit
- Annotations
- @deprecatedOverriding("use Plugin#init instead", "2.11.0")
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
- def writeAdditionalOutputs(writer: OutputFileWriter): Unit
A callback to allow a plugin to add additional resources to the generated output.
A callback to allow a plugin to add additional resources to the generated output. This allows a plug to, for instance, package resources or services into a jar, or add artifacts specific to a build environment. Typically this extension point is used when writing to a jar, to avoid the build system having an additional step to add these resources, and therefore speed up the build process. The default implementation is a NO-OP
- writer
the writer associated with the targets
Deprecated Value Members
- def →[B](y: B): (Plugin, B)
- Implicit
- This member is added by an implicit conversion from Plugin toArrowAssoc[Plugin] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.