Ошибка альтернативных зависимостей при переключении с dune 1.1 на dune 2.0

#ocaml #ocaml-dune

#ocaml #ocaml-dune

Вопрос:

Я переключил версию своего проекта dune с (lang dune 1.1) на (lang dune 2.0) , что привело к ошибке при обработке альтернативных зависимостей.

У меня был сбой в моем файле dune, который работал с dune 1.1:

 (select vpl_domain.ml from
  (vpl -> domains/numeric/vpl_domain.ok.ml)
  (!vpl -> domains/numeric/vpl_domain.ko.ml))
 

Но выдает с dune 2.0 ошибку

Формат файлов в этой ветке выбора должен быть vpl_domain.{name}.ml

Я попытался удалить путь перед именем файла следующим образом:

 (select vpl_domain.ml from
  (vpl -> vpl_domain.ok.ml)
  (!vpl -> vpl_domain.ko.ml)))
 

который, кажется, делает dune довольным форматом, но выдает ошибку

Не найдено правила для vpl_domain.ko.ml

Я делаю что-то не так, это ошибка dune или они добровольно внесли критические изменения?

Ответ №1:

Я, наконец, узнал в документации, что:

Dune официально поддерживает только пользовательские правила с целями в текущем каталоге