用法

SCM 插件将许多命令映射到各种 scm 实现。但是只有两个常用的命令:

  • checkin - 将更改提交到远程存储库(scm 服务器)。
  • update - 使用远程存储库(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 列表。

通过 Maven 提交和更新更改

假设 SCM 已在pom.xml中配置并且项目目录由 SCM 管理,在 scm 中调用 checkin 目标将启动pom.xml中所有已配置源的提交过程。

这些文件应由外部 scm 客户端预先添加。

  mvn -Dmessage="<commit_log_here>" scm:checkin

更新

  mvn scm:update

指定要使用的 scm 连接

在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>
    

相关链接