関連アセット10個程度の本番環境を構築しようとしています。ビジュアルなどの特定の要素は、10 個のアセット間で共有されます。Flash Builder 4 では、それぞれを独自の Pure AS3 プロジェクトとして扱っています。
各アセットには関連付けられた .fla があり、そのアセットの libs フォルダーに .swc を出力します。最終的なコンパイルは ant を介して行われ、最上位のソースは各 Flash Builder プロジェクトのメインの .as ファイルです。
特定の要素が複数のアセット間で共有されるため、ワークスペースに Flex ライブラリ プロジェクトを作成しました。このライブラリ プロジェクトには、標準構造の /src フォルダーと、私が貼り付けている /lib/ フォルダー (たとえば、greensock の TweenLite) があります。
ソース コードとサードパーティの .swc に加えて、Library プロジェクトには .swc を /lib/ フォルダーにエクスポートする FLA もあります。
ここに問題があります。関連するプロジェクトで、その .swc からのライブラリ エクスポートを確認できません。理論的には、Flex ライブラリ プロジェクトの .fla のライブラリからエクスポートするすべてのクラスは、ライブラリ プロジェクトの .swc にコンパイルする必要があります。そうではないことがわかりましたが、その理由は明らかではありません。
私は掘り下げ続けるつもりですが、他の誰かがこれらの問題に遭遇した場合に備えて、ここにこれを投げたいと思いました. 私が間違っていることを知っている人はいますか?
編集: どうやら私の greensock .swc も最終出力にコンパイルされていないようです。昨日はそうでした。何が変わったのかわからない。私の質問を要約すると、次のようになります。Flex ライブラリ プロジェクトのビルド パスに含まれる .swc ファイルに、FLP が生成する最終的な .swc にすべてのクラスが含まれていることを確認するにはどうすればよいですか?
EDIT2: 一種のひどい回避策を発見しました。現在、src フォルダーに単一のクラスを作成し、.swc のいずれかに含めたいものを宣言しています。たとえば、public var tweenLite:TweenLite、public var logo:Logo などです。ソース ファイルの 1 つで宣言すると、関連するプロジェクトでアクセスできるようになります。単独でインポートするだけでは不十分です。これは、アクセスしたいすべてのクラスを手動で宣言する必要があることを意味します。もっと良い方法があるはずです。私は何が欠けていますか?