En GWT 2.0 CSSRESOURCE, ¿cómo puedo desactivar la ofuscación para todas mis clases de CSS?

StackOverflow https://stackoverflow.com/questions/5972296

Pregunta

Tengo un CSSReSource, donde quiero tener algunas de las clases CSS "asignadas" a los métodos:

@ClassName("top-table")
String topTable();

Pero quiero desactivar la táctil GWT (mientras se desarrolla al menos, para una mejor depuración en Firebug, etc.).

¿Hay una manera fácil de lograr esto?Sé que puedo usar @external en mi archivo CSS, pero luego tengo que definir todas mis clases CSS como @external .c1, .c2, .c3, etc ...

algo como @external. * Resolvería mi problema, pero eso no parece estar disponible al menos en GWT 2.0.x

Mi solución actual es usar:

<set-configuration-property name="CssResource.style" value="pretty"/>

Pero eso no apaga la ofuscación, solo lo hace más bonita :) Sé que se necesita OBF para evitar colisiones, pero no tengo eso en mi caso y realmente me gustaría desactivar la ofuscación

¿Fue útil?

Solución

Según la documentación de GWT, es posible deshabilitar la obculitud en general.Desde sección de CSSReSource "Palancas y perillas" :

La propiedad de configuración cssresource.style puede establecerse en bonita que desactivará la táctica de nombres de clase, así como la impresión bastante Contenido de CSS.Combine esto con un CLIENTBUNDLE.SEABLEININE VALOR DE Falso para producir una expresión CSS que es susceptible al lado del cliente edición.

En mi trabajo de trabajo GWT, puedo ver que esta propiedad está configurada en los recursos.gwt.xml (incluida en gwt-user.jar):

  <!-- This can be used to make CssResource produce human-readable CSS -->
  <define-configuration-property name="CssResource.style" is-multi-valued="false" />
  <set-configuration-property name="CssResource.style" value="obf" />

Lo que no está claro para mí es cómo anular este valor, ya que ya está configurado.¿Se las arregló para resolver eso?

Otros consejos

Para deshabilitar la ofuscación para todas las clases heredadas a la vez, puede explotar lo que se dice Aquí

En resumen, en el archivo CSS heredado, que está vinculante utilizando el paquete de CSSRESOURCE, ponga esta declaración: @external .*;

Todas las clases en el archivo que tienen este archivo de declaración no se ofuscarán.

Puede usar el Directiva de @external para prevenirun nombre de CSS de ser ofuscado.

En su caso, su archivo CSS puede contener

@external top-table;
.top-table {
  some: rule;
}

Para no tener nombres de clases ofuscados, simplemente necesita agregar la siguiente línea a su archivo gwt.xml:

  <set-configuration-property name="CssResource.style" value="stable" />

Cuando se establece en nombres de clases estables consistirán en un nombre de clase calificado seguido del nombre del método en sus interfaces de recursos (por supuesto, con todos. reemplazado por _)

Todos los valores posibles para cssresurce.style (para GWT 2.7) son:

  • bonita
  • depuración
  • estable
  • stable-shorttype
  • Stable-NOTPE

    Para verificar los valores disponibles para su versión GWT, consulte com.google.gwt.resources.rg.cssobfuscationstyle javadoc (o código fuente) para la versión GWT que está utilizando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top