Artifact 1e89c253ff81d55dab409e8809da9ed3bd76721f457b5d4f584b44bc66a7901d:

Wiki page [depends] by mario on 2018-07-04 01:24:05.
D 2018-07-04T01:24:05.152
L depends
N text/x-markdown
P 5191300ac39e9a8d5e2bf1a00b2b0e3d7d18b3b2af234e7922d561694a9b25b5
U mario
W 1134
## # depends:

Lists other plugins or language/system libraries which the current plugin requires:

    # depends: corefuncs, json_io

Typically it just lists other plugin basenames. And it's a strong indicator that those must be enabled alongside or prior.

  * It's a list of local URNs.

  * The recommended default is "depends" and not "require", for compatibility with the Debian packaging spec.

  * Also it does not strictly need to enforced strictly in each application. It's more of a recommendation and user-visible field. In dynamic langauges plugins can soft-detect missing dependencies mostly.


## System/language dependencies

This is quite informal / not fixated, but non-plugin dependencies are usually denominated with `type:name` like:

  * `# depends: bin:imagemagick` for binaries
  * `python:lyxml` for language modules
  * Or `sys:amd64` for the architecture.
  * And `deb:anacron` for the system package manager.
  * `api:archnemesis` etc.

## Related fields

Depending on complexity other fields might be used alongside:

  * `# provides:`
  * `# conflicts:`
  * `# suggests:`

Z 7a6d0df8177fe0e42ae06b687989918f