Skip to content
Niall O'Higgins edited this page Aug 19, 2013 · 9 revisions

Problem

The execution of plugin hooks needs to be order-able beyond mere phase buckets. This will be configurable on a per-project bases, but that should be the the exception, not the rule. Plugins should be intelligent enough to make ordering (usually) automatic.

Current work:

@peterbraden has made a lot of progress on this. To test his changes you must run the following components on the following branches:

Notes / Feedback / TODO

Strikethrough mean resolved

  • Many published plugins missing id field in strider.json. Fix or move to package.json section before release.
  • Node.JS rules moved out of core, you must have strider-node installed. [Added strider-node to strider package.json -@niallo]
  • Regarding the above move out of core - if this plugin is missing, the job will hang which is useless. How do we handle missing plugins for jobs?
  • Currently saved jobs seem to just hang and never run? Tried a node.js project with strider-node installed and the plugin's export function is never run. Are there some commits missing?
  • Plugins are never initialized by the simple-worker. Hence, they never run for a project.

Sidestep?

Would this problem go away if there were just more granular phases? probably not.

Examples

Plugins that would need to be run before or after other plugins within a phase

  • ??? sauce / tunneling / qunit ?

Proposed solutions

Weights (currently implemented)

Lower weights get executed first.

"runs before" or "runs after"

Plugin indicates a specific plugin or class of plugins before or after which it should be run