Как ASDoc Ant Task может работать без опции -source-path?

Я пытаюсь заставить ASDoc Ant задача работать:

<target name = "asdoc" depends = "compile">
    <mkdir dir = "${dist_asdocs}"/>
    <asdoc 
    docSources = "${srcdir}"
    output = "${dist_asdocs}"
    executable = "${FLEX_HOME}/bin/asdoc.exe" />
</target>

Когда я запускаю его, я получаю ошибки от ASDoc, например «Ошибка: тип не найден или не является константой времени компиляции: XXX». Когда я запускаю ASDoc вручную, я делаю: «asdoc -source-path src -doc-sources src». Если я опущу значение -source-path, я получу те же ошибки ... так как же мне заставить работать задачу Ant?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
1 640
2

Ответы 2

Что ж, я не могу его протестировать, потому что он реализован только для Windows (пытается запустить asdoc.exe).

Но я написал собственное решение для отсутствия задачи ant для asdoc:

<exec executable = "${FLEX_HOME}/bin/asdoc" dir = "${basedir}">
    <arg value = "-source-path"/>
    <arg path = "${basedir}/src"/>

    <arg value = "-doc-sources"/>
    <arg path = "${basedir}/src"/>

    <arg value = "-output"/>
    <arg path = "${DOC_DIR}"/>

    <arg value = "-main-title"/>
    <arg path = "${ant.project.name} Documentation"/>

    <arg line = "-library-path+=${basedir}/libs"/>
</exec>

Конечно, вы должны изменить исполняемый файл на asdoc.exe, если вы работаете в Windows. Я не знаю, нужно ли вам также заменить все / на \ или муравей сделает это за вас. Последнее можно опустить, если вы не используете какие-либо .swcs, которых еще нет в пути к библиотеке. Или, по крайней мере, вам нужно изменить его, чтобы он указывал на правильный каталог.

Редактировать: Я посмотрел на исходный код asdoc-задачи, и по сути это то же самое, что я делаю с моей задачей exec, только позволяет лишь небольшую часть аргументов командной строки.

Я также протестировал свое решение без аргумента пути к источнику, и, к моему удивлению, по-прежнему сработал. Я провел дополнительное тестирование, и вот что я обнаружил:

Если исходный путь не указан, asdoc (.exe) принимает src по умолчанию. Таким образом, asdoc-задача обычно работает, если вы используете это соглашение (например, Flex Builder делает это), но не работает, если вы этого не сделаете.

Итак, чтобы использовать asdoc-task, вы должны назвать свой исходный каталог src.

Я бы посоветовал не использовать задачу asdoc ant, поскольку я не развивал ее с тех пор, как впервые выпустил ее. Как упоминал Саймон, он поддерживает лишь небольшую часть того, что возможно, поэтому вам, скорее всего, будет лучше использовать задачу exec.

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