Как может работать ASDoc Ant Task без опции -source-path? - PullRequest
1 голос
/ 14 октября 2008

Я пытаюсь заставить задачу Ant 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 работать?

Ответы [ 2 ]

3 голосов
/ 14 октября 2008

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

Но я написал свое собственное решение для отсутствия задачи муравья для 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-задачей, она позволяет только небольшое подмножество аргументов командной строки.

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

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

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

1 голос
/ 11 февраля 2009

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

...