Plugins define how a compiled taxi document will be processed. Typically, this involves creating models in some language.
Currently, there's only a single generator provided - the Kotlin generator. However, the plugin system of Taxi is evolving rapidly, and we intend to support loading externally provided plugins.
Plugins can be used to output a taxi model in a specific language - or to modify the source from a generator.
Plugins are either packaged internally with Taxi, or you can write your own, which can be dowloaded and included.
Plugins are declared in the plugins
section of the taxi.conf
file. Declare the name of the plugin to enable, followed by configuration options for that plugin
plugins: {'taxi/kotlin' { // Name of the plugin// plugin config goes here}}pluginSettings: { // Optionalrepositories: ['http://your-plugin-repository-url']localCache: '~/.taxi.plugins'}
Each plugin determines it's own configuration. The PluginWithConfig<T>
interface defines the type of config that a plugin will consume. For an example, check out the Kotlin plugin.