如何在SCM Maven插件的配置中指定Git标签?

9
作为我的项目配置的一部分,我正在尝试从GitHub存储库中签出特定标记。目前插件配置如下:
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <executions>
                <execution><!-- checkout the msgppack-rpc project -->
                    <id>msgpack-rpc-checkout</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>checkout</goal>
                    </goals>
                    <configuration>
                        <goals>checkout</goals>
                        <connectionUrl>scm:git:https://github.com/msgpack/msgpack-rpc.git</connectionUrl>
                        <tag>java-0.6.0</tag>
                        <checkoutDirectory>repoCode/msgpack-rpc</checkoutDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

然而,Git SCM提供程序似乎忽略了“tag”元素。我也尝试将标签直接放入URL中,例如: scm:git:https://github.com/msgpack/msgpack-rpc.git/refs/tags/java-0.6.0
不幸的是,这种格式以及其他排列组合都会产生错误。我没有其他想法,并且无法在任何地方找到此用例的示例。

你是想通过mvn-scm进行结账吗?还是针对CI环境? - khmarbaise
不,这是我项目的构建步骤之一。别问了,那样你会保持理智的 ;) ... - mikołak
这真的是你的构建的一部分,而不是在 CI 过程中吗?如果是,那听起来非常奇怪。上述模块是多模块构建的一部分还是一个独立的模块? - khmarbaise
是的,它是构建本身的一部分,是的,它是非典型的,因此我开了个玩笑。就Maven而言,它是一个独立的模块。无论如何,我认为所问的问题可能超出了这个相当特定的情况。 - mikołak
如果它是一个独立的模块,你可以让外部处理,例如CI,并使用Maven将其部署到Maven仓库中,并像通常依赖一样使用它。 - khmarbaise
是的,但这只是一个解决方法。你的意思是在这种情况下指定标签不可能吗? - mikołak
1个回答

4

检出目标没有将<tag>元素列为参数。看起来您可以像这样指定标签信息:

<scmVersionType>tag</scmVersionType>
<scmVersion>java-0.6.0</scmVersion>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接