OFT already includes some plugins (e.g. importers for RST & MD). These plugins are loaded automatically from the fat JAR that includes all plugins. Using OFT's plugin API, third parties could create and publish and use their own plugins independently from the OFT project. Example: AsciiDoc importer (https://github.com/itsallcode/openfasttrace/issues/410).
Proposed solution
OFT loads plugins from folder OFT_PLUGINS (e.g. $HOME/.openfasttrace/plugins/)
If the plugin is a single JAR that does not need dependencies, it is directly loaded from $OFT_PLUGINS/${PLUGIN_NAME}.jar
If the plugin requires multiple JARs, OFT loads all JARs from $OFT_PLUGINS/${PLUGIN_NAME}/*.jar
Out of scope
Configuration of plugin folder via CLI option (maybe in another PR)
Tasks
[x] Update loader to load plugins from external JARs
[ ] Plugin developer guide: document how to write plugins
[ ] User guide: document how to use plugins
[ ] User guide: add page with list of third party plugins
[ ] Readme: add links to list of third party plugins, plugin user guide & plugin developer guide
OFT already includes some plugins (e.g. importers for RST & MD). These plugins are loaded automatically from the fat JAR that includes all plugins. Using OFT's plugin API, third parties could create and publish and use their own plugins independently from the OFT project. Example: AsciiDoc importer (https://github.com/itsallcode/openfasttrace/issues/410).
Proposed solution
OFT_PLUGINS
(e.g.$HOME/.openfasttrace/plugins/
)$OFT_PLUGINS/${PLUGIN_NAME}.jar
$OFT_PLUGINS/${PLUGIN_NAME}/*.jar
Out of scope
Tasks