2010-03-13 18 views
8

Usiamo Hudson per l'integrazione continua con il plugin Violations che analizza il nostro output da pylint. Tuttavia, pylint è un po 'troppo rigido e difficile da configurare. Quello che preferiremmo usare è pyflakes che ci darebbe il giusto livello di "Stai sbagliando".Come iniziare ad integrare Pyflakes con Hudson

risposta

1

Il plugin Violations richiede l'output xml dei vari controller che supporta.

Non ho familiarità con i fiocchi di neve, ma dalla mia breve scansione, non sembra supportare xml come un tipo di output. Dovrai quindi post-processare l'output di pyflakes prima di consentire a Violations di provare ad analizzarlo (oppure potresti modificare pyflakes e scrivere la tua classe di output Message). Probabilmente vorrai catturare l'output di pylint e usarlo per capire il formato xml appropriato a cui piace il plugin Violations.

4

È possibile adattare pyflakes e output pep8 per lavorare con il plug-in Pylint di Violations.

pyflakes path/to/src | awk -F\: '{printf "%s:%s: [E]%s\n", $1, $2, $3}' > violations.pyflakes.txt 

pep8 path/to/src | awk -F\: '{printf "%s:%s: [%s]%s\n", $1, $2, substr($4,2,4), substr($4,6)}' > violations.pep8.txt 

È possibile utilizzare un regex o concatenare l'output per generare un report che include più metriche.

Per maggiori dettagli vedi http://hustoknow.blogspot.com/2011/01/integration-pyflakes-into-hudson.html

+0

Questo funziona anche con Jenkins? – razz0

+0

Lo aspetterei anch'io – Marc

0

Il plugin violazioni richiede output XML dalle varie pedine

Questo è sbagliato: Alcune pedine come "checkstyle" XML in uscita, alcuni altri come "pylint" e "pep8" restituisce "testo" file con un record per riga. L'intestazione in "XML filename pattern" di Jenkins è semplicemente fuorviante.