关于我之前的问题-> Is there a SVN Maven? , 我浏览了使用页面 -> http://maven.apache.org/scm/maven-scm-plugin/usage.html没有找到我想要的东西,这里是我想做的:
http://mysvnurl/myprojectname我可以在哪里参数化项目名称
然后让我们说是否有 3-4 或 n 个子项目(模块)(我也可以为其指定名称)我想要 checkout ,并且我可以指定分支(主干)和修订。简化:
前任 :
http://mysvnurl/myprojectname/project1/trunk/ *//获取所有内容
http://mysvnurl/myprojectname/project2/trunk/ *//获取所有内容
我将如何使用 maven 来做到这一点,有更多经验的人可以解释如何做到这一点,或者将我指向一个我可以阅读如何做的地方,我没有搜索任何特定于我需求的内容。
谢谢
请您参考如下方法:
Maven SCM Plugin我在你上一个问题中提到的 是 SvnAnt 任务的替代方案,因为它允许与来自 Maven 或插件(如发布插件)的 Subversion 存储库(以及其他)进行交互。但我想我错过了你想要做的事情。
那么让我们回到这个问题,这里是如何使用 scm:checkout
在 CLI 上:
mvn scm:checkout -DconnectionUrl=scm:svn:https://svn.dev.java.net/svn/glassfish-svn/trunk/v3 -DcheckoutDirectory=v3
我们可以想象将所有这些放在一个 POM 中并在
configuration
中声明这些参数。插件(或多个
execution
如果您需要处理多个 URL)。并且可选地,您甚至可以玩一些
excludes或
includes (现在很荣幸,见
SCM-526 )。
...
<execution>
<id>perform-checkout</id>
<configuration>
<connectionUrl>myUrl</connectionUrl>
<checkoutDirectory>myDirectory</checkoutDirectory>
<excludes>folder1/*,folder2/*</excludes>
</configuration>
<phase><!-- some phase --></phase>
<goals>
<goal>checkout</goal>
</goals>
</execution>
...
但我从来没有这样用过。以防万一,也许看看
scm:bootstrap
您可以使用它从最小的 POM 引导项目(参见
Bootstrapping a Project Using a POM )。但在这两种情况下,我都不能 100% 确定这些目标是否旨在提供您正在寻找的自动化水平。
我越看你的问题,我就越觉得
svn:externals
(即 Subversion 功能)是您所追求的。这就是我用来在单个命令中检查具有多个主干的复杂项目的方法。