You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elliotte Rusty Harold (Jira)" <ji...@apache.org> on 2019/12/19 12:18:00 UTC

[jira] [Updated] (MCHECKSTYLE-299) build type check goal ignored source options when using phases "test site"

     [ https://issues.apache.org/jira/browse/MCHECKSTYLE-299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliotte Rusty Harold updated MCHECKSTYLE-299:
----------------------------------------------
    Issue Type: New Feature  (was: Bug)

> build type check goal ignored source options when using phases "test site"
> --------------------------------------------------------------------------
>
>                 Key: MCHECKSTYLE-299
>                 URL: https://issues.apache.org/jira/browse/MCHECKSTYLE-299
>             Project: Maven Checkstyle Plugin
>          Issue Type: New Feature
>          Components: checkstyle:check
>    Affects Versions: 2.15
>         Environment: Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
> Maven home: /homes/jwienke/local/trusty/x86_64/opt/apache-maven-3.3.3
> Java version: 1.8.0_05, vendor: Oracle Corporation
> Java home: /vol/ai/java/versions/x64/jdk1.8.0_05/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "3.18.1-tf1-ll", arch: "amd64", family: "unix"
>            Reporter: Johannes Wienke
>            Priority: Major
>
> I have a project where we enforce a zero-warnings policy. For this purpose we have included a call to {{checkstyle:check}} in the build phase using the following configuration:
> {code:xml}
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-checkstyle-plugin</artifactId>
>     <version>2.15</version>
>     <configuration>
>         <configLocation>${project.basedir}/codecheck/checkstyle.xml</configLocation>
>         <propertyExpansion>config_loc=${project.basedir}/codecheck</propertyExpansion>
>         <includeTestSourceDirectory>true</includeTestSourceDirectory>
>         <consoleOutput>true</consoleOutput>
>         <violationSeverity>warning</violationSeverity>
>         <failOnViolation>true</failOnViolation>
>         <sourceDirectory>${project.basedir}/src</sourceDirectory>
>     </configuration>
>     <executions>
>         <execution>
>             <id>checkstyle-validate</id>
>             <phase>validate</phase>
>             <goals>
>                 <goal>check</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> {code}
> Additionally, checkstyle is set up as a reporting goal in the reporting section:
> {code:xml}
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-checkstyle-plugin</artifactId>
>     <version>2.15</version>
>     <configuration>
>         <configLocation>${project.basedir}/codecheck/checkstyle.xml</configLocation>
>         <propertyExpansion>config_loc=${project.basedir}/codecheck</propertyExpansion>
>         <includeTestSourceDirectory>true</includeTestSourceDirectory>
>         <sourceDirectory>${project.basedir}/src</sourceDirectory>
>     </configuration>
> </plugin>
> {code}
> The project contains multiple source trees and some contain generated code. Therefore it is necessary to restrict checkstyle to only one of these trees where the manually maintained code lives. Otherwise, the build would  fail due to warnings being detected in generated code.
> This shown configuration works well when calling maven all of the following ways:
> {noformat}
> mvn compile
> mvn test
> mvn site
> mvn test site
> {noformat}
> However, when changing the deprecated {{sourceDirectory}} elements to the list syntax with {{sourceDirectories}}, the last call {{mvn test site}} starts to fail and ignores the specified source directories. All previous other calls still work as expected.
> When looking at the effective configuration using {{mvn -X}} I could see, that in the last call version with "test site", the {{sourceDirectories}} list of the check goal is again the complete list of source trees instead of the specified one.
> Since we are also using some plugins to include the generated code etc., a reference to the complete POM might be helpful for debugging:
> https://code.cor-lab.org/projects/rsb/repository/rsb-java/revisions/master/entry/pom.xml



--
This message was sent by Atlassian Jira
(v8.3.4#803005)