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 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( ... ) @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.