Dans GWT 2.0 CSSResource, comment puis-je désactiver l'obscurcissement pour toutes mes classes CSS?

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

Question

J'ai un CSSResource où je veux avoir certaines des classes CSS "mappées" aux méthodes:

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

Mais je veux désactiver l'obscurcissement GWT (tout en développant au moins, pour un meilleur débogage dans Firebug, etc.).

Existe-t-il un moyen facile d'y parvenir? Je sais que je peux utiliser @External dans mon fichier CSS, mais je dois ensuite définir toutes mes classes CSS comme @External .C1, .C2, .C3, etc ...

Quelque chose comme @external. * Je résoudrais mon problème mais cela ne semble pas être disponible au moins dans GWT 2.0.x

Ma solution actuelle consiste à utiliser:

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

Mais cela n'éteint pas l'obscurcissement, le rend plus joli :) Je sais que l'OBF est nécessaire pour éviter les collisions, mais je n'ai pas cela dans mon cas et je voudrais vraiment désactiver l'obscuscation

Était-ce utile?

La solution

Selon la documentation GWT, il est possible de désactiver la buscation en général. De Section CSSResource "Leviers et boutons":

La propriété de configuration CSSResource.style peut être définie sur jolie, ce qui désactivera l'obscuscation de nom de classe ainsi que pour le contenu CSS. Combinez ceci avec un ClientBundle.enable INSIMINATION Valeur de False pour produire une expression CSS qui se prête à l'édition côté client.

Dans mon projet de travail GWT, je peux voir que cette propriété est en fait définie dans Resources.gwt.xml (incluse dans 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" />

Ce qui n'est pas clair pour moi, c'est comment remplacer cette valeur, car elle est déjà définie. Avez-vous réussi à comprendre cela?

Autres conseils

Pour désactiver l'obscurcissement pour vous tous des cours d'héritage à la fois, vous pouvez exploiter ce qui est dit ici

En bref, dans le fichier CSS hérité, que vous liez à l'aide du bundle CSSResource, mettez cette déclaration: @external .*;

Toutes les classes du fichier dont ce fichier de déclaration ne sera pas obscurcie.

Vous pouvez utiliser le @external directif Pour empêcher un nom de classe CSS d'être obscurci.

Dans votre cas, votre fichier CSS peut contenir

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

Pour ne pas avoir obscurci les noms de classe, vous devez simplement ajouter la ligne suivante à votre fichier gwt.xml:

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

Lorsqu'il est défini sur les noms de classe stables, consistera en nom de classe qualifié suivi du nom de la méthode dans vos interfaces de ressource (bien sûr avec tous. Remplacé par _)

Toutes les valeurs possibles pour CSSResource.Style (pour GWT 2.7) sont:

  • jolie
  • déboguer
  • écurie
  • stable-shorttype
  • notype stable

Pour vérifier les valeurs disponibles pour votre version GWT, regardez com.google.gwt.resources.rg.cssobfusccationstyle Javadoc (ou code source) pour la version GWT que vous utilisez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top