Most of production site content takes time to build (for example, JavaDoc API, changes report, etc). It's convenient to move that configuration plugins to a profile, which is activated only once in a while. Profile site does exactly that, grouping together most time-consuming reporting plugins. The profile can be activated only manually from command line, e.g.:
$ mvn clean install site-deploy -Psite
The profile configures maven-site-plugin with all required reporting plugins:
- maven-project-info-reports-plugin creates basic "project information" reports.
- maven-javadoc-plugin builds JavaDoc API documentation in ./apidocs-$project.version directory.
- cobertura-maven-plugin generates code coverage report.
- maven-plugin-plugin generate documentation for maven plugin.
- versions-maven-plugin reports about available dependency and plugin versions.
Also site profile has the following plugins:
- maven-docck-plugin checks the quality of Maven project documentation.
You can add your own reporting plugins, for example (pay attention to combine.children attribute of reportPlugins element):
<profiles> [...] <profile> <id>site</id> <build> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <reportPlugins combine.children="append"> <plugin> <artifactId>maven-changes-plugin</artifactId> <version>2.8</version> <reportSets> <reportSet> <reports> <report>changes-report</report> </reports> </reportSet> </reportSets> </plugin> </reportPlugins> </configuration> </plugin> </plugins> </build> </profile> </profiles>
Also you can add your own plugins that should be executed when you're building a production site. Just add them to the site profile.