Могу ли я передать аргументы (свойства отложенного связывания) компилятору GWT?

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

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

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

3 ответа

Решение

Ответ - нет!

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

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

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

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

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

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

Другие вопросы по тегам