File: plugin.rst

package info (click to toggle)
ocaml-dune 3.21.1-3~exp2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 37,956 kB
  • sloc: ml: 189,514; asm: 28,570; ansic: 15,173; sh: 1,448; lisp: 625; makefile: 178; python: 143; cpp: 48; javascript: 10
file content (27 lines) | stat: -rw-r--r-- 798 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
plugin
------

.. versionadded:: 2.8

Plugins are a way to load OCaml libraries at runtime. The ``plugin`` stanza
allows you to declare the plugin's name, which :ref:`sites<sites>` should be
present and which libraries it will load.

.. code:: dune

   (plugin
    (name <name>)
    (libraries <libraries>)
    (site (<package> <site name>))
    (<optional-fields>))

``<optional-fields>`` are:

- ``(package <package>)`` if there is more than one package defined in the
  current scope, this specifies which package the plugin will install. A plugin
  can be installed by one package in the site of another package.

- ``(optional)`` will not declare the plugin if the libraries are not available.

The loading of the plugin is done using the facilities generated by
:doc:`generate_sites_module`.