Domanda

Ho configurato il mio Eclipse di utilizzare una configurazione checkstyle remota che si trova su un server, che raggiungo via HTTP. Questo funziona bene, ma la configurazione contiene:

<module name="SuppressionFilter">
<property name="file" value="${basedir}/checkstyle-filter.xml"/>
</module>

Quindi cerco di impostare una proprietà aggiuntiva "basedir", che punta alla stessa directory in cui la configurazione è. Quando provo a fare funzionare checkstyle su un progetto ottengo un errore: non può inizializzare il modulo SuppressionsFilter - Non è possibile impostare 'file' immobile nel modulo SuppressionFilter a 'http: // / checkstyle-filtro 'il mio URL'. xml '

Qualche suggerimento su come configurare Eclipse per utilizzare la configurazione checkstyle dal server anche se ha che contiene la SuppressionFilter? Non voglio mettere un checkstyle filtro in ogni progetto ...

È stato utile?

Soluzione

Questa non è attualmente possibile, come riportato in remoto dei file di configurazione non è possibile utilizzare un SuppressionFilter - ID: 2.018.081 . In realtà, il problema è in Checkstyle che utilizza un oggetto java.io.File per il file SuppressionFilter esterna (e quindi impostare un valore iniziale con http: // non funziona). C'è una richiesta di funzionalità su Checkstyle di cambiare questo (vedi in modalità remota i riferimenti a file di configurazione aggiuntiva - ID: 2018608 ). Ma non aspetta che queste modifiche si verificano molto presto (a meno che non se si iniziare a lavorare sodo su di esso :)

Detto questo, pur comprendendo perfettamente la necessità di un file di configurazione checkstyle livello aziendale, sono più sorpreso dalla necessità di un file SuppressionFilter condiviso. Dopo tutto, il suo contenuto è progetto specifico, non è vero? Quindi, penso che si dovrebbe effettivamente utilizzare un altro immobile, per esempio ${workspace} (o la vostra proprietà, la mia comprensione di Espansione segnaposto proprietà è che l'utilizzo di un file .properties dovrebbe funzionare con una configurazione a distanza troppo) e chiedere ogni progetto di fornire un proprio file con la sua SuppressionFilter che sarebbero riferimento dall'area di lavoro. Sulla base di convenzione, che dovrebbe funzionare.

Altri suggerimenti

Non ero in grado di aggiungere una patch per la richiesta di funzionalità originale, così ho creato una nuova richiesta di funzionalità qui: https://sourceforge.net/tracker/?func=detail&atid=397081&aid=3485185&group_id=29721

Ho implementato questa funzionalità ne avevo bisogno per essere in grado di livello aziendale di disabilitare alcune verifiche per i test unitari e le classi NLS Eclipse-generati.

Ho provato con la versione 5.5 di Eclipse-CS di patching del file jar per il plugin e funziona abbastanza bene.

In realtà, è possibile utilizzare un filtro di soppressione. Ce l'ho messa a punto in questo modo con una configurazione remota utilizzando il plug-in 5.6 checkstyle Eclipse. Basta mettere il file di soppressione nella stessa directory remota del file checkstyle.xml e quindi utilizzare il seguente:

<property name="file" value="${config_loc}/suppression.xml" />

Sarà quindi lavoro con Eclipse. In pratica basta sostituire $ {} base_dir con $ {} config_loc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top