| Index: packages/plugin/README.md
|
| diff --git a/packages/plugin/README.md b/packages/plugin/README.md
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..3d5c0624e99310a130ad6ea86f89155cbe17063a
|
| --- /dev/null
|
| +++ b/packages/plugin/README.md
|
| @@ -0,0 +1,33 @@
|
| +# plugin
|
| +
|
| +Support for building plugins in Dart.
|
| +
|
| +This project defines a simple framework for defining plugins. A _plugin_ is the
|
| +unit of extensibility for a host application.
|
| +
|
| +An _extension point_ represents one way of extending the host application. For
|
| +example, a file viewer application might define an extension point to allow
|
| +viewers for new file types to be added to the application.
|
| +
|
| +The host application must provide at least one extension point that plugins can
|
| +extend. Every extension point must have a unique name associated with it, and
|
| +should specify the type of the objects that will be accepted as extensions. In
|
| +the example above, the extension point might require that all extensions
|
| +implement the interface FileViewer.
|
| +
|
| +Any plugin can define extension points that other plugins can extend. The host
|
| +application contributes its own extension point(s) by defining a plugin.
|
| +
|
| +An _extension_ is an object that a plugin associates with a particular extension
|
| +point. To continue the example, a plugin that supports the viewing of .gif files
|
| +would create an instance of GifFileViewer, a class that implements FileViewer.
|
| +
|
| +The framework in this package then connects the defined extensions with the
|
| +defined extension points so that the separately contributed plugins can
|
| +coordinate to accomplish the larger goal.
|
| +
|
| +## Features and bugs
|
| +
|
| +Please file feature requests and bugs at the [issue tracker][tracker].
|
| +
|
| +[tracker]: https://github.com/dart-lang/plugin/issues
|
|
|