[ 
https://issues.apache.org/jira/browse/MCHECKSTYLE-398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17575694#comment-17575694
 ] 

James commented on MCHECKSTYLE-398:
-----------------------------------

Hi! This ticket is blocking 
https://issues.apache.org/jira/browse/MCHECKSTYLE-416 (release of plugin 
version 3.2).  Is this ticket likely to go soon?  Perhaps it's able to target a 
later release after 3.2 and hence allow that out of the door?

> suppressions inside JAR, non-absolute path, cannot be found
> -----------------------------------------------------------
>
>                 Key: MCHECKSTYLE-398
>                 URL: https://issues.apache.org/jira/browse/MCHECKSTYLE-398
>             Project: Maven Checkstyle Plugin
>          Issue Type: Bug
>          Components: checkstyle:checkstyle
>    Affects Versions: 3.1.1
>            Reporter: CHAN Shih-Ping
>            Priority: Major
>             Fix For: 3.2.0
>
>
> When the configuration file and suppressions XML file are inside a JAR, then 
> if the configuration file references the suppressions file with a 
> non-absolute path, the suppressions file cannot be located.
>  
> wildfly-checkstyle-config:1.0.8.Final is a plugin dependency of 
> maven-checkstyle-plugin:3.1.1, containing both 
> {{wildfly-checkstyle/checkstyle.xml}} and 
> {{wildfly-checkstyle/suppressions.xml}}}}
>  
> {code:java}
> # inside checkstyle.xml we reference suppressions.xml with a absolute path
> # this doesn't work if the path is changed to non-absolute
> # wildfly-checkstyle/suppressions.xml, but both absolute/non-absolute 
> reference
> # work in checkstyle-all.jar
> <module name="SuppressionFilter">
>  <property name="file" value="/wildfly-checkstyle/suppressions.xml" />
> </module>{code}
> The configuration file is {{wildfly-checkstyle/checkstyle.xml}} inside the 
> JAR.
> Standard Maven project:
> {code:xml}
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-checkstyle-plugin</artifactId>
>         <version>3.1.1</version>
>         <configuration>
>           <configLocation>wildfly-checkstyle/checkstyle.xml</configLocation>
>           <includeTestSourceDirectory>true</includeTestSourceDirectory>
>           <sourceDirectories>
>             <directory>${project.build.sourceDirectory}</directory>
>           </sourceDirectories>
>           <resourceIncludes>**/*.properties,**/*.xml</resourceIncludes>
>           <includeTestResources>true</includeTestResources>
>           <includeResources>true</includeResources>
>           <consoleOutput>true</consoleOutput>
>           <failsOnError>true</failsOnError>
>           <failOnViolation>true</failOnViolation>
>           <propertyExpansion>samedir=/wildfly-checkstyle/</propertyExpansion>
>         </configuration>
>         <dependencies>
>           <dependency>
>             <groupId>org.wildfly.checkstyle</groupId>
>             <artifactId>wildfly-checkstyle-config</artifactId>
>             <version>1.0.8.Final</version>
>           </dependency>
>           <dependency>
>             <groupId>com.puppycrawl.tools</groupId>
>             <artifactId>checkstyle</artifactId>
>             <version>8.36.2</version>
>           </dependency>
>         </dependencies>
> {code}
> This configuraton works but if the reference to suppressions is non-absolute: 
> {{wildfly-checkstyle/suppressions.xml}}, then
> {code:java}
> Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: cannot 
> initialize module SuppressionFilter - Unable to find: 
> wildfly-checkstyle/suppressions.xml
>     at com.puppycrawl.tools.checkstyle.Checker.setupChild (Checker.java:482)
>     at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure 
> (AutomaticBean.java:201)
>     at 
> org.apache.maven.plugins.checkstyle.exec.DefaultCheckstyleExecutor.executeCheckstyle
>  (DefaultCheckstyleExecutor.java:168)
>     at 
> org.apache.maven.plugins.checkstyle.AbstractCheckstyleReport.executeReport 
> (AbstractCheckstyleReport.java:533)
>     at org.apache.maven.plugins.checkstyle.CheckstyleReport.executeReport 
> (CheckstyleReport.java:57)
>     at org.apache.maven.reporting.AbstractMavenReport.generate 
> (AbstractMavenReport.java:255)
>     at org.apache.maven.reporting.AbstractMavenReport.execute 
> (AbstractMavenReport.java:143)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:137)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:210)
> {code}
> Using checkstyle-8.36.2-all.jar on the command line works whether the path 
> reference has the leading {{'/'}} or not.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to