Other SCM Commands
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.cgi</url> </scm> ... </project>
If you want to change the default scm provider implementation, for exemple you want to use the native Git 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>2.1.0</version> <configuration> <providerImplementations> <git>git</git> </providerImplementations> </configuration> </plugin> ... </plugins ... </build> ... </project>
Once the scm has been configured, scm operations can be performed.
changelog - displays the project commit changes for each revisions
pom.xml
configuration :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>2.1.0</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
diff
pom.xml
configuration :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>2.1.0</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
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 :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>2.1.0</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
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