2016-06-29 2 views
0

Ich möchte CheckStyle für die Einrückung in xml/properties (und wenn möglich in yml) Datei auch überprüfen.checkstyle nicht Leerzeicheneinzug in XML überprüfen

Mit meiner aktuellen Konfiguration kann ich es jedoch nicht schaffen. Hier ist, was Struktur mein Projekt aussehen

. 
├── Makefile 
├── README.md 
├── checkstyle.xml 
├── pom.xml 
├── src 
│   ├── main 
│   └── test 

und meine checkstyle.xml Dateikonfiguration für dieses spezifische Problem ist

<module name="Checker"> 
    <property name="charset" value="UTF-8"/> 

    <property name="severity" value="error"/> 

    <property name="fileExtensions" value=""/> 
    <property name="basedir" value="."/> 
    <!-- Checks for whitespace        --> 
    <!-- See http://checkstyle.sf.net/config_whitespace.html --> 
    <module name="FileTabCharacter"> 
     <property name="eachLine" value="true"/> 
    </module> 

ich gesetzt haben die basedir zu . und versuchte mit / auch (da mein check ist in config/checkstyle Standort). Ich habe es auch ohne die basedir Eigenschaft versucht, aber es meldet kein XML Einrückungsproblem, wenn mein XML mit 4 Räumen eingerückt wird. Ich spreche über pom.xml. Wie kann ich sicherstellen, dass checkstyle überprüft die XML-Datei.

PS:

ich check Version 7.0 in meinem Maven depdencies bin mit und Ausführung Scheck als mvn checkstyl:checkstyle

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-checkstyle-plugin</artifactId> 
     <version>2.17</version> 
     <dependencies> 
      <dependency> 
       <groupId>com.puppycrawl.tools</groupId> 
       <artifactId>checkstyle</artifactId> 
       <version>7.0</version> 
      </dependency> 
     </dependencies> 
     <executions> 
      <execution> 
       <id>validate</id> 
       <phase>validate</phase> 
       <configuration> 
        <configLocation>${checkstyle.config.location}</configLocation> 
        <encoding>UTF-8</encoding> 
        <consoleOutput>true</consoleOutput> 
        <failsOnError>true</failsOnError> 

       </configuration> 
       <goals> 
        <goal>check</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 
+0

Was meinst du * auf den Einzug * überprüfen? Wie sollte es sich verhalten? Sollte es die Verwendung von Tabs erzwingen, oder sollte es überprüfen, dass jedes Tag mit vier Leerzeichen eingerückt ist? –

+0

Ihre aktuelle Konfiguration wird nur prüfen, ob es irgendwo eine Registerkarte gibt und diese meldet. –

+0

Ich möchte überprüfen, dass es mit 2 Leerzeichen und nicht 4 gekennzeichnet ist –

Antwort

1

Check nicht eine Vertiefung Prüfung für andere Dateien dann java Einsen aufweist, so dass es nicht ist möglich, es für die Überprüfung in XML-Dateien zu verwenden. Grundsätzlich alle TreeWalker Prüfungen sind für Java-Dateien (wie IndentationCheck), alle anderen können für andere Dateien (XML, Eigenschaften, etc.) verwendet werden, aber es gibt eine sehr begrenzte Anzahl von denen (z. B. FileTabCharacterCheck).

Sie müssen dafür ein anderes Werkzeug verwenden, aber ich habe noch keins gefunden.

Verwandte Themen