Pistonite / celer

Celer Route Engine
https://celer.pistonite.org
4 stars 1 forks source link

Early Plugin Runtime #227

Closed Pistonight closed 6 months ago

Pistonight commented 6 months ago

Introducing EarlyRuntime to delegate load logic to plugins themselves.

Instead of hard-coded or declarative logic for plugin dependencies and de-duplication, each plugin will decide what it wants to do (if different from default) by implementing an EarlyRuntime. An early runtime has full control over how the plugin wants to be loaded. It can also add a deferred plugins which will be added to the end of the plugin list. This is useful if some plugins have logic that needs to be done after all other plugins (in its view)

Also, renamed a bunch of stuff in plugins. Mostly getting rid of Plugin prefix since there are too many structs/types now

Closes #226 Closes #196 Closes #175 Closes #206


TODO