0

プラットフォーム:フレックス3 &フレックス4 言語:AS3同じActionScript 3コードベースのFlexプロジェクトで複数のカスタムビルド設定を使用することはできますか?

私は仕事でFlex3フレームワーク用に書かれた非常に大きなコードベースを継承しています。

私の会社は、ソフトウェアを「より小さく」、より「特定の」ユースケースに分割したいと考えています。 異なる製品間で機能の重複があります。

1つのオプションは、コードベースをさまざまなプロジェクトにコピーし、適切なさまざまなユースケースのコードをプルーニングすることです。 (それでも適切ですか?)

しかし、3つ以上のソフトウェア製品に同じコードを複製することは痛みを伴うので、避けたいと思います。

特定の製品に必要なものだけをコンパイルする1つのコードベースの上にカスタムビルド構成を作成できますか? (私は#ifdef文に似たものを想像していますが、おそらくVisual Studioの設定をビルドしています)

gitへの移行は容易になるでしょうか? (私たちはSVNを使用しています)

アドバイスをいただければ幸いです。

-Regards

オリバー

答えて

0

FlashDevelopを使用すると、条件付き編集を完全に行うことができます。

Linkyはリンク:http://www.flashdevelop.org/wikidocs/index.php?title=AS3_Conditional_Compilation

基本的に、あなたはこのような何かを入力:あなたのFlashDevelopのプロジェクト設定、プロパティ、プロジェクト設定で

CONFIG::mode_a{ 
    foo_mode_a(); 
} 

CONFIG::mode_b{ 
    foo_mode_b(); 
} 

そして、いくつかのコンパイラ定数を設定し、「CONFIG :: MODE_Aを、true "、" CONFIG :: mode_b、false "を返します。するとfoo_mode_a()が呼び出され、foo_mode_b()は呼び出されません。

これを使用するにはさまざまな方法がありますが(リンクをたどってください)、もっとも強力なのは、変数が条件付きコンパイルブロックに入れられていてもコードが存在しないようにすることです設定。

0

ActionScriptの条件付きコンパイルまたは複数のビルド構成をサポートしていません。あなたができることは、コードを複数のコンポーネントライブラリに分割することです。これは、C/C++で静的ライブラリと動的ライブラリを作成するようなものです。 SWCファイルの作成については、thisの記事を参照してください。 SWCファイルは、複数のプロジェクトにまたがって共有したいFlexコンポーネントやその他のアセットのアーカイブファイルです。この方法で、コードの複数のコピーを保持する必要はありません。

0

あなたはAS3での条件付きコンパイルを取得するためにこれを行うことができますが、私はそれのように、完全に条件付きコンパイルであるようには見えないものをあなたのこれで二を見てとった後http://www.boostworthy.com/blog/?p=227

後だとわからないんだけど他のポスターで述べられているように、私はまた、ライブラリを壊して、必要な場所に適切な部分を使用することを提案したいと思います.Mavenは、サブモジュールを持つモジュールを定義することができるため、モジュールまたはアプリ)とすべての依存関係を管理し、1つの場所で管理します。

http://maven.apache.org/

フレックスコンパイルの

http://flexmojos.sonatype.org/

オーケー最後の編集、さらにはMavenを使用すると、条件付きでビルド環境上または特定のプロファイルを指定するためにパラメータを渡すことによって、ベースのプロパティまたは依存関係を追加することができますコンパイル中に使用するには、これには初期設定/学習時間がかかりますが、セットアップに時間がある場合は長期的に効果があります。

私は最初のルートに基づいてクラスの条件付き読み込みを実際に行い、getClassByAliasを使用することができると思っていましたが、クラスに関係なくコード内で参照が必要なため、いくつかの条件の下で未使用ですがswfにコンパイルされます。

関連する問題