Maven Wagon SCM Usage
You need to add some extensions (wagon-scm, maven-scm-manager-plexus and the maven-scm-provider for your SCM system, see examples below) to your pom and use URLs in the SCM format.
For non-subversion SCM, in your settings.xml file you can include the elements scmVersionType and scmVersion to specify a branch or tag to use. The value of scmVersionType must be one of branch or tag. There is no default value for scmVersionType so you MUST specify it with scmVersion in order to have any effect.
Deploying your Maven site to Subversion
Add the following extensions to your pom and use a wagon-scm url in the distributionManagement site url.
<build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-scm</artifactId> <version>2.2</version> </extension> <extension> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-manager-plexus</artifactId> <version>1.5</version> </extension> <extension> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-provider-svnexe</artifactId> <version>1.5</version> </extension> </extensions> </build> <distributionManagement> <site> <id>my.svn.server</id> <url>scm:svn:https://username@svn.apache.org/svn/root/module</url> </site> </distributionManagement>
Deploying your Maven site to CVS
Same as before, but changing svnexe to cvsexe and using a CVS svn url.
<build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-scm</artifactId> <version>2.2</version> </extension> <extension> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-manager-plexus</artifactId> <version>1.5</version> </extension> <extension> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-provider-cvsexe</artifactId> <version>1.5</version> </extension> </extensions> </build> <distributionManagement> <site> <id>my.cvs.server</id> <url>scm:cvs:ext:username@cvs.apache.org:/cvs/root:module</url> </site> </distributionManagement>
Deploying your Maven site to GitHub's gh-pages
Same as before, but changing svnexe to gitexe and using a Git svn url.
<build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-scm</artifactId> <version>2.2</version> </extension> <extension> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-manager-plexus</artifactId> <version>2.2</version> </extension> <extension> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-provider-gitexe</artifactId> <version>2.2</version> </extension> </extensions> </build> <distributionManagement> <site> <id>my.git.server</id> <url>scm:git:ssh://git@github.com/myuser/myproject.git</url> </site> </distributionManagement>
And in your settings.xml file:
<server> <id>my.git.server</id> <username>git</username> <scmVersionType>branch</scmVersionType> <scmVersion>gh-pages</scmVersion> </server>