The scm plugin requires the scm to be configured in the pom.xml.
<project> ... <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>SCM Sample Project</name> <url>http://somecompany.com</url> <scm> <connection>scm:svn:http://somerepository.com/svn_repo/trunk</connection> <developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection> <url>http://somerepository.com/view.cvs</url> </scm> ... </project>
If you want to change the default scm provider implementation, for exemple you want to use the native cvs instead of the pure java implementation, you must configure your plugin like that:
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.5-SNAPSHOT</version> <configuration> <providerImplementations> <cvs>cvs_native</cvs> </providerImplementations> </configuration> </plugin> ... </plugins ... </build> ... </project>
Once the scm has been configured, scm operations can be performed.
pom.xml configuration :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.5-SNAPSHOT</version> <configuration> <startDate>YYYY-MM-DD</startDate> <endDate>YYYY-MM-DD</endDate> </configuration> </plugin> ... </plugins ... </build> ... </project>
Command :
mvn scm:changelog
or you can specify the startDate and endDate on the commandline
mvn -DstartDate=YYYY-MM-DD -DendDate=YYYY-MM-DD scm:changelog
pom.xml configuration :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.5-SNAPSHOT</version> <configuration> <startRevision>connection</startRevision> <endRevision>connection</endRevision> </configuration> </plugin> ... </plugins ... </build> ... </project>
Command :
mvn scm:diff
or you can specify the startRevision and endRevision in the command line
mvn -DstartRevision=<revision> -DendRevision=<revision> scm:diff
Command :
mvn scm:edit
pom.xml configuration :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.5-SNAPSHOT</version> <configuration> <tag>tag name</tag> </configuration> </plugin> ... </plugins ... </build> ... </project>
Command :
mvn scm:tag
or you can specify the tag name in the command line
mvn -Dtag="<tag name>" scm:tag