4

我需要能够使用两组不同的属性值来构建我的 GWT 应用程序的两个不同版本。例如,一个版本将使用custom_property设置为“A”的值构建,而另一个版本将使用custom_property设置为“B”的值构建。

目前我正在手动编辑应用程序的模块 XML 文件。因此,要制作一个版本,我首先要添加:

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

为了进行其他构建,我会将这一行更改为:

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

这种方法工作正常,但如果可能的话,我想自动化它。

有没有什么好方法可以做到这一点?

4

3 回答 3

4

一种有效的方法是使用 Maven 替换。我已经在许多基于 GWT 和非基于 GWT 的应用程序中使用了这种方法。由于 Maven 的流行,您会发现大量Mavenizing 您的 GWT 应用程序的示例。然后你可以使用 Maven 替换来实现所有的魔法。

于 2012-06-17T15:18:35.787 回答
3

您可以克隆应用程序的模块 XML 文件并更改其中的自定义属性的值(例如MyAppStaging.gwt.xmlMyAppProd.gwt.xml)。因此,您将能够编写不同应用程序版本的脚本构建,并在 IDE 中具有不同的运行配置。这里的缺点是随后需要维护两个模块 XML 文件。

于 2012-06-17T03:21:31.750 回答
2

基于@BorisBrudnoy 的多个模块XML 文件的想法,我将所有与设置不同构建之间的属性无关的模块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 回答