Packages

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

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Plugin
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Plugin()

Abstract Value Members

  1. abstract val components: List[PluginComponent]

    The components that this phase defines

  2. abstract val description: String

    A one-line description of the plugin

  3. 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.

  4. abstract val name: String

    The name of this plugin

Concrete Value Members

  1. 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

  2. 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 sees List(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

  3. def options: List[String]
  4. 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.

  5. def processOptions(options: List[String], error: (String) ⇒ Unit): Unit
    Annotations
    @deprecatedOverriding( "use Plugin#init instead" , "2.11.0" )
  6. 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