2010-10-26 5 views
13

Tengo dos paquetes a saber JAXWSDesactivar todos los cheques Checkstyle para un paquete de Java específico

com/midominio/abc/delegado/xyz// gestionan

y com/mydomain/abc/xyz/jaxws/managed

requiero checkstyle se desactivará solo para el segundo paquete, ya que contiene clases de proxy que se generan automáticamente.

Puedo usar un suppression.xml como se muestra a continuación

<?xml version="1.0"?> 

<!DOCTYPE suppressions PUBLIC 
    "-//Puppy Crawl//DTD Suppressions 1.1//EN" 
    "suppressions_1_1.dtd"> 

<suppressions> 
     <!-- Suppress JavadocPackage in the test packages --> 
     <suppress checks="JavadocPackage" files="[\\/]test[\\/]"/> 

    <!-- Suppress all checkstyle for autogenerated jaxws.managed package --> 
    <suppress checks="[a-zA-Z0-9]*" files="([^(delegate)])+([a-z]*[\\/]jaxws[\\/]managed[\\/])+"/> 
</suppressions> 

Tenga en cuenta la supresión del primer cheque para inhabilitar JavadocPackage funciona bien, pero el segundo no lo hace. Me temo que mi expresión regular para seleccionar el paquete podría estar equivocada. Cualquier ayuda es muy apreciada.

Expresar mis necesidades con un ejemplo:

Los criterios para la selección es que el nombre del paquete debe terminar en jaxws.managed pero no debe contener delegate en nombre del paquete. Más sobre delegate debe venir antes jaxws.managed en el nombre del paquete:

por ejemplo: cheques checktyle en paquete com.mycomany.delegate.service.jaxws.managed deben estar habilitadas, mientras que en com.mycompany.abc.service.jaxws.service debe ser desactivado y es de notar que no sé todos los nombres pakages por adelantado, excepto para este patrón

Gracias y Saludos Sibi

Respuesta

16

sólo tiene que utilizar la represión:

<suppress checks="." files="com[\\/]mydomain[\\/]abc[\\/]xyz[\\/]jaxws[\\/]managed[\\/]"/> 

Alternativamente, recomendaría pasar solamente los archivos que desea seleccionados para Checkstyle. Por ejemplo, si está usando ANT, use a para especificar los archivos a procesar, y use para especificar archivos para ignorar.

Por ejemplo:

<fileset dir="src"> 
    <include name="**/*.java"/> 
    <exclude name="com/mycompany/abc/service/jaxws/service/*.java"/> 
</fileset> 
+0

Hola Oliver, Gracias para la respuesta. Su solución funciona donde se conoce el nombre completo del paquete. En mi caso, el criterio para la selección es que el nombre del paquete debe terminar en "jaxws.managed" pero no debe contener "delegate" en el nombre del paquete. Más de "delegado" debe venir antes de "jaxws.managed" en el nombre del paquete: por ejemplo: checktyle comprueba en el paquete "com.mycomany.delegate.service.jaxws.managed" debe estar habilitado mientras que en com.mycompany.abc.service .jaxws.service "debe estar desactivado. Gracias por indicar esta ambigüedad en mi pregunta. –

-3

(?! Delegado \ b) [\ /] [az] * [\ /] jaxws [\ /] lograron [\ /]

Cuestiones relacionadas