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
- Version
1.0, 2007-5-21
- Alphabetic
- By Inheritance
- Plugin
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
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 rebuilt (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( ... ) @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: Any): 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[_]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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
- def →[B](y: B): (Plugin, B)
The Scala compiler and reflection APIs.