我想编译一个项目(使用CruiseControl),不仅是因为它的源代码发生了变化,而且还有一些依赖项会发生变化。
例如: 我有3个文件夹:
c:\ myProject \ src(我的源文件夹)
c:\ dependency1 \ src(依赖关系1的源代码)
c:\ dependency2 \ output(依赖关系2的dll)
如果其中一个文件夹中的任何内容发生变化,我想在cruisecontrol中编译我的项目。
如何在ccnet.config中配置?
再见,谢谢 尔根答案 0 :(得分:4)
应该是这样的:
<project>
<!-- ... -->
<sourcecontrol type="multi">
<requireChangesFromAll>False</requireChangesFromAll>
<sourceControls>
<svn>
<trunkUrl>svn://svn.mycompany.com/myProject/trunk</trunkUrl>
<workingDirectory>c:\myProject\src</workingDirectory>
<!-- ... -->
</svn>
<svn>
<trunkUrl>svn://svn.mycompany.com/dependency1/trunk</trunkUrl>
<workingDirectory>c:\dependency1\src</workingDirectory>
<!-- ... -->
</svn>
<filtered>
<exclusionFilters />
<inclusionFilters>
<pathFilter>
<caseSensitive>False</caseSensitive>
<pattern>c:\dependency2\output\dependency2.dll</pattern>
</pathFilter>
</inclusionFilters>
<sourceControlProvider type="filesystem">
<autoGetSource>False</autoGetSource>
<ignoreMissingRoot>True</ignoreMissingRoot>
<repositoryRoot>c:\dependency2\output</repositoryRoot>
</sourceControlProvider>
</filtered>
</sourceControls>
</sourcecontrol>
<!-- ... -->
</project>
答案 1 :(得分:2)
如果您将依赖项设置为subversion外部,请按照this StackOverflow thread上的说明进行操作。
如果他们都在自己的subversion存储库中,您可以尝试this post by Mark Cohen。
如果更改仅在文件系统级别进行,那么您可以尝试<filesystem>
修改集检测器。