2016-11-03 8 views
0

Ich arbeite mit einem älteren Produkt, das ein paar Jahre alt ist. Wir sind vor ein paar Jahren von Ameise zu Großfamilie umgezogen. Jetzt möchte ich PMD-Checks für alle meine Dateien hinzufügen. Als ich die 3500 Dateien im Produkt überprüft habe. Das Problem ist, wenn Sie diese Art von Analyse auf alten Dateien ausführen, führt es zu vielen Verstößen. In diesem Fall ungefähr 10000, zu viel, um mit der Arbeit zu beginnen.Führen Sie pmd auf einer Reihe von Dateien in Gradle

Meine Idee ist es, alle Java-Dateien auf Fehler prüfen, mit pmd ab jetzt (dh von einem bestimmten Commit/Tag in git) Ist es möglich, den Satz von Dateien angeben, die wie wertet aus einem git Ausdruck pmd:

def targetFiles = "git diff --name-only 85d1633..HEAD" .execute()“

Antwort

0

ich glaube nicht, es ist möglich, eine Liste von Dateien über Gradle der PMD-Plugin angeben.

Sie könnten Google "pmd make rule set" verwenden, um die PMD-Dokumentation zum Erstellen eines benutzerdefinierten Regelsatzes anzuzeigen (für PMD 5.1.x - http://pmd.sourceforge.net/pmd-5.1.1/howtomakearuleset.html). Sie könnten wahrscheinlich einen Regelsatz mit nur den <include-pattern> Elementen, die Sie dynamisch erstellen, zusammensetzen.

Ich würde jedoch einen alternativen Ansatz vorschlagen. Anstatt alle PMD-Prüfungen sofort zu aktivieren, wählen Sie einfach einen, schalten Sie ihn ein und beheben Sie diese Verletzungen. Dies sollte eine überschaubare Anzahl von Verstößen sein. Wiederholen Sie diesen Vorgang, eine Regel nach der anderen, bis Sie alle Regeln aktiviert haben, die Ihnen wichtig sind.

Verwandte Themen