Skip to content

Conversation

@LecrisUT
Copy link
Contributor

This PR tries to do two things:

  • Migrate (some of) the tmt plugin framework to fmf
  • Define a .fmf/plugins to define what plugins are needed for an fmf tree

The design is that fmf defines a FMFPlugin class that stores the entry-point, packages and environment variable that are used to define where fmf's plugins are read from. Then by subclassing FMFPlugin, e.g. TMTPlugin(FMFPlugin) and adding self to FMFPlugin it is possible to recursively load every plugin of the projects. This needs all of the plugin's packages to be pre-installed though.

This by itself is marginally useful, but when combined with an equivalent of requirements.txt that can be used to read an fmf tree's plugin packages, this makes it possible to install and load the plugins.

Other TODOs:

  • Tests
  • Documentation
  • Release notes
  • Commands to parse plugins status: list, list-all, show, missing
  • Equivalent tmt interace for the commands above. E.g. it should be able to change the PyPI requirements to python3dist(...) rpm texts
  • How to deal with the logger?
  • (Optional) Add interface to refresh plugins module

Closes #236

LecrisUT added 2 commits June 17, 2024 20:51
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
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.

RFE: fmf plugin/dialect

1 participant