Projekt: Jd Mp-Stats

Ein Maven Plugin Projekt.

Mit diesem Plugin kann man leicht eine Übersicht des Mavenprojekt erzeugen, aus der ersichtlich wird:

  • wie viele Dateien eines bestimmten Typs vorhanden sind,
  • wie viele Zeilen sie haben
  • und welche Größe die Dateien haben.

Einbinden ins eigene maven Projekt mit:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
    <plugin>
        <groupId>de.dimitroff.app</groupId>
        <artifactId>jd-mpstats</artifactId>
        <version>1.2.0-SNAPSHOT</version>
        <configuration>
            <vLevel>V3</vLevel>
            <extensions>java, txt, md</extensions>
        </configuration>
        <executions>
            <execution>
                <id>dostats</id>
                <phase>verify</phase>
                <goals>
                    <goal>stats</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

Das Goal ist hier stats.
Es kann hierbei die Phase frei gewählt werden. Als günstig erscheint pre-clean - als ersten Schritt beim Maven Build - oder verify, nach der Kompilierung.

Konfiguriert werden kann das Verbosity Level mit dem Tag vLevel und die File-Extensions, der Files die in die Statistik mit eingehen sollen. Mögliche Werte des verbosity Levels sind hier V1, V2, V3. Bei V3 werden StatistikInfos jedes Files ausgegeben. Angegeben werden die File-Extensions mit dem Tag extensions als comma-separated-values, z.B. java, json um nur *.java und *.json Dateien zu berücksichtigen.

Als Default-Values ist V1 und java konfiguriert. D.h ohne den configuration Block, werden nur Java-Dateien gezählt und in einer Zeile ausgegeben. Ein Output sieht z.B. so aus:

[INFO] JDs maven project stats
------------------------------
.java (2 files): 229 lines

Oder, ein echter Aufruf:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    mvn jd:stats
    ...
    [INFO]
    JD's maven project stats V1.0
    -----------------------------
    .txt (81 files): lines=4270, 254836 bytes
    .java (488 files): lines=48765, 1907258 bytes
    .md (993 files): lines=146095, 5745633 bytes
    
    [INFO] ------------------------------------------------------------------------

Als Entwickler der hauptsächlich maven Projekte bearbeitet, ist man an einer Statistik zum Projekt interessiert.

Obwohl es statische Sourcecode Analyzer gibt, benötigt man dessen Statistiken nicht bei jedem maven Lauf.