Site plugin with maven 3.x
Due to MNG-4162, all reporting logic has been removed from trunk.
So a branch of the site plugin has been created https://svn.apache.org/repos/asf/maven/plugins/branches/maven-site-plugin-3.x/ in order to have a site plugin working with maven 3.x .
Plugins Compatibility Matrix
Plugins Maintained by the Apache Maven Community
Tests has been made on the reporting profile of the maven parent pom which enables some reports.
Some of those plugins will need releases to work with maven 3.x :
Plugin |
Version |
Status |
Comments |
---|---|---|---|
maven-javadoc-plugin |
2.6 |
|
need a release see MJAVADOC-251, some its failed MJAVADOC-181 : need more investiguation |
maven-project-info-reports-plugin |
2.1.2 |
(dependencies report) |
need a release due to a use of plexusContainer.getLoggerManager() which has been removed see MPIR-174 |
surefire-report |
2.4.3 |
|
|
jxr |
2.1 |
|
|
maven-changelog-plugin |
2.1 |
|
|
maven-changes-plugin |
2.1 |
|
|
maven-checkstyle-plugin |
2.2 |
see MCHECKSTYLE-123 |
|
maven-pmd-plugin |
2.4 |
|
Plugins Maintained by the Mojo Community
Plugin |
Version |
Status |
Comments |
---|---|---|---|
cobertura-maven-plugin |
2.3 |
|
|
emma-maven-plugin |
1.0-alpha-2 |
|
Snapshots dependencies.
This new version 3.0-beta-1 requires some dependencies release :
- maven 3.x
- maven-plugin-testing-harness 2.0 (branch here https://svn.apache.org/repos/asf/maven/plugin-testing/branches/plugin-testing-mvn-3.x/
- doxia 1.1.2
Know issues
Configuration format.
The current reporting section of the pom have to be moved in a new site plugin configuration.
The proposal is to have a configuration as much similar as possible with the current one.
The model builder will transform it on the fly with displaying a warning concerning this change.
Old configuration
<reporting> <excludeDefaults>true</excludeDefaults> <outputDirectory></outputDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version><at:var at:name="projectInfoReportsPluginVersion" /></version> <reportSets> <reportSet> <reports> <report>foo</report> <report>toto</report> </reports> </reportSet> </reportSets> <configuration> <dependencyDetailsEnabled>false</dependencyDetailsEnabled> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${javadocPluginVersion}</version> </plugin> </plugins> </reporting>
New Configuration
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>@project.version@</version> <configuration> ..... <reportPlugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version><at:var at:name="projectInfoReportsPluginVersion" /></version> <configuration> <dependencyDetailsEnabled>false</dependencyDetailsEnabled> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> <reports> <report>foo</report> <report>toto</report> </reports> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${javadocPluginVersion}</version> </plugin> </reportPlugins> </configuration> </plugin> </plugins>
Version Resolution
Report Plugin version can be empty. The following order/strategy will be used to find/resolve a version :
- search same groupId/artifactId in the build.plugins section.
- search same groupId/artifactId in the build.pluginManagement.plugins section
- resolve with current repositories (can include auto SNAPSHOT resolution)