atom feed8 messages in net.sourceforge.lists.cruisecontrol-develRe: new feature: include.projects
FromSent OnAttachments
Jeffrey FredrickDec 28, 2006 4:33 pm 
Paul HammantDec 28, 2006 8:48 pm 
Jeffrey FredrickDec 28, 2006 11:58 pm 
Bart VanhauteDec 29, 2006 8:13 am 
Jeffrey FredrickDec 29, 2006 11:53 am 
Paul HammantDec 30, 2006 2:37 pm 
Jeffrey FredrickDec 30, 2006 8:05 pm 
Quigley, Kevin M.Jan 2, 2007 7:09 am 
Subject:Re: new feature: include.projects
From:Paul Hammant (
Date:Dec 28, 2006 8:48:45 pm

Thanks Jeffrey.

Is this fault tolerant? I.e. if one of the includable files is missing or corrupt, the rest are still good to go?

- Paul

On Dec 28, 2006, at 2:33 PM, Jeffrey Fredrick wrote:

I added a new feature last night as a partial implementation of CC-266 and I'd be interested in some willing guinea pigs to try it out. The feature is a new include.projects tag you can use to include projects from another configuration file. A simple use might be:

<cruisecontrol> <include.projects file="projects/projectA/config.xml"/> <include.projects file="projects/projectB/config.xml"/> </cruisecontrol>

The text from the documentation (configxml.html) is given below.

Still to do are:

1. check the target files for changes and reload as appropriate 2. add dir, include and exclude attributes to support specifying multiple files at once



The <include.projects> tag is used to consolidate several configuration files into a single configuration. One advantage over using XML includes are that the target files are valid configuration files in their own right and not just XML fragments. Also, including projects using the tag is less fragile as an error in one file will not keep the rest of the projects for building.

Configuration files included this way are processed with the properties and plugins defined in the main configuration file, which easily allows per instance configuration. Properties and plugins defined in the processed files are not made available outside the scope of that file.

Project names must still remain unique. The first project with a given name will be loaded and any subsequent projects attempting to use the same name will be skipped.