I switched my dune project version from (lang dune 1.1)
to (lang dune 2.0)
which produced an error for the handling of alternate dependencies.
I had the foolowing in my dune file which worked with dune 1.1:
(select vpl_domain.ml from
(vpl -> domains/numeric/vpl_domain.ok.ml)
(!vpl -> domains/numeric/vpl_domain.ko.ml))
But produces with dune 2.0 the error
The format for files in this select branch must be vpl_domain.{name}.ml
I've tried to remove the path before the filename like this:
(select vpl_domain.ml from
(vpl -> vpl_domain.ok.ml)
(!vpl -> vpl_domain.ko.ml)))
which seems to make dune happy about the format but gives the error
No rule found for vpl_domain.ko.ml
Am I doing something wrong, is this a bug of dune or did they voluntarily make breaking changes?
I finally found out in the documentation that:
Dune officially only supports user rules with targets in the current directory