Ho finito per scaricare e modificare il codice del plugin Violations per visualizzare una tabella di violazioni per i file che non hanno il codice sorgente e quindi ricompilare il plugin Violations (e caricare manualmente il mio plugin modificato in Jenkins).
Anche il nome del file non viene visualizzato come si può vedere dalla schermata originale, la funzione "getFileNameAlt" ottiene correttamente il nome e la riga "File: $ {it.fileNameAlt}" nello script di gelatina di seguito viene visualizzato (vedi link allo screenshot qui sotto).
ho aggiunto il testo seguente ~ \ violazioni \ src \ Main \ java \ Hudson \ plugins \ violazioni \ render \ FileModelProxy.java, per rendere il tavolo:
public String getFileNameAlt() {
return new File(fileModel.getDisplayName()).getName();
}
public String getSummaryTable() {
StringBuilder gst = new StringBuilder();
int count = 0;
gst.append(" <table class='violations' width='100%'>\n");
gst.append(" <tr>\n");
gst.append(" <td class='violations-header'> # </td>\n");
gst.append(" <td class='violations-header'> Type </td>\n");
gst.append(" <td class='violations-header'> Class</td>\n");
gst.append(" <td class='violations-header'> Message</td>\n");
gst.append(" <td class='violations-header'> Description</td>\n");
gst.append(" </tr>\n");
Set<Violation> violations = fileModel.getLineViolationMap().get(0);
for (Violation v: violations) {
++count;
gst.append(" <tr>\n");
gst.append(" <td class='violations'>");
gst.append(count);
gst.append("</td>\n");
gst.append(" <td class='violations'>");
gst.append(v.getType());
gst.append("</td>\n");
gst.append(" <td class='violations'>");
gst.append(v.getSource());
gst.append("</td>\n");
gst.append(" <td class='violations'>");
gst.append(v.getMessage());
gst.append("</td>\n");
gst.append(" <td class='violations'>");
gst.append(v.getPopupMessage());
gst.append("</td>\n");
gst.append(" </tr>\n");
}
//}
gst.append(" </table>\n");
gst.append("<p><br>\n");
gst.append("<h3>Total Number of violations: \n");
gst.append(count);
gst.append("</h3><p>\n");
return gst.toString();
}
E poi aggiornato i ~ \ violazioni \ target \ classes \ hudson \ plugins \ violations \ render \ FileModelProxy \ index.jelly file aggiungendolo appena sopra il codice che mostrerebbe le violazioni all'interno del codice sorgente (che funzionava per me), è la "" linea di riepilogo di seguito :
Infine ho giocato un po 'con il file style.css, l'aggiunta di una definizione di stile tabella denominata "violazioni" (~ \ violazioni \ obiettivo \ violazioni css \ style.css \):
.violations {
margin-top: 4px;
}
.violations td {
padding: 4px 4px 3px 4px;
}
table.violations {
width: 100%;
border-collapse: collapse;
border: 1px #bbb solid;
}
table.violations > tbody > tr > td:last-child {
border-right: 1px #bbb solid;
}
td.violations {
border: 1px #bbb solid;
padding: 3px 4px 3px 4px;
vertical-align: middle;
}
td.violations-header {
border: 1px #bbb solid;
border-right: none;
border-left: none;
background-color: #f0f0f0;
font-weight: bold;
}
th.violations {
border: 1px #bbb solid;
font-weight: bold;
}
L'immagine qui sotto mostra la tabella risultante per un file che non ha il codice sorgente. Nel mio caso il file non termina con "cs"
http://i.stack.imgur.com/StChP.jpg
fonte
2013-05-16 16:03:27
Hai fornito il percorso dei file di origine nel 'Percorso Source Pattern'? È alla fine delle impostazioni per il plugin Violations nella configurazione del tuo progetto. – Petrik
Dovrebbe aver incluso quella informazione nella domanda originale. Ora eseguo Jenkins 1.514 con la versione 0.7.15 del plugin Violations. –