Skip to content

Conversation

@maxhoerstr
Copy link
Collaborator

Implement a plugin system that:

  • Allows to add new grammar or lexer rules
  • Add new code to the existing scheduler
  • Overwrite existing code
  • Loading of multiple plugins

maxhoerstr and others added 7 commits October 15, 2024 10:30
- Allow structs to inherit from a parent struct
- Add the Instance component which can be interpreted as a global variable
- Add PFDLBaseClasses which is an object that holds the actual classes instantiated
by the PFDL Scheduler (can be overwritten by plugins)
- Add plugin loader class that can load plugins and return a new PFDLBaseClasses object
- Script for merging multiple grammars into a comprehensive grammar
- Adaptions to the existing code base so that the new PFDLBaseClasses are used
- Adaptions to the unit tests and new ones for the plugin classes
- Use relative file path for plugin imports.
- External dependents need access to the list of ServiceAPIs.
- `Service` must not be a dataclass, since they are unhashable and can
therefore not be stored in dicts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants