Uploaded image for project: 'Maven Site Plugin'
  1. Maven Site Plugin
  2. MSITE-484

Support adding and overriding report plugins in new maven-site-plugin 3.x reportPlugins configuration format

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 3.0-beta-1, 3.0-beta-2, 3.0-beta-3, 3.3
    • None
    • inheritance, Maven 3
    • None
    • 3.0-beta-1-SNAPSHOT

    Description

      When using the new configuration format for reportPlugins, it appears that there's no way to:

      • Add a report plugin to a submodule
      • Override the configuration of a report plugin in a submodule

      Using the old <reporting> section, both of these use cases were supported. For large, multi-module builds, it is problematic having to respecify all reporting plugins in any submodule pom that needs to either add an additional reporting plugin or change the configuration of a reporting plugin.

      Attached is a sample project that has a parent POM configured with project-info-reports and javadoc plugin and a submodule configured with jxr plugin and javadoc plugin. The relevant output is here:

      [INFO] ------------------------------------------------------------------------
      [INFO] Building parent 1.0-SNAPSHOT
      [INFO] ------------------------------------------------------------------------
      [INFO] 
      [INFO] --- maven-clean-plugin:2.3:clean (default-clean) @ parent ---
      [INFO] Deleting file set: /Users/mpilquist/Downloads/site-parent-issue/target (included: [**], excluded: [])
      [INFO] 
      [INFO] --- maven-site-plugin:3.0-beta-1-SNAPSHOT:site (default-site) @ parent ---
      [INFO] configuring reportPlugin org.apache.maven.plugins:maven-project-info-reports-plugin:2.2
      [INFO] configuring reportPlugin org.apache.maven.plugins:maven-javadoc-plugin:2.6.1
      ...
      [INFO] ------------------------------------------------------------------------
      [INFO] Building parent-usage-test 1.0-SNAPSHOT
      [INFO] ------------------------------------------------------------------------
      [INFO] 
      [INFO] --- maven-clean-plugin:2.3:clean (default-clean) @ parent-usage-test ---
      [INFO] 
      [INFO] --- maven-site-plugin:3.0-beta-1-SNAPSHOT:site (default-site) @ parent-usage-test ---
      [INFO] configuring reportPlugin org.apache.maven.plugins:maven-jxr-plugin:2.1
      [INFO] configuring reportPlugin org.apache.maven.plugins:maven-javadoc-plugin:2.6.1
      

      Looking at the maven-site-plugin code, it appears the the reportPlugins parameter is just a regular array parameter. AFAIK, there's no way to merge list configuration items. Other plugins have worked around this by defining additional mojo parameters (e.g., maven-eclipse-plugin and buildCommands / additionalBuildCommands – http://maven.apache.org/plugins/maven-eclipse-plugin/eclipse-mojo.html). This isn't the most flexible option though as it only solves 1 level inheritance.

      Attachments

        1. site-cfg-inheritance.zip
          5 kB
          Michael Pilquist
        2. MSITE-484.patch
          40 kB
          Eric Dalquist
        3. MSITE-484.patch
          40 kB
          Eric Dalquist

        Issue Links

          Activity

            People

              olamy Olivier Lamy
              mpilquist@gmail.com Michael Pilquist
              Votes:
              34 Vote for this issue
              Watchers:
              39 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: