11

使用 GWT 编译器,是否可以将属性设置为 GWT 编译器的参数?我知道您可以传入某些已定义的参数,例如 -war 和 -style,但这是用于传入属性值,例如“user.agents”或“locale”。

从我可以看到的文档中,只能在模块描述符中使用属性来设置属性。但我希望能够从我的构建脚本外部控制这些属性。

我尝试查找有关 com.google.gwt.dev.Compile 支持哪些参数的文档,但该类似乎没有任何参考文档。文档中的操作方法很长,但细节却很短。

4

3 回答 3

12

答案是不!

我在提交者新闻组中问了完全相同的问题,目前没有任何可用的信息。

他们正在考虑增加对提供额外 .gwt.xml 的支持以在外部覆盖/配置事物。这将涵盖我想做的事情,但是如果您真的想要在编译时对属性进行通用访问,那么恐怕这是不可能的。

也许你应该创建一个功能请求......让我知道我也会开始它,因为从编译器命令行操作打开/关闭某些东西会非常有用。

于 2009-06-18T15:20:17.877 回答
4

它确实需要争论。我写的 ant 构建文件中的一个示例:

<target name="compile.gwt" depends="compile">
    <java failonerror="true" classname="com.google.gwt.dev.Compiler" fork="true">
        <arg value="-war" />
        <arg value="${webcontent.dir}" />
        <arg value="-style" />
        <arg value="obfuscated" />
        <arg value="${module.name}" />
        <jvmarg value="-Xmx256m" />
        <jvmarg value="-Xss64M" />
        <classpath>
            <path refid="project.class.path" />
            <pathelement path="${gwt.home}/gwt-dev-windows.jar" />
        </classpath>
    </java>
</target>

我认为这涵盖了所有标志:

调试和编译 - Google Web Toolkit - Google Code

至于你是否通过用户代理,我没看过,但我也没看过。

于 2009-06-18T13:14:50.923 回答
3

如果生成器是自定义类,那么您始终可以将 -Dname=value 参数传递给 java 命令并使用 System.getProperty("name") 访问它们。即使生成器是罐装的,也许您可​​以通过包装传递给超类的 GeneratorContext 并替换其 PropertyOracle 来将其子类化并注入/覆盖属性。

于 2011-02-09T13:12:33.433 回答