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
-
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
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
- 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" )
-
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
The Scala compiler and reflection APIs.