2011-01-25 2 views
0

Я хотел автоматизировать выполнение Doxygen всякий раз, когда я вставляю свой исходный код в свой репозиторий кода. Есть ли api/interface для doxygen, который я могу использовать в своем java-коде, чтобы начать его выполнение?API для выполнения Doxygen

+0

Простой фиксатор должен работать, какую систему управления версиями вы используете? –

ответ

2

Doxygen запускается с помощью команды командной строки, поэтому вам нужен только способ выполнения команды при выполнении проверки. Вы ничего не говорите о инструменте SCC, среде Dev Environment или операционной системе, с которой вы работаете, поэтому трудно дать конкретный ответ.

Обычный способ сделать это - использовать сервер сборки с непрерывной интеграцией. То есть, когда вы проверяете код, сервер сборки замечает регистрацию, получает новый код и затем выполняет сборку (в данном случае документацию Doxygen). Есть many tools available, который будет автоматизировать ПК для создания сервера сборки. Какой из них будет зависеть от таких вещей, как ОС и пакет управления версиями, который вы используете. (Если у вас нет/требуется выделенный сервер сборки, вы также можете запустить такой инструмент на своем ПК в фоновом режиме).

Если вы хотите, чтобы сборка произошла на вашем собственном ПК во время регистрации, вы можете изучить свое программное обеспечение для управления версиями, чтобы узнать, можете ли вы быть уведомлены о регистрации. Некоторые SCC могут предлагать возможность выполнять скрипт или команду для определенных событий, поэтому может быть возможно заставить его выполнить команду для вас.

Наконец, многие люди просто создали инструмент/макрос в своей среде разработки, который выполняет Doxygen, а затем они запускают его вручную. В Visual Studio (например) вы даже можете написать макрос, который будет выполнять как проверку, так и выполнить Doxygen с одного нажатия клавиши.

+0

Я использую крюк фиксации (Mercurial) для всего этого, включая запуск lints, asciidoc и doxygen. Однако было бы удобно, если предупреждения о покрытии документации могли бы _break_ построить и быть замечены сервером CI. –

0

Если вам нужно больше управления с помощью doxygen, вам необходимо сгенерировать также файлы xml и создать программу, которая анализирует выходные файлы xml, чтобы проверить все ваши ограничения и остановить сборку, если нарушена константа.

Этот метод требует некоторого усилия по разработке, но это единственный способ, которым я знаю, делать то, что вы хотите, с помощью doxygen.

Смежные вопросы