Bei der Entwicklung von Software ist eine gute Prozessunterstützung durch geeignete Software-Engineering-Werkzeuge sinnvoll, um effizient arbeiten zu können. Die dazu notwendige Tool-Infrastruktur kann entweder durch kommerziell verfügbare integrierte Werkzeug-Suites abgedeckt oder durch eine Integration von frei verfügbaren oder kommerziellen Tools unterschiedlicher Hersteller aufgebaut werden.
Der SVNChecker ist eine Software, die es erlaubt, das freie Versionsverwaltungssystem Subversion in eine existierende Arbeitsumgebung zu integrieren und umfangreiche Überprüfungen des Source-Codes beim Einchecken durchzuführen. Besonders häufig auftretende Anwendungsfälle des SVNChecker sind dabei die Anbindung von Issue- oder Bug-Tracking-Systemen an Subversion-Repositories und die Überprüfung von Kodierrichtlinien des eingecheckten Source-Codes. Der SVNChecker ist aber darüber hinaus allgemein für beliebige Aufgaben einsetzbar.
Der SVNChecker ist realisiert als ein erweiterbares Framework. Durch das Erweitern mit Plug-Ins für Überprüfungen ("checks") können beliebige Zustände und Eigenschaften von Source-Code oder externen Datenbanken abgefragt werden. Durch beliebig viele Ausgabe-Plug-Ins ("handler") können alle notwendigen Aktionen durchgeführt werden. In beiden Arten von Plug-Ins werden häufig externe Tools von Drittanbietern (Open-Source oder kommerziell) angebunden, um die eigentlichen Überprüfungen oder Aktionen durchzuführen. Der Aufruf des SVNChecker erfolgt als Hook-Skript durch Subversion direkt auf dem Server des Repositories. Zur Nutzung ist kein somit zusätzlicher Server-Prozess notwendig. Die Implementierung des SVNChecker erfolgt plattformunabhängig in Python.
Der SVNChecker wird im DLR entwickelt und eingesetzt und ist als Open-Source-Software frei verfügbar (Apache License V2.0). Informationen zu aktuellen Versionen finden sich auf der SVNChecker-Projektseite.
Beispiele für Überprüfungen
Mögliche Überprüfungen von Source-Code oder sonstigen Randbedingungen:
Beispiele für Aktionen
Mögliche Ausgabe-Ziele für Ergebnisse der Repository-Vorgänge und SVNChecker-Checks sind:
Links