2011-06-26 7 views
0

私はgoogle、Apache Docs *、およびFlashPunkフォーラムを検索しています:Ant/Flexに*のライブラリのフォルダを見つけてコンパイルすることはできません。 ASフォーマット。Flex 4+ Apache Ant、ActionScriptライブラリをロードできない

ここに私のbuild.xmlがあります。

<project> 
<!-- Flex SDK Properties --> 
<property name="FLEX_HOME" value="/opt/flex"/> 
<property name="MXMLC.JAR" value="${FLEX_HOME}/lib/mxmlc.jar"/> 
<!-- Project Properties --> 
<property name="PROJECT_PATH" 
    value="/media/Lexar_32G/Dev/ActionScript/FlashPunk/FP_Tut_Vid_ep01"/> 
<property name="SOURCE_PATH" value="${PROJECT_PATH}"/> 
<property name="OUTPUT_PATH" value="${PROJECT_PATH}"/> 
<property name="FLASHPUNK_PATH" value="/media/Lexar_32G/Dev/ActionScript/FlashPunk"/> 

<!-- Fetch the JAR full of Flex tasks if it is not already in the source directory --> 
<copy file="${FLEX_HOME}/ant/lib/flexTasks.jar" todir="${SOURCE_PATH}"/> 
<!-- Add flextasks to the project --> 
<taskdef resource="flexTasks.tasks" classpath="${SOURCE_PATH}/flexTasks.jar"></taskdef> 

<!-- Release build Flash Player 10.1 --> 
<target name="build"> 

    <!-- Build the FlashPunk library --> 
<echo message="building swc..." /> 
<compc output="FlashPunk.swc" keep-generated-actionscript="false" 
    incremental="false" optimize="false" debug="true" use-network="false"> 
    <include-sources dir="${FLASHPUNK_PATH}/net" 
     includes="**/* flashpunk/utils/* flashpunk/masks/*" 
     excludes="**/*.TTF **/*.png"/> 
     <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>  
    </compc> 

    <echo message="building swf..." /> 

<mxmlc 
file="${SOURCE_PATH}/epOne.as" 
output="${OUTPUT_PATH}/epOne.swf" 
debug="false" 
incremental="false" 
strict="true" 
accessible="false" 
link-report="link_report.xml" 
static-link-runtime-shared-libraries="true"> 

     <optimize>true</optimize> 

    </mxmlc> 
</target> 

タイプの多くのエラーで結果:私は、ディレクトリを開いたとき、私はすぐそこに*の.asファイルを見ることができるにもかかわらず、「定義net.flashpunk.masksグリッドは見つかりませんでした」。

これは非常に基本的な場合は申し訳ありません。私は、ドキュメントとチュートリアルからAntの知識をまとめています。

* Windows用のFlashDevelopもLinux用のEclipseも私のためには使えないので、私はAntを使用することに決めました。

答えて

0

これは(基本的に)修正されました。コンパイルされていないFlashPunkライブラリのコピーを1つしか持たないという私の目標を達成できませんでしたが、少なくともライブラリ全体をソースパスにコピーすることによってSWFをコンパイルすることができました。とにかく大したことではなかったのは良いことです。

Apache Antをコマンドので、次のようになります。

<copy todir="${SOURCE_PATH}/net"> 
    <fileset dir="/media/Lexar_32G/Dev/ActionScript/FlashPunk/net"/> 
</copy> 

は、Flexは私のための名前空間を設定できるように余分なコマンドを必要とするが判明しませんでした。さらに、最終的なSWFをコンパイルする前に、SWCとしてライブラリをコンパイルしようとしなくなりました。したがって、結果のbuild.xmlは次のようになります。

<!-- 
build.xml 
SquareCrow, June 2011 
Apache Ant makefile 
--> 

<project> 
    <!-- Flex SDK Properties --> 
    <property name="FLEX_HOME" value="/opt/flex"/> 
    <property name="MXMLC.JAR" value="${FLEX_HOME}/lib/mxmlc.jar"/> 
    <!-- Project Properties --> 
    <property name="PROJECT_PATH" value="/media/Lexar_32G/Dev/ActionScript/FlashPunk/FP_Tut_Vid_ep01"/> 
    <property name="SOURCE_PATH" value="${PROJECT_PATH}"/> 
    <property name="OUTPUT_PATH" value="${PROJECT_PATH}"/> 
    <property name="FLASHPUNK_PATH" value="/media/Lexar_32G/Dev/ActionScript/FlashPunk"/> 

    <!-- Fetch the JAR full of Flex tasks if it is not already in the source directory --> 
    <copy file="${FLEX_HOME}/ant/lib/flexTasks.jar" todir="${SOURCE_PATH}"/> 
    <!-- Add flextasks to the project --> 
    <taskdef resource="flexTasks.tasks" classpath="${SOURCE_PATH}/flexTasks.jar"></taskdef> 

    <!-- Fetch the FlashPunk files and put them in their own folder --> 
    <copy todir="${SOURCE_PATH}/net"> 
      <fileset dir="/media/Lexar_32G/Dev/ActionScript/FlashPunk/net"/> 
     </copy> 

    <!-- Release build Flash Player 10.1 --> 
    <target name="build"> 

     <echo message="building swf..." /> 

     <mxmlc 
      file="${SOURCE_PATH}/epOne.as" 
      output="${OUTPUT_PATH}/epOne.swf" 
      debug="false" 
      incremental="false" 
      strict="true" 
      accessible="false" 
      link-report="link_report.xml" 
      static-link-runtime-shared-libraries="true"> 

      <optimize>true</optimize> 

     </mxmlc> 
    </target> 

</project> 

シンプル、いいえ?

関連する問題