Документация Haxe XML: как исключить стандартную библиотеку?

Я хочу сделать небольшой инструмент в Haxe, который проверяет комментарии haxedoc. Я решил, что лучший способ получить эти комментарии — использовать опцию «haxe -xml» и загрузить полученный XML-файл.

Однако, когда я генерирую XML, кажется, что вся стандартная библиотека включается в выходной XML. Когда я передаю этот XML в Dox, он создает документацию для моего кода и стандартного библиотечного материала, например. Класс, Дата, Строка, Перечисление...

Это ожидаемое поведение? Есть ли способ исключить записи стандартной библиотеки из сгенерированного XML? Или я должен написать свой инструмент для фильтрации XML на основе пакета/имени файла/и т. д.?

Вот мой скрипт сборки:

/build.hxml

-cp src
-neko main.n
--no-output
-xml bin/xml/neko.xml
--macro "include('doctest')"

Вот файл, для которого я хочу создать XML:

/src/doctest/Main.hx

package doctest;

//import neko.Lib;

/**
 * ...
 * @author jjokin
 */
class Main 
{
    static function main() 
    {
    }
}

/**
 * This class does some stuff.
 */
class DemoClass {
}

person Laurence Dougal Myers    schedule 06.07.2014    source источник


Ответы (1)


Хорошо, я думаю, что у меня получилось. Скомпилированный XML всегда должен включать все, например массив, перечисление, класс, список, поскольку они необходимы для компиляции на другие языки. Я просмотрел Dox, и у него есть опции «-in/--include» и «-ex/--exclude», которые позволяют вам фильтровать элементы для создания документации. Итак, мой модуль должен будет сделать что-то подобное.

person Laurence Dougal Myers    schedule 12.07.2014
comment
Вы также можете поиграть с вызовом Compiler.exclude("String") и т. д., чтобы исключить их создание. Я не проверял, работает ли это с документацией Xml, но, возможно, стоит попробовать. Однако фильтрация полного списка — это то, что делают большинство библиотек. См. api.haxe.org/haxe/macro/Compiler.html#exclude - person Jason O'Neil; 14.07.2014
comment
Для тех, кто вернется сюда в будущем, использование haxelib run dox -in "^your\.package\.regex" … работает правильно — включает только ваши классы, а не stdlib. -ex не нужен. - person Aurel Bílý; 24.03.2017