I think the example could be even better to show you don't need any
copy and paste (your text says making copy paste less error prone, but
I think you should barely ever need copy paste).
This shows how you could get the exact same result with no copy paste:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:define WorkingMainDir="C:\Integration\"/>
<cb:define WorkingDir="\WorkingDirectory"/>
<cb:define ArtifactsDir="\Artifacts"/>
<cb:define name="OurProject">
<project name="$(ProjectName)" queue="Q1" queuePriority="1">
<workingDirectory>$(WorkingMainDir)$(ProjectName)$(WorkingDir)</
workingDirectory>
<artifactDirectory>$(WorkingMainDir)$(ProjectName)$(ArtifactsDir)
</artifactDirectory>
</project>
</cb:define>
<cb:scope ProjectName="Alpha">
<cb:OurProject/>
</cb:scope>
<cb:scope ProjectName="Beta">
<cb:OurProject/>
</cb:scope>
</cruisecontrol>
On Oct 13, 5:26 pm, Ruben Willems <[email protected]> wrote:
> Hi
>
> Yesterday I updated the help page of the preprocessor with an example on how
> is is possible,
> maybe there are better ways, but this one works :
> look at the scope block
>
> http://confluence.public.thoughtworks.org/display/CCNET/Configuration...
>
> with kind regards
> Ruben Willems
>
> On Tue, Oct 13, 2009 at 7:31 AM, Assaf Lavie <[email protected]> wrote:
>
> > Thanks, I use the preprocessor heavily, but I don't see how it solves
> > this problem. At most it works around the fact that I cannot access
> > this value directly (even though it's accessible as an envar in
> > certain cases) by allowing me to create a wrapper for the project
> > declaration with a Name parameter. Or am I missing something?
>
> > On Oct 12, 12:26 pm, Ruben Willems <[email protected]> wrote:
> > > HI
>
> > > via the pre-processor this should be possiblehttp://
> > confluence.public.thoughtworks.org/display/CCNET/Configuration...
>
> > > with kind regards
> > > Ruben Willems
>
> > > On Mon, Oct 12, 2009 at 11:59 AM, Assaf Lavie <[email protected]>
> > wrote:
>
> > > > I'm trying to refer to the project's name in some of the attributes I
> > > > set. So I thought $(CCNetProject) would work, but apparently that's
> > > > only visible to executable tasks.
> > > > How can I reuse the value I entered as the project name in further
> > > > configuration parameters?