| ------ |
| Maven SCM Plugin - other scm features |
| ------ |
| Pete Marvin King |
| ------ |
| 20 July 2006 |
| ------ |
| |
| Basic SCM Configuration |
| |
| The scm plugin requires the scm to be configured in the <<<pom.xml>>>. |
| |
| +---------+ |
| [...] |
| <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> |
| [...] |
| +---------+ |
| |
| 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: |
| |
| +-----------+ |
| [...] |
| <build> |
| [...] |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <configuration> |
| <providerImplementations> |
| <cvs>cvs_native</cvs> |
| </providerImplementations> |
| </configuration> |
| </plugin> |
| [...] |
| </plugins |
| [...] |
| </build> |
| [...] |
| +-----------+ |
| |
| Once the scm has been configured, scm operations can be performed. |
| |
| * changelog - displays the project commit changes for each revisions |
| |
| <<<pom.xml>>> configuration : |
| |
| +-----------+ |
| [...] |
| <build> |
| [...] |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| <configuration> |
| <startDate>YYYY-MM-DD</startDate> |
| <endDate>YYYY-MM-DD</endDate> |
| </configuration> |
| </plugin> |
| [...] |
| </plugins |
| [...] |
| </build> |
| [...] |
| +-----------+ |
| |
| 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 |
| +---------+ |
| |
| |
| * diff |
| |
| <<<pom.xml>>> configuration : |
| |
| +-----------+ |
| [...] |
| <build> |
| [...] |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| <configuration> |
| <startRevision>connection</startRevision> |
| <endRevision>connection</endRevision> |
| </configuration> |
| </plugin> |
| [...] |
| </plugins |
| [...] |
| </build> |
| [...] |
| +-----------+ |
| |
| Command : |
| |
| +---------+ |
| mvn scm:diff |
| +---------+ |
| |
| or you can specify the startRevision and endRevision in the command line |
| |
| +---------+ |
| mvn -DstartRevision=<revision> -DendRevision=<revision> scm:diff |
| +---------+ |
| |
| * edit - set the edit status of the file, locking the project sources if supported. |
| |
| Command : |
| |
| +---------+ |
| mvn scm:edit |
| +---------+ |
| |
| * status - displays the modified files in the project. |
| |
| Command : |
| |
| +---------+ |
| mvn scm:status |
| +---------+ |
| |
| * tag |
| |
| <<<pom.xml>>> configuration : |
| |
| +-----------+ |
| [...] |
| <build> |
| [...] |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| <configuration> |
| <tagName>tag</tagName> |
| </configuration> |
| </plugin> |
| [...] |
| </plugins |
| [...] |
| </build> |
| [...] |
| +-----------+ |
| |
| Command : |
| |
| +---------+ |
| mvn scm:tag |
| +---------+ |
| |
| or you can specify the tag name in the command line |
| |
| +---------+ |
| mvn -DtagName="<tag name>" scm:tag |
| +---------+ |
| |
| * unedit - unset the edit status of the project sources and unlocking it if supported. |
| |
| Command : |
| |
| +---------+ |
| mvn scm:unedit |
| +---------+ |
| |
| * validate - check if the scm urls configured in the <<<pom.xml>>> is valid. |
| |
| Command : |
| |
| +---------+ |
| mvn scm:validate |
| +---------+ |
| |
| or passing the scmConnection or/and the developerConnection in the command line |
| |
| +---------+ |
| mvn -DscmConnection="<scm url>" -DscmDeveloperConnection="<scm url>" scm:validate |
| +---------+ |
| |