1

我想让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 任务工作?

4

2 回答 2

3

好吧,我无法测试它,因为它仅适用于 Windows(尝试执行 asdoc.exe)。

但是我已经为 asdoc 缺少 ant 任务编写了自己的解决方案:

<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>

当然,如果您在 Windows 上,则必须将可执行文件更改为 asdoc.exe。我不知道您是否还必须将所有 / 替换为 \ 或者 ant 是否为您执行此操作。如果您不使用任何不在库路径上的 .swcs,则可以省略最后一个。或者至少您必须将其更改为指向正确的目录。

编辑:我查看了 asdoc-task 的源代码,它与我对 exec-task 所做的基本相同,它只允许一小部分命令行参数。

我还测试了没有源路径参数的解决方案,令我惊讶的是它仍然有效。我做了一些进一步的测试,这就是我发现的:

当未指定源路径时,asdoc(.exe) 假定src为默认值。因此,如果您使用该约定, asdoc-task 通常可以工作(例如,Flex Builder 会这样做),但如果您不这样做,则会失败。

所以要使用 asdoc-task 你必须命名你的源目录src

于 2008-10-14T00:34:47.087 回答
1

我建议不要使用 asdoc ant 任务,因为自从我第一次发布它以来我还没有进一步开发它。正如 Simon 所提到的,它只支持可能的一小部分,因此您很可能最好使用 exec 任务。

于 2009-02-11T16:35:16.727 回答