2009-10-05 7 views
0

주어진 ActionScript 클래스 목록에서 SWC 파일을 컴파일하려고합니다. 나는 compc 컴파일러를 사용하고있다. 문제는 여러 개의 클래스가 여러 개의 네임 스페이스로 그룹화되어있어 SWC에 포함될 각 클래스를 지정하는 것이 매우 지루하다는 점입니다. 이 클래스의 루트 디렉토리를 지정하는 것만 큼 쉬운 방법이 있습니까? 순간 다중 이름 공간을 사용하여 SWC 파일을 컴파일하는 방법

나는 이런 일이 :

<?xml version="1.0"?> 
<flex-config xmlns="http://www.adobe.com/2006/flex-config"> 
    <output>C:\SomeFolder\testSWC.swc</output> 
    <compiler> 
    <source-path>.</source-path> 
    </compiler> 
    <include-classes> 
    <class>SomeNamespaceOne.One</class> 
    <class>SomeNamespaceOne.Two</class> 
    <class>SomeNamespaceOne.Three</class> 
    <class>SomeNamespaceOne.Four</class> 
    ... 
    <class>SomeNamespaceFifty.One</class> 
    </include-classes> 
</flex-config> 

을하지만 난 이런 걸 원하는 :

<?xml version="1.0"?> 
<flex-config xmlns="http://www.adobe.com/2006/flex-config"> 
    <output>C:\SomeFolder\testSWC.swc</output> 
    <compiler> 
    <source-path>. </source-path> 
    </compiler> 
    <include-classes> 
    <class>SomeRootDirectoryOfClassesToCompile</class> 
    </include-classes> 
</flex-config> 

이것이 가능을?

답변

1

"Ant"와 비슷한 것을 원했습니다.

Flex Builder를 사용하고 있지 않다고 가정합니다. 이 경우 Adobe에서 제공하는 Ant 및 Flex Ant 작업을 사용하는 것이 좋습니다. Ant를 사용하는 경우에도 원하는 작업을 쉽게 수행 할 수 없으므로 아래 코드를 포함합니다.

다음은 Google 코드입니다. 나는에서 생각이있어 위치를 기억하지 않는, 그래서 Tanmay 말했듯이

 <pathconvert property="XXX.classes" pathsep=" "> 

     <fileset dir="${basedir}/XXX/src"> 
      <include name="**/*.as"/> 
      <include name="**/*.mxml"/> 
     </fileset> 

     <compositemapper> 
      <packagemapper from="${basedir}\XXX\src\*.as" to="*"/> 
      <packagemapper from="${basedir}/XXX/src/*.as" to="*"/> 
      <packagemapper from="${basedir}\XXX\src\*.mxml" to="*"/> 
      <packagemapper from="${basedir}/XXX/src/*.mxml" to="*"/> 
     </compositemapper> 

    </pathconvert> 

    <compc optimize="true" debug="false" 
    include-classes="${XXX.classes}" output="${BUILD_FOLDER}/XXX.swc"> 
      </compc> 
+0

내가 시도 할

<compc output="${target.dir}/foo.swc"> <source-path path-element="${src.dir}"/> <include-sources dir="${src.dir}"> <include name="**/*" /> </include-sources> </compc> 
이하지만 난 한숨 ... 이것에 대한 MSBuild를 사용하고 너무 나쁜 :( – Draco

1

을 :)의 소스를 감사 할 수없는, 당신의 인생을 더 쉽게 만들기 위해 ANT 작업을 사용해야하지만, 더 간단한 wach이 포함입니다 compc ant 태스크의 전체 디렉토리. 그냥 src.dir 모든 것을 포함해야 할 경우 당신은 이런 식으로 작업을 수행 할 수 있습니다