Поколение ASDoc через муравья - PullRequest
1 голос
/ 10 мая 2011

У меня есть скрипт ant для компиляции и генерации файла AIR, и он работает хорошо. Теперь я пробую asDocs также в сценарий ant, чтобы автоматически генерировать документацию всякий раз, когда я создаю новый файл AIR.

Хотя задача mxmlc, которая создает мой swf-файл, работает без проблем, моя задача asdoc в ANT выдает ошибки. Я продолжаю получать ошибки как:

compileASDoc: [asdoc] Загрузка файла конфигурации D: \ 4.1 \ 4.1 \ frameworks \ air-config.xml
[asdoc] ALPHA.as (3): столбец: 35 Ошибка:
Определение базового класса Panel не найдено.
[ASDoc]
[asdoc] открытый класс ExtendPanel расширяет Panel
[asdoc] ^
[ASDoc]
[asdoc] XYZABC.mxml (-1): Ошибка: повторяющееся определение функции.
[ASDoc]
[asdoc] <? xml version = "1.0" encoding = "utf-8"?>
[ASDoc]
[asdoc] XYZABC.mxml (-1): Ошибка: существует конфликт с определением linkbutton1 во внутреннем пространстве имен.
[ASDoc]
[asdoc] <? xml version = "1.0" encoding = "utf-8"?>
[ASDoc]
[asdoc] GHIJKL.mxml (-1): Ошибка: существует конфликт с определением linkbutton1 во внутреннем пространстве имен.
[ASDoc] * +1021 * [asdoc] <? xml version = "1.0" encoding = "utf-8"?>
[asdoc]

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

<!-- Run the ASDoc executable and generate the ASDocs to the new output folder -->
<target name="compileASDoc" depends="clean, init">

    <condition property="asdoc.jvm.args" value="-Xmx384m">
        <os family="windows"/>
    </condition>

    <condition property="asdoc.jvm.args" value="-Xmx512m">
        <os family="mac"/>
    </condition>

    <condition property="asdoc.jvm.args" value="-Xmx512m">
        <os family="unix"/>
    </condition>

    <asdoc output="${Asdoc.dir}" lenient="true" failonerror="true" warnings="false" 
        strict="false" fork="true"
        left-frameset-width="300"
        main-title='${Main.title}'
        footer="${Footer.text}"
        window-title="Custom asdoc documentation" >

        <doc-sources path-element="${SRC_DIR}" />
        <doc-sources path-element="${IMAGES_DIR}" />
        <doc-sources path-element="${SOME_LOCALE}/en_US" />
        <doc-sources path-element="${SOME_LOCALE}/ar_AE" />

        <load-config filename='${FLEX_HOME}/frameworks/air-config.xml'/>

        <!-- top level class to include in asdoc -->
        <doc-classes class="AIRFrameworkClasses"/>
        <doc-classes class="AIRSparkClasses"/>
        <doc-classes class="FlexClasses"/>
        <doc-classes class="SparkClasses"/>
        <doc-classes class="FrameworkClasses"/>
        <!--    <doc-classes class="HaloClasses"/> -->
        <doc-classes class="OSMFClasses"/>
        <doc-classes class="SparkSkinsClasses"/>
        <doc-classes class="RPCClasses"/>
        <doc-classes class="flashx.textLayout.CoreClasses"/>
        <doc-classes class="flashx.textLayout.EditClasses"/>
        <doc-classes class="flashx.textLayout.ConversionClasses"/>

        <!-- source path for asdoc -->
        <compiler.source-path path-element="${flexlib}/projects/airframework/src"/>
        <compiler.source-path path-element="${flexlib}/projects/airspark/src"/>
        <compiler.source-path path-element="${flexlib}/projects/flex/src"/>
        <compiler.source-path path-element="${flexlib}/projects/spark/src"/>
        <compiler.source-path path-element="${flexlib}/projects/framework/src"/>
        <compiler.source-path path-element="${flexlib}/projects/sparkskins/src"/>
        <compiler.source-path path-element="${flexlib}/projects/osmf/src"/>
        <compiler.source-path path-element="${flexlib}/projects/rpc/src"/>
        <compiler.source-path path-element="${flexlib}/projects/textLayout/src"/>

        <!-- namespaces to include in asdoc -->
        <doc-namespaces uri="http://www.adobe.com/2006/airmxml"/>
        <doc-namespaces uri="http://www.adobe.com/2006/airspark"/>
        <doc-namespaces uri="library://ns.adobe.com/flex/spark"/>
        <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
        <doc-namespaces uri="http://www.adobe.com/2006/rpcmxml"/>
                    <doc-namespaces uri="library://ns.adobe.com/flashx/textLayout"/>  
                    <doc-namespaces uri="http://ns.adobe.com/mxml/2009"/>
        <namespace uri="library://ns.adobe.com/flashx/textLayout" manifest="${flexlib}/projects/textLayout/manifest.xml"/>

        <!-- namespace declaration for asdoc -->
        <namespace uri="http://www.adobe.com/2006/airmxml" manifest="${flexlib}/projects/airframework/manifest.xml"/>
        <namespace uri="http://www.adobe.com/2006/airspark" manifest="${flexlib}/projects/airspark/manifest.xml"/>
        <namespace uri="http://www.adobe.com/2006/rpcmxml" manifest="${flexlib}/projects/rpc/manifest.xml"/>
        <namespace uri="http://www.adobe.com/2006/mxml" manifest="${flexlib}/mxml-manifest.xml"/>
        <namespace uri="library://ns.adobe.com/flex/spark" manifest="${flexlib}/projects/spark/manifest.xml"/>
        <namespace uri="library://ns.adobe.com/flex/mx" manifest="${flexlib}/mxml-manifest.xml"/>  
                    <namespace uri="http://ns.adobe.com/mxml/2009" manifest="${flexlib}/mxml-2009-manifest.xml"/>

        <library-path/>

        <external-library-path dir="${flexlib}/libs">
            <include name="*.swc" />
        </external-library-path>

                    <external-library-path dir="${flexlib}/libs/air">
            <include name="*.swc" />
        </external-library-path>

        <external-library-path dir="${LIBS_DIR}">
            <include name="*.swc" />
        </external-library-path>

        <external-library-path dir="${LOCALE_DIR}">
            <include name="*.swc" />
        </external-library-path>

        <external-library-path dir="${AR_LOCALE_DIR}">
            <include name="*.swc" />
        </external-library-path>

        <jvmarg line="${asdoc.jvm.args}"/>

        <define name="CONFIG::debug" value="false"/>
        <define name="CONFIG::release" value="true"/>
        <define name="CONFIG::FLASH_10_1" value="false"/>
        <define name="CONFIG::LOGGING" value="false"/>
    </asdoc>
    <echo>Docs creation complete</echo>
</target>

Я написал этот скрипт после просмотра файла build.xml в папке asdoc в папке FLEX_HOME.

Будем весьма благодарны за любые подсказки, почему я получаю ошибки и как я могу их исправить!

С уважением,
Рави.

1 Ответ

0 голосов
/ 18 мая 2011

Я смог выяснить, в чем заключается ошибка.Sourcepath не указывал на мои исходные файлы!

Нет необходимости указывать doc-классы и упоминать встроенные классы flex, такие как spark и т. Д. В xml.Кроме того, пространства имен вещь избыточна и может быть исключена.

Так что в приведенном выше XML просто удалите все теги doc-class, doc-namespaces, namespace и compiler.source-path.И добавьте один, который указывает на ваш исходный каталог!

...