Domanda

Ho un cssresource dove voglio avere alcune delle classi CSS "mappato" ai metodi:

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

Ma voglio spegnere l'Obfuscation GWT (mentre si sviluppa almeno, per un migliore debug in Firebug, ecc.).

C'è un modo semplice per raggiungere questo obiettivo?So che posso usare @external nel mio file CSS ma quindi devo definire tutte le mie classi CSS come @External .c1, .c2, .c3, ecc ...

Qualcosa come @external. * Risolvere il mio problema ma ciò non sembra essere disponibile almeno in GWT 2.0.x

La mia soluzione corrente è da usare:

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

Ma ciò non spegne l'offuscamento, rende semplicemente più carina :) so che Obf è necessario per evitare collisioni ma non ce l'ho nel mio caso e vorrei davvero disattivare l'offuscamento

È stato utile?

Soluzione

Secondo la documentazione GWT è possibile disabilitare la configurazione in generale.Da CSSRESOURCE sezione "Leve e manopole" :

.
.

La proprietà di configurazione CSSRESOURCE.Style potrebbe essere impostata su carina che disabiliterà l'offuscamento dei nomi di classe e il pretty-print il Contenuto CSS.Combina questo con un clientbundle.enableinlining il valore di Falso per produrre un'espressione CSS che è suscettibile per il lato del cliente Modifica.

Nel mio progetto GWT Project, posso vedere questa proprietà è effettivamente impostato in risorse.gwt.xml (incluso in 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" />
.

Ciò che non è chiaro per me è come ignorare questo valore, poiché è già impostato.Sei riuscito a capirlo?

Altri suggerimenti

Per disabilitare l'offuscamento per tutte le tue lezioni legacy in una sola volta, puoi sfruttare ciò che viene detto qui

In breve, nel file CSS legacy, che sei vincolante utilizzando il pacchetto CSSRESOURCE, inserire questa dichiarazione: @external .*;

Tutte le classi nel file che ha questo file di dichiarazione non saranno offuscate.

È possibile utilizzare Direttiva @external per prevenireUn className CSS da essere offuscato.

Nel tuo caso, il file CSS potrebbe contenere

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

Per non avere nomi di classe offuscati è sufficiente aggiungere la seguente riga al file GWT.xml:

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

Se impostato su nomi di classe stabile consisterà in nome classe qualificato seguito dal nome del metodo nelle interfacce della risorsa (ovviamente con tutti. Sostituito da _)

Tutti i valori possibili per CSSRESOURCE.Style (per GWT 2.7) sono:

    .
  • Pretty
  • debug
  • Stabile
  • stabile-shorttype
  • stable-notarepe

    Per verificare i valori disponibili per la tua versione GWT guarda a com.google.gwt.resources.rg.cssobfuscationstyle javadoc (o codice sorgente) per la versione GWT che stai utilizzando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top