So finden Sie automatisch I18N-Verstöße

8

Gibt es in einem Grails-Projekt trotzdem automatisch I18N-Verstöße? Zum Beispiel

%Vor%

sollte markiert sein, weil es nicht <g:message> verwendet, um den Label-Wert zu erhalten.

Es wäre schön, wenn Codenarc eine Regel dafür hätte, aber ich glaube nicht.

    
Brad Rhoads 20.04.2011, 17:55
quelle

1 Antwort

1

Ich habe auch nach einem solchen Code-Qualitätstest gesucht und muss noch einen finden.

Die Implementierung dieses sollte ziemlich trivial sein - wenn der gesamte Inhalt eines GSP über Tags angewendet werden soll, sollte Ihr GSP ausschließlich aus Elementknoten und keinen Textknoten bestehen.

Dieser Kern des Problems ist überwiegend ein XML-Problem: Wie prüft man eine Menge von XML-Dokumenten und markiert diejenigen, die Textknoten enthalten?

Angenommen, Sie können org.codehaus.groovy.grails.commons.GrailsResourceUtils in einer Codenarc-Regel importieren, können Sie mit der Eigenschaft VIEWS_DIR_PATH bestimmen, wo alle GSP-Dateien gespeichert sind.

Von dort wird der High-Level-Prozess benötigt:

  1. Erstellen Sie eine Sammlung aller GSP-Dateien in der Anwendung
  2. Laden Sie für jede Datei den Inhalt in einen XML-Parser (Java hat viel ) und überprüfen Sie den Knotentyp für jeden Knoten und markieren Sie die Dateien, die Textknoten enthalten

Ich weiß zu schätzen, dass dies eine sehr hohe Lösung ist, aber konzeptionell sollte es funktionieren.

    
Jon Cram 29.04.2011 22:16
quelle