Задача
Как с помощью compc собрать в одном swc все классы?Решение
Казалось бы что тут сложного, однако у Adobe на этот вопрос не найдется ответа, пришлось погуглить и использовать следующее решение:<target name="build.swc"> <fileset dir="${src}" id="sources"> <include name="**/*.as"/> </fileset> <pathconvert pathsep=" " property="classes" refid="sources"> <chainedmapper> <globmapper from="${src}/*" to="*"/> <mapper from="*.as" to="*" type="package"/> </chainedmapper> </pathconvert> <echo message="classes is set to = ${classes} ."/> <compc debug="${debug}" include-classes="${classes}" keep-generated-actionscript="false" output="bin\${lib.name}.swc"> <incremental>${incremental}</incremental> <source-path path-element="${src}"/> <target-player>${flashplayer.version}</target-player> <use-network>${use.network}</use-network> </compc> </target>
понятно, что значение для параметров:
${src} ${lib.name} ${debug} ${incremental} ${flashplayer.version} ${use.network}придется объявить
PS !
но сходу решение тоже может не заработать, дело в том, что инструкция globmapper чувствительна к наклону слэша, и если вы работаете на Windows как и я. Следует писать:<globmapper from="${src}\*" to="*"/>
PPS. Лучшее решение
Cпасибо Алексей Аникутин, нашлось решение намного проще:<compc debug="${debug}" keep-generated-actionscript="false" output="bin\${lib.name}.swc"> <incremental>${incremental}</incremental> <source-path path-element="${src}"/> <!-- вместо include-classes используем include-sources --> <include-sources dir="${src}" includes="*"/> <target-player>${flashplayer.version}</target-player> <use-network>${use.network}</use-network> </compc>подробнее можно прочитать у Adobe: http://livedocs.adobe.com/flex/3/html/anttasks_4.html#207464
Комментариев нет:
Отправить комментарий