Plugin Dependency and Packaging
From CoreASM Wiki
George proposes adding a function:
pluginDependencies: Plugin -> Plugin-Set
to the Plugin interface. It will return a list of the plugins that this plugin is dependent on. During plugin loading, in engine loadSpecPlugins(), we would call getDependencies on each plugin and recursively load dependent plugins if those plugins have not already been loaded.
The abstract base class Plugin would return null, meaning there are no dependencies, as the default implementation of this method.
We could also exploit this function to do plugin packaging, by creating a plugin that just has dependencies (and no other functionality).
Roozbeh
A minor correction:
pluginDependencies: Plugin --> PluginName-set
This is now implemented. We later discussed and turned down the idea of using this function to support package plugins. See Package Plugins.

