Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Early Plugin Runtime #227

Merged
merged 10 commits into from
Mar 24, 2024
Merged

Early Plugin Runtime #227

merged 10 commits into from
Mar 24, 2024

Conversation

Pistonight
Copy link
Contributor

@Pistonight Pistonight commented Mar 22, 2024

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

  • Fix WASM to use new names
  • Fix Server to use new names
  • Update client with new data structure

@Pistonight Pistonight added client Client side work compiler Compiler work plugin Plugin work labels Mar 22, 2024
@Pistonight Pistonight marked this pull request as ready for review March 24, 2024 20:37
Copy link
Contributor Author

@Pistonight Pistonight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looked

@Pistonight Pistonight added this to the Beta 1 milestone Mar 24, 2024
@Pistonight Pistonight merged commit 2ca0c1e into main Mar 24, 2024
7 checks passed
@Pistonight Pistonight deleted the feature/plugindeps branch March 24, 2024 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Client side work compiler Compiler work plugin Plugin work
Projects
None yet
1 participant