Publishing Maven Sites
Project Configuration
Setting up a Jasig project to publish a Maven site.
- Make sure the project is using the latest jasig-parent pom
- Add the following profiles to the project's POM. Changing the PROJECT_NAME path element to the artifactId of the project.
<!-- | Used by the continuous integrations server to deploy the project site. +--> <profile> <id>ci-local-site</id> <distributionManagement> <site> <id>ci-local-site</id> <url>${jasig-site-ci-dist-base}/PROJECT_NAME/${project.version}</url> </site> </distributionManagement> </profile> <!-- | Should be activated manually by a developer that wishes to deploy a maven site for | the project +--> <profile> <id>manual-site</id> <distributionManagement> <site> <id>developer.jasig</id> <url>${jasig-site-dist-base}/PROJECT_NAME/${project.version}</url> </site> </distributionManagement> </profile>
- Change the top level
<url>
element to:<url>${jasig-site-base}/PROJECT_NAME/${project.version}</url>
- If the project needs to add additional reports or customize reporting plugin use the following examples. Note the defaultMergePolicy, combine.children, merge:children, and merge:removeDuplicates elements are key to making the override work
- Adding memory and additional links to the javadoc plugin
<plugin> <groupId>org.jasig.maven</groupId> <artifactId>maven-site-plugin</artifactId> <configuration> <defaultMergePolicy>MERGE</defaultMergePolicy> <reportPlugins combine.children="append"> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.8</version> <configuration> <links merge:children="BOTH" merge:removeDuplicates="true"> <link>http://static.springsource.org/spring/docs/3.0.x/api/</link> <link>http://ehcache.org/apidocs/</link> <link>http://aopalliance.sourceforge.net/doc/</link> <link>http://java.sun.com/javase/6/docs/api/</link> <link>http://java.sun.com/javaee/5/docs/api/</link> </links> <maxmemory>768m</maxmemory> </configuration> </plugin> </reportPlugins> </configuration> </plugin>
<plugin> <groupId>org.jasig.maven</groupId> <artifactId>maven-site-plugin</artifactId> <configuration> <defaultMergePolicy>MERGE</defaultMergePolicy> <reportPlugins combine.children="append"> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.8</version> <configuration> <links merge:children="BOTH" merge:removeDuplicates="true"> <link>http://static.springsource.org/spring/docs/3.0.x/api/</link> <link>http://ehcache.org/apidocs/</link> <link>http://aopalliance.sourceforge.net/doc/</link> <link>http://java.sun.com/javase/6/docs/api/</link> <link>http://java.sun.com/javaee/5/docs/api/</link> </links> <maxmemory>768m</maxmemory> </configuration> </plugin> </reportPlugins> </configuration> </plugin>
- Adding the maven-plugin-plugin report
<plugin> <groupId>org.jasig.maven</groupId> <artifactId>maven-site-plugin</artifactId> <configuration> <defaultMergePolicy>MERGE</defaultMergePolicy> <reportPlugins combine.children="append"> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>2.9</version> </plugin> </reportPlugins> </configuration> </plugin>
- Adding memory and additional links to the javadoc plugin
Staging the Site
Before deploying the site you should run the following command to test the site generation:
mvn clean install site:site site:stage -Pmanual-site
Deploying the Site
To deploy the site run:
mvn clean install site:site site:stage -Pmanual-site
If deploying the site after cutting a release run:
cd target/checkout mvn site:site site:stage -Pmanual-site