4

2 つの異なるプロパティ値セットを使用して、GWT アプリケーションの 2 つの異なるバージョンをビルドできる必要があります。たとえば、あるバージョンはcustom_propertyset の値を「A」に設定してビルドされ、別のバージョンは set の値custom_propertyを「B」に設定してビルドされます。

現在、ビルドの合間にアプリケーションのモジュール XML ファイルを手作業で編集しています。したがって、1 つのビルドを作成するには、最初に以下を追加します。

<set-property name="custom_property" value="A"/>

そして、他のビルドを作成するには、この行を次のように変更します。

<set-property name="custom_property" value="B"/>

このアプローチは問題なく機能していますが、可能であれば自動化したいと考えています。

これを達成する良い方法はありますか?

4

3 に答える 3

4

これを行う強力な方法の 1 つは、Maven 置換を使用することです。私は多くの GWT ベースのアプリと非 GWT ベースのアプリでこのアプローチを使用してきました。Maven の普及により、GWT アプリを Maven 化する例がたくさん見つかります次に、Maven 置換を使用して、すべての魔法を実現できます。

于 2012-06-17T15:18:35.787 に答える
3

アプリのモジュール XML ファイルを複製して、その中のカスタム プロパティの値を変更できます (例:MyAppStaging.gwt.xmlMyAppProd.gwt.xml)。したがって、さまざまなアプリ バージョンのビルドをスクリプト化し、IDE でさまざまな実行構成を持つことができます。ここでの欠点は、後で両方のモジュール XML ファイルを維持する必要があることです。

于 2012-06-17T03:21:31.750 に答える
2

複数のモジュール XML ファイルに関する@BorisBrudnoy のアイデアに基づいて、ビルド間で異なるプロパティの設定に関連しないすべてのモジュール XML をファイルに配置しましたMyAppBase.gwt.xml。次に、次のように作成MyAppA.gwt.xmlしました。

<module rename-to="myappA">
  <inherits name="com.mycompany.MyAppBase"/>

  <set-property name="custom_property" value="A"/>
</module>

そしてMyAppB.gwt.xml

<module rename-to="myappB">
  <inherits name="com.mycompany.MyAppBase"/>

  <set-property name="custom_property" value="B"/>
</module>

これで、GWT コンパイル コマンド ラインでcom.mycompany.MyAppAまたはのいずれかを指定できるようになりました。構成の複製はありません。com.mycompany.MyAppB

于 2012-06-17T17:40:19.267 に答える