我可以将参数(延迟绑定属性)传递给GWT编译器吗?

时间:2009-06-18 13:01:31

标签: java gwt gwt-compiler

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

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

我已尝试查找com.google.gwt.dev.Compile支持哪些参数的文档,但似乎没有该类的任何参考文档。这些文档很长时间都是关于细节的,而且令人不安的是细节。

3 个答案:

答案 0 :(得分:12)

答案是否定的!

我在commiters新闻组中提出了完全相同的问题,目前没有任何可用的内容。

他们正考虑添加支持提供额外的.gwt.xml来覆盖/配置外部事物。这将涵盖我想要做的事情,但是如果你真的想在编译时对属性进行泛型访问,那么我担心这是不可能的。

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

答案 1 :(得分:4)

确实需要争论。我写的一个ant build文件的例子:

<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>

我认为这涵盖了所有的旗帜:

Debugging and Compiling - Google Web Toolkit - Google Code

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

答案 2 :(得分:3)

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