1

私はこれに大いに腹を立てています。シナリオは次のとおりです。

  1. 一連のswcsを構築して出力するantタスクがあります
  2. Ant タスクは、「libs」フォルダー内のすべての項目を削除してから、ライブラリーがそれらを「libs」フォルダーに出力するようにコンパイルします。
  3. これらのライブラリに依存するコンパイルする他のモジュールがあります

問題: 別の swc に依存する swc が、ant タスクに組み込まれたばかりのバージョンではなく、古いバージョンに対してコンパイルされているという問題があります。

したがって、最初に common.swc をコンパイルし、次に mydependantswc.swc をコンパイルします。mydependantswc.swc をコンパイルすると、ビルドしたばかりの common.swc に対してコンパイルされます。common.swc がキャッシュされているようにコンパイルすると、一度ビルドされたものは無視され、古いバージョンに対してコンパイルされます。

再コンパイルする前に古い swc ライブラリを削除しないと、これがフラッシュで発生することはわかっています。ただし、私のantタスクはそれらのファイルを削除します。Mac では、手動でファインダーに入り、それらのライブラリを削除してからコンパイルすると、正常に動作することがわかりました。Ant タスクはそれを行いますが、機能しません。

アイデアはありますか?これは一般的な問題のように聞こえますか?

ここにいくつかの ant コードのスニペットがあります。非常に単純な ant だと思います。

<target name="install-libraries" description="standalone build libs">
        <delete includeEmptyDirs="true">
            <fileset dir="${bin.dir}/${managed.libs.dest}"/>
        </delete>
        <mkdir dir="${bin.dir}/${managed.libs.dest}"/>
        <antcall target="compile-libraries"/>
    </target>

続いて、標準の compc タスクが続きます。

ツイッターで話した後、フォルダ構造と関係があるのではないかと思います。あるライブラリーが、このフォルダー bin.dir 内の別のコンパイル済みライブラリーに依存していることがわかります。これは、私がビルドしているフォルダーでもあります。理由はわかりませんが、においがします!

4

0 に答える 0