Использование констант компилятора с заданием <compc /> ant - PullRequest
4 голосов
/ 03 декабря 2010

Я конвертирую существующий скрипт сборки из <mxmlc /> в <compc /> для генерации SWC.

Однако сборка завершается с ошибкой, выдавая ошибку:

[compc] C:\xxxx\LogViewer.mxml(32):  Error: Access of undefined property VERSION.
[compc]
[compc] private static const VERSION:String = CONFIG::VERSION;

В моей задаче по муравью я определил следующее:

    <compc compiler.as3="true" output="${output.dir}/${swc.name}.swc" incremental="true" fork="true" maxmemory="512m" compiler.show-deprecation-warnings="false">
        <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
        <source-path path-element="${srcdir}" />
        <include-sources dir="${srcdir}" includes="*" />
        <external-library-path dir="${swc.libs.dir}" append="true">
            <include name="*.swc" />
        </external-library-path>
        <external-library-path dir="${output.common.swc.dir}" append="true">
            <include name="*.swc" />
        </external-library-path>
        <compiler.define name="CONFIG::VERSION" value="${build.version}" />
        <compiler.define name="CONFIG::RELEASE" value="${config.release}" />
        <compiler.define name="CONFIG::DEBUG" value="${config.debug}" />
        <compiler.define name="CONFIG::AUTOMATION" value="false" />
    </compc>

Этот подход отлично работал с задачей, но сейчас терпит неудачу.

Как правильно использовать константы компилятора с compc?

Ответы [ 2 ]

4 голосов
/ 19 апреля 2011

Строковые значения должны быть заключены в одинарные кавычки. Например:

<compiler.define name="CONFIG::VERSION" value="'${build.version}'" />

Задачи Flex Ant действительно невероятно разочаровывают, в основном из-за отсутствия документации. Некоторое время я боролся с этим, пока не понял.

1 голос
/ 11 января 2011

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

 <define name="CONFIG::build" value="5" />
...