[ ] 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.
This PR tries to do two things:
tmt
plugin framework tofmf
.fmf/plugins
to define what plugins are needed for an fmf treeThe design is that fmf defines a
FMFPlugin
class that stores the entry-point, packages and environment variable that are used to define wherefmf
's plugins are read from. Then by subclassingFMFPlugin
, e.g.TMTPlugin(FMFPlugin)
and adding self toFMFPlugin
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:
python3dist(...)
rpm textslogger
?plugins
moduleCloses #236