File: plugin.rst

package info (click to toggle)
ocaml-dune 3.20.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,564 kB
  • sloc: ml: 175,178; asm: 28,570; ansic: 5,251; sh: 1,096; lisp: 625; makefile: 148; python: 125; cpp: 48; javascript: 10
file content (27 lines) | stat: -rw-r--r-- 798 bytes parent folder | download | duplicates (2)
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`.