使用maven scm插件提交多个文件

时间:2018-02-23 11:59:45

标签: maven maven-scm

我想git使用maven scm插件(v1.9.4)在不同的文件夹中提交两个文件。例如:abc/p.jsonxyz\p.json。我不想提交任何其他文件,例如other/p.json

根据chekin目标的documentation,逗号分隔列表(例如abc/p.json,xyz/p.json)应该有效。但它最终会提交所有文件。

我正在使用maven发布插件的scm:checkin配置<preparationGoals>目标。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>${maven.release.plugin.version}</version>
    <configuration>
        <preparationGoals>
            clean verify
            scm:checkin -DpushChanges=false -Dmessage="[maven-release-plugin] Update version text"
            -Dincludes="abc/p.json,xyz/p.json"
    </configuration>
</plugin>

如何仅提交abc/p.jsonxyz/p.json个文件?

1 个答案:

答案 0 :(得分:1)

我能够通过创建配置文件获取签入的文件列表,类似于:

<profile>
  <id>commit-changed-files</id>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <configuration>
            <includes>file1,file2,file3,file4</includes>
            <message>[maven-release-plugin] commit changed files</message>
            <pushChanges>false</pushChanges><!-- because I use git -->
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</profile>

然后,在发布插件配置中:

        <preparationGoals>-Pcommit-changed-files clean scm:add scm:checkin</preparationGoals>
        <completionGoals>-Pcommit-changed-files clean scm:add scm:checkin</completionGoals>

参考:formatter-m2e-configurator's pom.xml