0

指定されたActionScriptクラスのリストからSWCファイルをコンパイルしようとしています。compcコンパイラを使用しています。問題は、複数の名前空間にグループ化されたクラスが非常に多いため、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>

これは可能ですか?

4

2 に答える 2

1

「Ant」にも似たようなものが欲しかった。

FlexBuilderを使用していないことを前提としています。その場合は、Adobeから入手できるAntおよびFlexAntタスクを使用することを強くお勧めします。Antを使用している場合でも、やりたいことを行うのは簡単ではないので、以下にコードを含めます。

以下は私たちのコードです。どこからアイデアを得たのか覚えていないので、ソースに感謝することはできません:)

        <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>
于 2009-10-05T13:51:23.683 に答える
1

Tanmay が言ったように、作業を楽にするために ANT タスクを使用する必要がありますが、compc ant タスクにディレクトリ全体を含めるさらに簡単な方法があります。src.dir にすべてを含める必要がある場合は、次のようにできます。

<compc output="${target.dir}/foo.swc">
     <source-path path-element="${src.dir}"/>
     <include-sources dir="${src.dir}">
          <include name="**/*" />
     </include-sources>
</compc>
于 2009-10-05T15:06:14.173 に答える