DLR Logo
Montag, 22.03.2010
 
Fontsize: [-] Text [+]

SVNChecker



Beschreibung
SVNChecker Logo

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.

 SVNChecker  Architektur
zum Bild SVNChecker Architektur

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:

  • Überprüfung von Kodierrichtlinien, z.B. durch Aufruf von Checkstyle für Java-Code oder Pylint für Python-Code.
  • Durchführung von Source-Code-Analysen, z.B. durch Aufruf von Findbugs für Java-Code oder QS C/C++ für C++-Code.
  • Überprüfung von Zugriffsrechten durch Prüfung der Rechte von Benutzern auf das gesamte Repository, einzelne Verzeichnisse oder einzelne Dateien.
  • Anbindung an Issue- oder Bug-Tracking-Systeme, z.B. zur Überprüfung auf Gültigkeit von Issue-IDs.

Beispiele für Aktionen

Mögliche Ausgabe-Ziele für Ergebnisse der Repository-Vorgänge und SVNChecker-Checks sind:

  • Versand einer E-Mail
  • Aktualisierung einer Log-Datei
  • Ausgabe von Informationen auf der Konsole
  • Eintrag in eine Datenbank ("Commit-Datenbank")
  • Eintrag in ein Issue- oder Bug-Tracking-System
  • Aktualisierung eines RSS-Feeds
  • Erzeugung von Weblog-Einträgen

Links


Kontakt
Heinrich Wendel
Deutsches Zentrum für Luft- und Raumfahrt (DLR)

Simulations- und Softwaretechnik
, Verteilte Systeme und Komponentensoftware
Köln

Tel.: +49 2203 601-3305

Fax: +49 2203 601-3070

Copyright © 2010 Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR). Alle Rechte vorbehalten.