Search code examples
ccnet-config

Getting Configuration Preprocessor to work in CruiseControl.NET


I am trying to define some values in my ccnet.config file.

I am running version 1.4.4.83.

I added xmlns:cb="urn:ccnet.config.builder" to my main cruisecontrol element.like:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">

next I defined some defines processor constants:

<cb:define prodbuildtag="1.1.25.1207" />
<cb:define testbuildtag="1.1.25.1207">

finally I tried to reference the define values in a tag like so:

<sourcecontrol type="svn">
    <trunkUrl>https://someserver/svn/myproject/tags/$(prodbuildtag)</trunkUrl>
    <username>johnDoe</username>
    <password>JelloW0r1d</password>
    <tagOnSuccess>false</tagOnSuccess>
    <tagBaseUrl>https://someserver/svn/myproject/tags/</tagBaseUrl>
</sourcecontrol>

When I bulid using the script it treats the define $(prodbuildtag) as an empty string and checkes out the code based on the trunkUrl 'https://someserver/svn/myproject/tags/'. I am having trouble getting the Configuration Preprocessor to work; please help.


Solution

  • I tested the code you posted in 1.5 and it seems to work. If you are including multiple files make sure you have <cruisecontrol xmlns:cb="urn:ccnet.config.builder"> in each file

    I think $() syntax resolves environment variables as well.