Subject: | Require one out of several dependencies |
Sometimes, there are several ways to do one thing and you want to give
the user the flexibility to use any one of those. Currently, using
'requires' or 'requires_external_bin', there is no way to specify that
one requires only one program or module out of several ones.
Consider that my script needs the dependencies A, B or C. I can write:
requires_external_bin 'A';
requires_external_bin 'B';
requires_external_bin 'C';
But that forces the user to have A, B, and C installed, when only one of
them is needed. I could also write:
requires_external_bin 'A';
But that is forcing the user to have A installed, whereas he may only be
interested in using B or C.
Ideally, instead of 'requires_external_bin', I would like to use
something like:
requires_external_bin_any ('A','B','C');
The user would be required to provide only A, B or C. Similarly, it may
be valuable to use a similar mechanism for 'requires', e,g, 'requires_any'.