Используя ANT для создания swc, не удается найти catalog.xml

Я пытаюсь создать SWC (в Flex 4.6) с помощью ANT. Вот как сейчас выглядит мой build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="imanager-framework" basedir=".">

    <property name="src" location="src"/>   
    <property name="dist" location="dist"/> 
    <property name="FLEX_HOME" value="C:/Program Files (x86)/Adobe/Adobe Flash Builder 4.5/sdks/4.6.0"/>        

    <taskdef resource="flexTasks.tasks" classpath="${basedir}/libs/flexTasksFlash4.jar"/>

    <target name="clean">       
        <delete dir="${dist}"/>
    </target>

    <target name="compile">
        <mkdir dir="${dist}"/>
        <compc output="${dist}/imanager-framework.swc">
            <source-path path-element="src" />
            <library-path dir="libs" includes="*" />
            <include-sources dir="${src}" includes="*" />           
        </compc>
    </target>

</project>

А вот flexTasks.tasks выглядит так

mxmlc=flex.ant.MxmlcTask
compc=flex.ant.CompcTask
html-wrapper=flex.ant.HtmlWrapperTask
asdoc=flex.ant.AsDocTask

Когда я запускаю сборку, я получаю эту ошибку

Buildfile: E:\flexspace\imanager\framework\build.xml
compile:
    [compc] Loading configuration file C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.6.0\frameworks\flex-config.xml
    [compc] Error: unable to load SWC flexTasksFlash4.jar: could not find catalog.xml within the SWC.

BUILD FAILED
E:\flexspace\imanager\framework\build.xml:16: compc task failed

Total time: 639 milliseconds

Похоже, что compc пытается прочитать jar flexTasks как SWC. Что тут происходит?


person Akshay    schedule 31.10.2012    source источник


Ответы (1)


Кажется, ваша jar библиотека с определениями задач находится в libs директории, как и все swc файлы, компилятор пытается использовать ее как swc библиотеку. И поскольку jar и swc являются архивами, компилятор извлекает их и пытается найти catalog.xml внутри, но jar не является флеш-библиотекой и не содержит ее. Я предлагаю вам поместить jar в другое место и оставить только swc файлов внутри lib. Или укажите шаблон swc

<library-path dir="libs" includes="*.swc" />
person Timofei Davydik    schedule 31.10.2012