【发布时间】:2011-08-11 17:00:50
【问题描述】:
我有一个带有子模块的项目,例如 (//MyProject/Module1 & //MyProject/Module2)。 我只想构建特定的模块,即如果用户只想在 MyProject 中构建 Module2 而不是 Module1。巡航控制中是否可以进行模块化构建?
如果是,我必须在 config.xml 中进行哪些更改?
请帮忙。
【问题讨论】:
标签: cruisecontrol
我有一个带有子模块的项目,例如 (//MyProject/Module1 & //MyProject/Module2)。 我只想构建特定的模块,即如果用户只想在 MyProject 中构建 Module2 而不是 Module1。巡航控制中是否可以进行模块化构建?
如果是,我必须在 config.xml 中进行哪些更改?
请帮忙。
【问题讨论】:
标签: cruisecontrol
不,这是不可能的,这是巡航控制的一大限制。我们正在使用 Java 版本的 Cruisecontrol,为此我编写了一个也使用该元素的 .xsl 转换。
转换工作如下:
用户可以在配置文件中定义如下条目:
<include.projects file="Projects\3DDependencies\3DDependencies_cc_config.xml">
<property name="BuildType" value="dll"/>
<property name="BuildType" value="cfg"/>
<property name="BuildType" value="msi"/>
</include.projects>
然后 xslt 读取文件属性中定义的文件并使用用户定义的构建元素创建一个元素,例如${project.name}.dll、${project.name}.cfg 等
如果需要,它会复制任何其他元素,例如发布者等。通过这种方式,可以拥有一个“基础”配置并在每个项目的基础上覆盖此配置。
它还允许用户根据需要添加/删除任意数量的构建。
【讨论】: