I am trying to use the Cruise Control preprocessor functionality to break my configuration into smaller reusable sections. I can use the include feature great from within the root cruisecontrol node, like so:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:include href="child.config" />
</cruisecontrol>
If I try and use another include within the child config (like so):
<project name="TestProject" xmlns:cb="urn:ccnet.config.builder">
<cb:include href="grandchild.config" />
</project>
I get the following error:
ThoughtWorks.CruiseControl.Core.Config.ConfigurationException: Unused node detected: xmlns:cb="urn:ccnet.config.builder"
If I remove the xmlns namespace statement, I get this error instead:
ThoughtWorks.CruiseControl.Core.Config.ConfigurationException: The configuration file contains invalid xml: E:\Build\Config\AppRiver.Tools.BuildAutomation\CruiseControl\ccnet.config ---> System.Xml.XmlException: 'cb' is an undeclared namespace.
And lastly, if I remove the "cb" prefix on the tag, I get this error
Unused node detected: Unused node detected: <define buildFile="CP.WEB.Dev.SanityCheck.CI.build" />
I am out of ideas - any help appreciated!
Cruise Control throws an error if an xmlns is put on the project tag. This seems to be a bug. I have now moved off Cruise Control and onto Hudson, and very happy with it.