Skip to content

Load custom plugins from JAR files #413

@kaklakariada

Description

@kaklakariada

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 (#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

  • 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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

✅ Closed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions