2013-07-30 16 views
5

Gibt es ein Maven-Plugin, mit dem ich überprüfen kann, ob es ein Commit gegeben hat, seit das Projekt das letzte Mal veröffentlicht wurde? Ich möchte Leute dazu zwingen, mit der Projektdokumentation Schritt zu halten und deshalb möchte ich während des Build-Prozesses überprüfen, ob seit der letzten Version Commits für das Dokumentations-Docbook-Projekt vorliegen. Wenn nicht, sollte der Build fehlschlagen, da die Dokumentation nicht aktualisiert wurde. Oder haben Sie andere Ansätze, um automatisch sicherzustellen, dass Personen weiterhin dokumentieren?Maven: nach Änderungen in scm suchen

+0

Nur als Nebenbemerkung, ich denke nicht, dass jeder Codewechsel Dokumentationsänderung auslösen sollte, also würde ich das nicht erzwingen. Immer noch interessiert mich was andere denken, also +1 auf deine Frage. –

+0

Ich möchte keine neue Dokumentation für jedes Commit auslösen, aber nur wenn ich ein Produktions-Release mache, sollte überprüft werden, ob es seit dem letzten Release (Tag) im Dokumentationsprojekt ein Commit gegeben hat. –

Antwort

2

Ich weiß nicht von einem einzigen Maven-Plugin, um zu tun, was Sie wollen. Es gibt ein paar Plugins, die jedoch zusammenarbeiten könnten. maven-scm-plugin hat Ziele diff und changelog. diff kann konfiguriert werden, um seine Ausgabe in eine Datei zu schreiben; vielleicht könnten Sie den Dateiinhalt mit der gmaven plugin oder maven enforcer plugin untersuchen. Letzteres hat ein Ziel, bei dem der Build fehlschlägt, wenn sich eine Datei nicht innerhalb eines Größenbereichs befindet. Sie können auch benutzerdefinierte Enforcer-Regeln schreiben, wenn die vorhandenen nicht ausreichen.

+0

Ich würde auch für das Maven-Enforcer-Plugin gehen. Schreiben Sie Ihre eigene Regel. Das funktioniert meiner Erfahrung nach sehr gut. –

+0

Ja, klingt nach einem sehr guten Ansatz. Danke vielmals! –