SCM 插件将许多命令映射到各种 scm 实现。但是只有两个常用的命令:
每个 scm 都有一个不同的命令行调用来提交修改的源。使用 maven,通过让 maven 处理命令行转换以执行 scm 任务,提供了一种统一的方式来简化此过程。
要为 maven 配置 scm 支持,您需要在pom.xml中进行scm配置。
<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>
Maven 将使用嵌入在 scm 配置中的信息来确定 scm 命令的命令映射。scm 配置 url 由定义映射的不同信息组成:
scm:svn:http://somerepository.com/svn_repo/trunk <service name>:<scm implementation>:<repository url>
检查maven scm 列表以获取支持的 SCM 列表。
假设 SCM 已在pom.xml中配置并且项目目录由 SCM 管理,在 scm 中调用 checkin 目标将启动pom.xml中所有已配置源的提交过程。
这些文件应由外部 scm 客户端预先添加。
mvn -Dmessage="<commit_log_here>" scm:checkin
更新
mvn scm:update
在pom.xml中可以使用两个可能的 scm 连接,connection 和 developerConnection。
<project> ... <build> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>2.0.0-M1</version> <configuration> <connectionType>connection</connectionType> </configuration> </plugin> ... </plugins ... </build> ... </project>
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>2.0.0-M1</version> <configuration> <connectionType>developerConnection</connectionType> </configuration> </plugin> ... </plugins ... </build> ... </project>