2009-06-18 7 views
11

Con el compilador GWT, ¿es posible establecer pasar propiedades como argumentos para el compilador GWT? Sé que puede pasar ciertos parámetros definidos, como -war y -style, pero esto es para pasar los valores de las propiedades, como "user.agents" o "locale".¿Puedo pasar argumentos (propiedades de enlace diferidas) al compilador GWT?

Según lo que puedo ver de la documentación, las propiedades solo se pueden establecer utilizando desde el descriptor del módulo. Pero quiero poder controlar estas propiedades externamente, desde mi script de compilación.

He intentado buscar documentación sobre los argumentos admitidos por com.google.gwt.dev.Compile, pero no parece haber ninguna documentación de referencia para esa clase. Los documentos son largos sobre cómo hacer, y angustiosamente cortos de detalles.

Respuesta

12

¡La respuesta es no!

He hecho exactamente la misma pregunta en el grupo de noticias de commiters y actualmente no hay nada disponible.

Están pensando en agregar compatibilidad con el suministro de un .gwt.xml adicional para anular/configurar las cosas externamente. Esto cubriría lo que quería hacer, pero si realmente desea un acceso genérico a las Propiedades en tiempo de compilación, entonces me temo que esto no es posible.

Tal vez deberías crear una solicitud funcional ... házmelo saber también voy a comenzar, ya que sería muy útil activar/desactivar ciertas cosas desde la operación de la línea de comando del compilador.

+0

Se agradece tal certeza, incluso si no es lo que quería escuchar :) – skaffman

+2

La función ya está en marcha. El plan es poder pasar valores de propiedades como user.agent y locale en la línea de comando. Esto será equivalente a agregar una propiedad set en su archivo .gwt.xml. –

+0

@KellyNorton ¿Algún progreso en esto hasta ahora? –

4

Toma argumentos. Un ejemplo de un fichero de construcción de hormigas que escribió:

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

Creo que esto abarca todas las banderas:

Debugging and Compiling - Google Web Toolkit - Google Code

Por lo que si se pasa agentes de usuario, no he visto, pero tampoco lo he buscado.

+1

Gracias, he aclarado que la pregunta es específica sobre la transmisión de los valores de las propiedades. – skaffman

3

Si el generador es una clase personalizada, siempre puede pasar los argumentos -Dname = value al comando java y acceder a ellos con System.getProperty ("nombre"). Incluso si el generador está enlatado, quizás podría subclasificarlo e inyectar/anular propiedades envolviendo el GeneratorContext pasado a la superclase y reemplazando su PropertyOracle.

Cuestiones relacionadas