Как заставить Oasis собрать документацию в заданном каталоге?

Я использую систему сборки Oasis для проектов OCaml, и я хотел бы собрать документацию и получить ее в ${projectroot}/doc/api/,

На данный момент мой _oasis файл примерно такой:

OASISFormat: 0.4
Name: MyProject
Version: 0.1alpha
Plugins: META (0.4)
BuildTools: ocamlbuild
AlphaFeatures: ocamlbuild_more_args

PostDistcleanCommand: $rm _tags myocamlbuild.ml setup.ml setup.data

Document api
Title: MyProject API
Type: ocamlbuild (0.4)
BuildTools: ocamldoc
XOCamlbuildPath: src
XOCamlbuildExtraArgs: -docflags -d,doc/api,-colorize-code,-charset,utf-8

Затем я запускаю следующие команды:

$> oasis setup
$> ocaml setup.ml -configure
...
$> ocaml setup.ml -doc
...

Затем я получаю ссылку api.docdir/ --> _build/src/api.docdir/ в верхней директории проекта ссылка на документацию, которую я ожидаю. Но, похоже, что -d doc/api с лишними аргументами не был принят во внимание.

Итак, что я пропустил? Потому что у меня немного иссякают идеи...

1 ответ

Решение

Правильный способ будет использовать install команда, которая скопирует вашу документацию (а также другие данные) в нужное место, которое можно настроить с помощью configure команда или с InstallDir поле.

Кроме того, если вы все еще хотите перенести документацию в свой проект, не выполняя установку, вы можете использовать PostCommand и используйте небольшой скрипт (или просто однострочник), чтобы переместить вашу документацию в лучшее место.

Другие вопросы по тегам