Как заставить 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
и используйте небольшой скрипт (или просто однострочник), чтобы переместить вашу документацию в лучшее место.