代码之家  ›  专栏  ›  技术社区  ›  nicerobot

如何配置Maven在安装时提交到Mercurial存储库:install

  •  3
  • nicerobot  · 技术社区  · 15 年前

    Maven SCM 插件似乎没有提供“提交”目标。 scm:checkin

    我只是有兴趣做一个 hg commit install:install release 插件,现在还不需要它。我只是在多模块环境中本地工作,希望确保我的源存储库与每个模块的Maven本地安装的快照保持一致。换句话说,每次安装模块的新快照时,我都希望提交给hg的相关代码使每个快照直接关联到hg版本(或快照之间发生多个提交时的版本范围)。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Peter Mortensen icecrime    15 年前

    以下内容将具有约束力 scm:checkin install file:// 方案(至少对于Mercurial,根据 the code 在运行期间不执行 scm:签入 .

    1. 定义在以下步骤中使用的属性:

      <properties>
        <message>maven install:install auto-checkin.</message>
        <repository.local>file:///path/to/local/repository</repository.local>
        <repository.type>hg</repository.type>
      </properties>
      

      <message> 你可以选择任何东西。完全修复并不理想,因为提交应该包含关于所做更改的有意义的消息。但是,我认为应该在自动提交中包含一个标准消息来识别它。只需修改 < 属性。在每次安装之前。

    2. 这只是基于Maven项目的标准scm节点。因为这只与本地存储库有关,所以URL都是相同的。

      <scm>
        <connection>scm:${repository.type}:${repository.local}</connection>
        <developerConnection>scm:${repository.type}:${repository.local}</developerConnection>
        <url>scm:${repository.type}:${repository.local}</url>
      </scm>
      
    3. 安装 执行提交的阶段。它将根据步骤2中的定义执行适当的scm签入。

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <version>1.2</version>
            <executions>
              <execution>
                <phase>install</phase>
                <goals>
                  <goal>checkin</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      

    一个问题是我收到了以下信息。

    不推荐使用:绑定聚合器MOJO 在POM中定义生命周期阶段是 他被弃用了。请调整你的位置

        2
  •  0
  •   Ry4an Brase    15 年前

    那设置 connectionUrl checkin 到本地盒上的一次性存储库?因此,您的签出将来自“中心”回购协议,但您的“签入”将只进入工作存储库(您想要的提交),并且(显然)不可避免的推送将进入工作存储库file:///tmp/whocares.

        3
  •  0
  •   Pascal Thivent    15 年前

    Maven的scm插件似乎没有提供“提交”目标。 scm:checkin 执行提交和推送。我需要避免推。

    那么scm插件可能不是您想要的:)

    install:install . 我不是在用电脑 release