Могу ли я передать аргументы (свойства отложенного связывания) компилятору GWT? - PullRequest
11 голосов
/ 18 июня 2009

С помощью компилятора GWT можно ли задавать передачу свойств в качестве аргументов компилятору GWT? Я знаю, что вы можете передавать определенные параметры, такие как -war и -style, но это для передачи значений свойств, таких как "user.agents" или "locale".

Из того, что я вижу в документации, свойства могут быть установлены только с помощью дескриптора модуля. Но я хочу иметь возможность управлять этими свойствами извне из моего скрипта сборки.

Я пытался найти документацию о том, какие аргументы поддерживаются com.google.gwt.dev.Compile, но нет справочной документации для этого класса. В документах очень много инструкций, а в деталях мало огорчений.

Ответы [ 3 ]

12 голосов
/ 18 июня 2009

Ответ - нет!

Я задал точно такой же вопрос в группе новостей коммитеров, и в настоящее время ничего не доступно.

Они думают о добавлении поддержки предоставления дополнительного файла .gwt.xml для внешней переопределения / настройки. Это охватило бы то, что я хотел сделать, но если вы действительно хотите общий доступ к свойствам во время компиляции, то, боюсь, это невозможно.

Может быть, вам следует создать функциональный запрос ... дайте мне знать, что я тоже начну с него, поскольку было бы очень полезно включать / выключать определенные вещи из операции командной строки компилятора.

4 голосов
/ 18 июня 2009

Требуются аргументы. Пример из файла сборки 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

Что касается того, передаете ли вы пользовательские агенты, я этого не видел, но я тоже не смотрел.

3 голосов
/ 09 февраля 2011

Если генератор является пользовательским классом, то вы всегда можете передать аргументы -Dname = value в команду java и получить к ним доступ с помощью System.getProperty ("name"). Даже если генератор является консервативным, возможно, вы могли бы создать его подкласс и внедрить / переопределить свойства, поместив GeneratorContext, переданный в суперкласс, и заменив его PropertyOracle.

...