Incubaid/arakoon — pull request #489 by toolslive (2014-08-01 12:10:43+00:00)
Title: limits dependencies for plugins

Plugins need to be able to (de)serialize inputs and outputs, but allowing them to access `Llio` opens up `Std` and explodes the number of dependencies. These dependencies make _plugins_ break if they are not compiled with the exact (md5 wise) same set of library versions as the arakoon binary.

The patch introduces an extra interface allowing them to not be dependent on kitchen sinks like `Lwt` or `Std`.
As an example:
```
ocamlobjinfo _build/plugin_find.cmo
File _build/plugin_find.cmo
Unit name: Plugin_find
Interfaces imported:
ad06f04cfca6d404d1de76c3dc67324a	Int32
d012329cc712e91d0f10a5eef2303d18	Printf
db7f34081ef8fcaf499f19523d0736c6	String
9b043210ba766ec98c0c64e3dfba3013	Plugin_find
e2378c62e62b3516b3b9da1a984c728d	Plugin_helper
af3ef6fba94cdb4eba31e98b4e341dab	Buffer
024edc3512403b725052aec8e41ed971	Hashtbl
b0adfa4175f86e4394859886c1a374bb	Obj
36b5bc8227dc9914c6d9fd9bdcfadb45	Pervasives
f11d7ddcffad09397202a49bd9bb4283	Map
6c35bd33088907f850bc27cd9072ffb5	Registry
Uses unsafe features: no
Force link: no
```

While previously it would fe also depend on `Test_utils`, `Quickcheck` and some 40 others.