Maven 2.x Checkstyle Plugin

Multi-module reports do not support custom classpath configurations

Details

  • Type: Bug Bug
  • Status: Reopened Reopened
  • Priority: Critical Critical
  • Resolution: Unresolved
  • Affects Version/s: 2.0-beta-1
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Number of attachments :
    0

Description

The latest multi-module tip shows the following:

<reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>whizbang/checkstyle.xml</configLocation>
          <headerLocation>whizbang/LICENSE.txt</headerLocation>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.example.whizbang</groupId>
            <artifactId>build-tools</artifactId>
            <version>1.0</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </reporting>

This is invalid according to the latest 2.0.2 POM schema. <dependencies> is not supported in reporting plugins.

So it seems impossible to provide a custom config in a multi-module build without using a network URL as we cannot use File or classpath.

Activity

Hide
fabrizio giustina added a comment -

documentation issue, pom snippet fixed in svn

Show
fabrizio giustina added a comment - documentation issue, pom snippet fixed in svn
Hide
fabrizio giustina added a comment -

reopen: configuring the dependency as a project-wide dependency works but it's not what we want.
Configuring the build-tools dependency as a plugin dependency doesn't work either if the checkstyle plugin is called as a report, neither if it's called using checkstyle:check directly, see MCHECKSTYLE-27

Show
fabrizio giustina added a comment - reopen: configuring the dependency as a project-wide dependency works but it's not what we want. Configuring the build-tools dependency as a plugin dependency doesn't work either if the checkstyle plugin is called as a report, neither if it's called using checkstyle:check directly, see MCHECKSTYLE-27
Hide
Brett Porter added a comment -

requires a Maven fix

Show
Brett Porter added a comment - requires a Maven fix
Hide
John Allen added a comment -

Until core gets reporting sorted (ie. reportingManagement, dependencies for reports, etc) we define the checkstyle, clover-2.0 and pmd plugins as <build> plugins and specify their dependencies in the nornmal plugin way. Fortunately they dont have default goals bound to the lifecycle so don't do any harm in the normal biuld but when the report or check mojos are invoked either by site or via explicit invocation the plugin configuration seems to inherit the <build> defined configuration, including its dependencies.

Show
John Allen added a comment - Until core gets reporting sorted (ie. reportingManagement, dependencies for reports, etc) we define the checkstyle, clover-2.0 and pmd plugins as <build> plugins and specify their dependencies in the nornmal plugin way. Fortunately they dont have default goals bound to the lifecycle so don't do any harm in the normal biuld but when the report or check mojos are invoked either by site or via explicit invocation the plugin configuration seems to inherit the <build> defined configuration, including its dependencies.
Hide
Christian Goetze added a comment -

I've been trying to get this to work for some time, and I can't seem to get there...

So I did move the plugin configuration into the <build /> section, which at least caused the cyclic dependency error I saw before (when I used <extensions /> to go away, but now it seems that it won't go more than one level deep, skipping over module directories that do not contain a src subtree.

INFO] ----------------------------------------------------------------------------
[INFO] Building SenSage shared artifacts
[INFO] task-segment: [checkstyle:check]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing checkstyle:check
[INFO] [checkstyle:checkstyle]
[INFO] Source directory does not exist - skipping report.
[INFO] [checkstyle:check]
[INFO] Unable to perform checkstyle:check, unable to find checkstyle:checkstyle outputFile.

This is using maven 2.0.5

Show
Christian Goetze added a comment - I've been trying to get this to work for some time, and I can't seem to get there... So I did move the plugin configuration into the <build /> section, which at least caused the cyclic dependency error I saw before (when I used <extensions /> to go away, but now it seems that it won't go more than one level deep, skipping over module directories that do not contain a src subtree. INFO] ---------------------------------------------------------------------------- [INFO] Building SenSage shared artifacts [INFO] task-segment: [checkstyle:check] [INFO] ---------------------------------------------------------------------------- [INFO] Preparing checkstyle:check [INFO] [checkstyle:checkstyle] [INFO] Source directory does not exist - skipping report. [INFO] [checkstyle:check] [INFO] Unable to perform checkstyle:check, unable to find checkstyle:checkstyle outputFile. This is using maven 2.0.5

People

Vote (2)
Watch (5)

Dates

  • Created:
    Updated: