Re: [NAnt-users] Nested variables

2013-06-17 Thread Bob Archer
 Hello,
 I'm working on converting an Ant script to Nant and have ran into an issue 
 with
 joining several variables together in Nant.
 
 Below is the original Ant script in which it pulls information from a 
 properties
 file and uses the information to feed the build. The project starts by looping
 through build order (NETDLLS, App) and then uses that variable to prepend to
 the ProjectName to check out of StarTeam.
 
 Project.Build.Order=NETDLLs,App
 
 # Windows - .NET DLLs
 NETDLLs.ProjectName=Windows - .NET DLLs
 NETDLLs.ViewName=Windows - .NET DLLs
 NETDLLs.Label=201300722.20130508
 
 ANT script:
 target name=build.project
       property name=ProjectName
 value=${buildProp.${project.Ord}.ProjectName}/
   property name=ViewName
 value=${buildProp.${project.Ord}.ViewName}/
   property name=Label value=${buildProp.${project.Ord}.Label}/
 
   antcall target=checkoutModuleSrc inheritall=true/
 
 Here is what I have come up with in Nant which doesn't seem to be working.
 
 NAnt script:
 target name=build.project
       property name=ProjectName
 value=${'properties.project.Ord'+'.ProjectName'}/
   property name=ViewName
 value=${'properties.project.Ord'+'.ViewName'}/
   property name=Label value=${'properties.project.Ord'+'.Label'}/
   echo${ProjectName} ${ViewName} ${Label}/echo
   call target=checkoutModuleSrc/
 

I assume based on your title nested variables you want to do something like 
this:


property name=ProjectName 
value=${property::get-value('properties.project.Ord.ProjectName')}/

?

BOb



 Results of the script at the command line:
 checkoutModuleSrc:
 
  [exec] StarTeam 10.4 Command Line Interface, Build 10.4.8.36
  [exec] Copyright (c) 2003-2008 Borland Software Corporation. All rights 
 res
 erved.
  [exec] Using ini file: C:\Documents and Settings\All Users\Application 
 Data
 \Borland\StarTeam\ConnectionManager.ini
  [exec] Project not found: properties.project.Ord.ProjectName
 
 I would appreciate any help you can provide.
 
 Thanks,
 -Doug Labout
 
 
 The information contained in this electronic communication and any document
 attached hereto or transmitted herewith is confidential and intended for the
 exclusive use of the individual or entity named above. If the reader of this
 message is not the intended recipient or the employee or agent responsible for
 delivering it to the intended recipient, you are hereby notified that any
 examination, use, dissemination, distribution or copying of this communication
 or any part thereof is strictly prohibited. If you have received this
 communication in error, please immediately notify the sender by reply e-mail
 and destroy this communication. Thank you.

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


Re: [NAnt-users] Nested variables

2013-06-17 Thread Bob Archer
 Hello,
 I'm working on converting an Ant script to Nant and have ran into an issue 
 with
 joining several variables together in Nant.
 
 Below is the original Ant script in which it pulls information from a 
 properties
 file and uses the information to feed the build. The project starts by looping
 through build order (NETDLLS, App) and then uses that variable to prepend to
 the ProjectName to check out of StarTeam.
 
 Project.Build.Order=NETDLLs,App
 
 # Windows - .NET DLLs
 NETDLLs.ProjectName=Windows - .NET DLLs
 NETDLLs.ViewName=Windows - .NET DLLs
 NETDLLs.Label=201300722.20130508
 
 ANT script:
 target name=build.project
       property name=ProjectName
 value=${buildProp.${project.Ord}.ProjectName}/
   property name=ViewName
 value=${buildProp.${project.Ord}.ViewName}/
   property name=Label value=${buildProp.${project.Ord}.Label}/
 
   antcall target=checkoutModuleSrc inheritall=true/
 
 Here is what I have come up with in Nant which doesn't seem to be working.
 
 NAnt script:
 target name=build.project
       property name=ProjectName
 value=${'properties.project.Ord'+'.ProjectName'}/

What are you trying to do here? The value you are going to get in project name 
is:

properties.project.Ord.ProjectName

I assume that is not what you want? When you put something in an expression in 
quotes it is a string literal, it won't be evaluated. Are you trying to get the 
value of properties.project.Ord.ProjectName and put it into project name? I 
really don't understand your snippet here.

Also, what line does that error occur on?

BOb


   property name=ViewName
 value=${'properties.project.Ord'+'.ViewName'}/
   property name=Label value=${'properties.project.Ord'+'.Label'}/
   echo${ProjectName} ${ViewName} ${Label}/echo
   call target=checkoutModuleSrc/
 
 Results of the script at the command line:
 checkoutModuleSrc:
 
  [exec] StarTeam 10.4 Command Line Interface, Build 10.4.8.36
  [exec] Copyright (c) 2003-2008 Borland Software Corporation. All rights 
 res
 erved.
  [exec] Using ini file: C:\Documents and Settings\All Users\Application 
 Data
 \Borland\StarTeam\ConnectionManager.ini
  [exec] Project not found: properties.project.Ord.ProjectName
 
 I would appreciate any help you can provide.
 
 Thanks,
 -Doug Labout
 
 
 The information contained in this electronic communication and any document
 attached hereto or transmitted herewith is confidential and intended for the
 exclusive use of the individual or entity named above. If the reader of this
 message is not the intended recipient or the employee or agent responsible for
 delivering it to the intended recipient, you are hereby notified that any
 examination, use, dissemination, distribution or copying of this communication
 or any part thereof is strictly prohibited. If you have received this
 communication in error, please immediately notify the sender by reply e-mail
 and destroy this communication. Thank you.

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


Re: [NAnt-users] Nested variables

2013-06-17 Thread Labout, Douglas
Bob,
You are correct in that I'm trying to put together a couple of variables.
The build order is assigned to the variable ${properties.project.Ord}. I then 
append to the end of that variable the .ProjectName, .ViewName, and .Label and 
assign them to ${ProjectName}. I then pass $ProjectName to my starteam checkout.

The trouble is that ${properties.project.Ord} returns as NETDLLS but when I 
want the variable ${NETDLLS.ProjectName} to be returned as
NETDLLs.ProjectName=Windows - .NET DLLs it instead comes back as 
NETDLLS.ProjectName.

StarTeam goes looking for a NETDLLS.ProjectName and of course can't find it and 
dies.

Thanks for the help!
Much appreciated!
-Doug

-Original Message-
From: Bob Archer [mailto:bob.arc...@amsi.com]
Sent: Monday, June 17, 2013 9:22 AM
To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
Subject: RE: Nested variables

 Hello,
 I'm working on converting an Ant script to Nant and have ran into an
 issue with joining several variables together in Nant.

 Below is the original Ant script in which it pulls information from a
 properties file and uses the information to feed the build. The
 project starts by looping through build order (NETDLLS, App) and then
 uses that variable to prepend to the ProjectName to check out of StarTeam.

 Project.Build.Order=NETDLLs,App

 # Windows - .NET DLLs
 NETDLLs.ProjectName=Windows - .NET DLLs NETDLLs.ViewName=Windows -
 .NET DLLs
 NETDLLs.Label=201300722.20130508

 ANT script:
 target name=build.project
   property name=ProjectName
 value=${buildProp.${project.Ord}.ProjectName}/
   property name=ViewName
 value=${buildProp.${project.Ord}.ViewName}/
   property name=Label
 value=${buildProp.${project.Ord}.Label}/

   antcall target=checkoutModuleSrc inheritall=true/

 Here is what I have come up with in Nant which doesn't seem to be working.

 NAnt script:
 target name=build.project
   property name=ProjectName
 value=${'properties.project.Ord'+'.ProjectName'}/
   property name=ViewName
 value=${'properties.project.Ord'+'.ViewName'}/
   property name=Label
 value=${'properties.project.Ord'+'.Label'}/
   echo${ProjectName} ${ViewName} ${Label}/echo
   call target=checkoutModuleSrc/


I assume based on your title nested variables you want to do something like 
this:


property name=ProjectName 
value=${property::get-value('properties.project.Ord.ProjectName')}/

?

BOb



 Results of the script at the command line:
 checkoutModuleSrc:

  [exec] StarTeam 10.4 Command Line Interface, Build 10.4.8.36
  [exec] Copyright (c) 2003-2008 Borland Software Corporation. All
 rights res erved.
  [exec] Using ini file: C:\Documents and Settings\All
 Users\Application Data \Borland\StarTeam\ConnectionManager.ini
  [exec] Project not found: properties.project.Ord.ProjectName

 I would appreciate any help you can provide.

 Thanks,
 -Doug Labout


 The information contained in this electronic communication and any
 document attached hereto or transmitted herewith is confidential and
 intended for the exclusive use of the individual or entity named
 above. If the reader of this message is not the intended recipient or
 the employee or agent responsible for delivering it to the intended
 recipient, you are hereby notified that any examination, use,
 dissemination, distribution or copying of this communication or any
 part thereof is strictly prohibited. If you have received this
 communication in error, please immediately notify the sender by reply e-mail 
 and destroy this communication. Thank you.

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above. If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited. If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication. Thank you.

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


Re: [NAnt-users] Nested variables

2013-06-17 Thread Bob Archer
Ok... I guess I'm still not understanding what is in each variable:

 You are correct in that I'm trying to put together a couple of variables.
 The build order is assigned to the variable ${properties.project.Ord}. I then

What is the exact text in that variable?

 append to the end of that variable the .ProjectName,

Is that a property, or a literal? What value is in .ProjectName (assuming that 
is a variable?)

 .ViewName, and .Label
 and assign them to ${ProjectName}. I then pass $ProjectName to my starteam
 checkout.

Same questions...

Are you trying to build a new variable name? So, when you say you want to 
append .ProjectName you mean the contents of that? 

If I knew what was in each variable in addition to the final value you expect 
in the variable, I could help you with more specific code.

BOb


 
 The trouble is that ${properties.project.Ord} returns as NETDLLS but when I
 want the variable ${NETDLLS.ProjectName} to be returned as
 NETDLLs.ProjectName=Windows - .NET DLLs it instead comes back as
 NETDLLS.ProjectName.
 
 StarTeam goes looking for a NETDLLS.ProjectName and of course can't find it
 and dies.
 
 Thanks for the help!
 Much appreciated!
 -Doug
 
 -Original Message-
 From: Bob Archer [mailto:bob.arc...@amsi.com]
 Sent: Monday, June 17, 2013 9:22 AM
 To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
 Subject: RE: Nested variables
 
  Hello,
  I'm working on converting an Ant script to Nant and have ran into an
  issue with joining several variables together in Nant.
 
  Below is the original Ant script in which it pulls information from a
  properties file and uses the information to feed the build. The
  project starts by looping through build order (NETDLLS, App) and then
  uses that variable to prepend to the ProjectName to check out of StarTeam.
 
  Project.Build.Order=NETDLLs,App
 
  # Windows - .NET DLLs
  NETDLLs.ProjectName=Windows - .NET DLLs NETDLLs.ViewName=Windows -
  .NET DLLs
  NETDLLs.Label=201300722.20130508
 
  ANT script:
  target name=build.project
property name=ProjectName
  value=${buildProp.${project.Ord}.ProjectName}/
property name=ViewName
  value=${buildProp.${project.Ord}.ViewName}/
property name=Label
  value=${buildProp.${project.Ord}.Label}/
 
antcall target=checkoutModuleSrc inheritall=true/
 
  Here is what I have come up with in Nant which doesn't seem to be working.
 
  NAnt script:
  target name=build.project
property name=ProjectName
  value=${'properties.project.Ord'+'.ProjectName'}/
property name=ViewName
  value=${'properties.project.Ord'+'.ViewName'}/
property name=Label
  value=${'properties.project.Ord'+'.Label'}/
echo${ProjectName} ${ViewName} ${Label}/echo
call target=checkoutModuleSrc/
 
 
 I assume based on your title nested variables you want to do something like
 this:
 
 
 property name=ProjectName value=${property::get-
 value('properties.project.Ord.ProjectName')}/
 
 ?
 
 BOb
 
 
 
  Results of the script at the command line:
  checkoutModuleSrc:
 
   [exec] StarTeam 10.4 Command Line Interface, Build 10.4.8.36
   [exec] Copyright (c) 2003-2008 Borland Software Corporation. All
  rights res erved.
   [exec] Using ini file: C:\Documents and Settings\All
  Users\Application Data \Borland\StarTeam\ConnectionManager.ini
   [exec] Project not found: properties.project.Ord.ProjectName
 
  I would appreciate any help you can provide.
 
  Thanks,
  -Doug Labout
 
 
  The information contained in this electronic communication and any
  document attached hereto or transmitted herewith is confidential and
  intended for the exclusive use of the individual or entity named
  above. If the reader of this message is not the intended recipient or
  the employee or agent responsible for delivering it to the intended
  recipient, you are hereby notified that any examination, use,
  dissemination, distribution or copying of this communication or any
  part thereof is strictly prohibited. If you have received this
  communication in error, please immediately notify the sender by reply e-mail
 and destroy this communication. Thank you.
 
 The information contained in this electronic communication and any document
 attached hereto or transmitted herewith is confidential and intended for the
 exclusive use of the individual or entity named above. If the reader of this
 message is not the intended recipient or the employee or agent responsible for
 delivering it to the intended recipient, you are hereby notified that any
 examination, use, dissemination, distribution or copying of this communication
 or any part thereof is strictly prohibited. If you have received this
 communication in error, please immediately notify the sender by reply e-mail
 and destroy this communication. Thank you.

--
This SF.net email is sponsored by Windows:

Build for Windows Store.


Re: [NAnt-users] Nested variables

2013-06-17 Thread Labout, Douglas
Hmm,
Let's see if I can explain it better...

Here is the properties file that contains all the components to be built and 
their associated views and labels.

# Projects Build Order
Project.Name=WCFServices
Project.Build.Directory=C:\/VisualStudio\/
Project.Build.Order=NETComponents,NETDLLs,App
Project.Deploy=C:\/VisualStudio\/\Windows - BuildScripts\/Deploy\/

# Windows - .NET Components
NETComponents.ProjectName=Windows - .NET Components
NETComponents.ViewName=Windows - .NET Components
NETComponents.Label=201261654

# Windows - .NET DLLs
NETDLLs.ProjectName=Windows - .NET DLLs
NETDLLs.ViewName=Windows - .NET DLLs
NETDLLs.Label=2013064494

# Windows - WCFServices_NewAccounts.DataAccess
App.ProjectName=Windows - _WCFServices
App.ViewName=Windows - _WCFServices
App.Label=20781

I use loadproperties file=buildLabels.properties / to load the lines in the 
property file.

Here is the loop that pulles build order:

!-- The foreach bellow will loop through the list of projects in the 
Project.Build.Order in the buildLabels.properties --

foreach item=String in=${Project.Build.Order} delim=, 
property=properties.project.Ord
 call target=build.project/
/foreach

Here is the build.project target:

target name=build.project
property name=ProjectName value=${ 
properties.project.Ord+'.ProjectName'}/
property name=ViewName value=${ properties.project.Ord' 
+'.ViewName'}/
property name=Label value=${ properties.project.Ord'+'.Label'}/
echo${ProjectName} ${ViewName} ${Label}/echo
call target=checkoutModuleSrc/

And finally, here is the checkoutModuleSrc target:

!-- checkout src directory --
  target name=checkoutModuleSrc

exec program=${starteam.cmd}
 arg line=co -p 
${STUser}:${STPassword}@${STServer}:${STPort}/${ProjectName} -o -cfgl 
${Label}/
/exec


You can see that I loop through the build order and pick up one of the projects 
to be built, then append the .Projectname, .viewname and .label and then check 
out the code.

The problem is that I can get it to return the property.project.Ord, but can't 
append the .ProjectName, .ViewName, or Label without it interpreting it as 
NETDLLs.ProjectName.


-Original Message-
From: Bob Archer [mailto:bob.arc...@amsi.com]
Sent: Monday, June 17, 2013 10:47 AM
To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
Subject: RE: Nested variables

Ok... I guess I'm still not understanding what is in each variable:

 You are correct in that I'm trying to put together a couple of variables.
 The build order is assigned to the variable ${properties.project.Ord}.
 I then

What is the exact text in that variable?

 append to the end of that variable the .ProjectName,

Is that a property, or a literal? What value is in .ProjectName (assuming that 
is a variable?)

 .ViewName, and .Label
 and assign them to ${ProjectName}. I then pass $ProjectName to my
 starteam checkout.

Same questions...

Are you trying to build a new variable name? So, when you say you want to 
append .ProjectName you mean the contents of that?

If I knew what was in each variable in addition to the final value you expect 
in the variable, I could help you with more specific code.

BOb



 The trouble is that ${properties.project.Ord} returns as NETDLLS but
 when I want the variable ${NETDLLS.ProjectName} to be returned as
 NETDLLs.ProjectName=Windows - .NET DLLs it instead comes back as
 NETDLLS.ProjectName.

 StarTeam goes looking for a NETDLLS.ProjectName and of course can't
 find it and dies.

 Thanks for the help!
 Much appreciated!
 -Doug

 -Original Message-
 From: Bob Archer [mailto:bob.arc...@amsi.com]
 Sent: Monday, June 17, 2013 9:22 AM
 To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
 Subject: RE: Nested variables

  Hello,
  I'm working on converting an Ant script to Nant and have ran into an
  issue with joining several variables together in Nant.
 
  Below is the original Ant script in which it pulls information from
  a properties file and uses the information to feed the build. The
  project starts by looping through build order (NETDLLS, App) and
  then uses that variable to prepend to the ProjectName to check out of 
  StarTeam.
 
  Project.Build.Order=NETDLLs,App
 
  # Windows - .NET DLLs
  NETDLLs.ProjectName=Windows - .NET DLLs NETDLLs.ViewName=Windows -
  .NET DLLs
  NETDLLs.Label=201300722.20130508
 
  ANT script:
  target name=build.project
property name=ProjectName
  value=${buildProp.${project.Ord}.ProjectName}/
property name=ViewName
  value=${buildProp.${project.Ord}.ViewName}/
property name=Label
  value=${buildProp.${project.Ord}.Label}/
 
antcall target=checkoutModuleSrc inheritall=true/
 
  Here is what I have come up with in Nant which doesn't seem to be working.
 
  NAnt script:
  target name=build.project
property name=ProjectName
  value=${'properties.project.Ord'+'.ProjectName'}/
property 

Re: [NAnt-users] Nested variables

2013-06-17 Thread Bob Archer
Right... so use the property::get-value() function. I think this is what you 
need to do:

?xml version=1.0 ?
project name=test


loadproperties file=buildLabels.properties /

!-- The foreach bellow will loop through the list of projects in the 
Project.Build.Order in the buildLabels.properties --
foreach item=String in=${Project.Build.Order} delim=, 
property=properties.project.Ord
echo message=${properties.project.Ord} /

 call target=build.project/
/foreach

target name=build.project
property name=ProjectName value=${ 
property::get-value(properties.project.Ord+'.ProjectName')}/
property name=ViewName value=${ 
property::get-value(properties.project.Ord +'.ViewName')}/
property name=Label value=${ 
property::get-value(properties.project.Ord +'.Label')}/
echo${ProjectName} ${ViewName} ${Label}/echo
call target=checkoutModuleSrc/
/target

!-- checkout src directory --
target name=checkoutModuleSrc
!--
exec program=${starteam.cmd}
 arg line=co -p 
${STUser}:${STPassword}@${STServer}:${STPort}/${ProjectName} -o -cfgl 
${Label}/
/exec
-- 
echo message=${ProjectName} -o -cfgl ${Label} /

/target


/project

 -Original Message-
 From: Labout, Douglas [mailto:douglas.lab...@efirstbank.com]
 Sent: Monday, June 17, 2013 2:24 PM
 To: Bob Archer; 'nant-users@lists.sourceforge.net'
 Subject: RE: Nested variables
 
 Hmm,
 Let's see if I can explain it better...
 
 Here is the properties file that contains all the components to be built and 
 their
 associated views and labels.
 
 # Projects Build Order
 Project.Name=WCFServices
 Project.Build.Directory=C:\/VisualStudio\/
 Project.Build.Order=NETComponents,NETDLLs,App
 Project.Deploy=C:\/VisualStudio\/\Windows - BuildScripts\/Deploy\/
 
 # Windows - .NET Components
 NETComponents.ProjectName=Windows - .NET Components
 NETComponents.ViewName=Windows - .NET Components
 NETComponents.Label=201261654
 
 # Windows - .NET DLLs
 NETDLLs.ProjectName=Windows - .NET DLLs
 NETDLLs.ViewName=Windows - .NET DLLs
 NETDLLs.Label=2013064494
 
 # Windows - WCFServices_NewAccounts.DataAccess
 App.ProjectName=Windows - _WCFServices
 App.ViewName=Windows - _WCFServices
 App.Label=20781
 
 I use loadproperties file=buildLabels.properties / to load the lines in 
 the
 property file.
 
 Here is the loop that pulles build order:
 
 !-- The foreach bellow will loop through the list of projects in the
 Project.Build.Order in the buildLabels.properties --
 
 foreach item=String in=${Project.Build.Order} delim=,
 property=properties.project.Ord
  call target=build.project/
 /foreach
 
 Here is the build.project target:
 
 target name=build.project
 property name=ProjectName value=${
 properties.project.Ord+'.ProjectName'}/
 property name=ViewName value=${ properties.project.Ord'
 +'.ViewName'}/
 property name=Label value=${ properties.project.Ord'+'.Label'}/
 echo${ProjectName} ${ViewName} ${Label}/echo
 call target=checkoutModuleSrc/
 
 And finally, here is the checkoutModuleSrc target:
 
 !-- checkout src directory --
   target name=checkoutModuleSrc
 
 exec program=${starteam.cmd}
  arg line=co -p
 ${STUser}:${STPassword}@${STServer}:${STPort}/${ProjectName} -o -cfgl
 ${Label}/
 /exec
 
 
 You can see that I loop through the build order and pick up one of the 
 projects
 to be built, then append the .Projectname, .viewname and .label and then
 check out the code.
 
 The problem is that I can get it to return the property.project.Ord, but can't
 append the .ProjectName, .ViewName, or Label without it interpreting it as
 NETDLLs.ProjectName.
 
 
 -Original Message-
 From: Bob Archer [mailto:bob.arc...@amsi.com]
 Sent: Monday, June 17, 2013 10:47 AM
 To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
 Subject: RE: Nested variables
 
 Ok... I guess I'm still not understanding what is in each variable:
 
  You are correct in that I'm trying to put together a couple of variables.
  The build order is assigned to the variable ${properties.project.Ord}.
  I then
 
 What is the exact text in that variable?
 
  append to the end of that variable the .ProjectName,
 
 Is that a property, or a literal? What value is in .ProjectName (assuming 
 that is
 a variable?)
 
  .ViewName, and .Label
  and assign them to ${ProjectName}. I then pass $ProjectName to my
  starteam checkout.
 
 Same questions...
 
 Are you trying to build a new variable name? So, when you say you want to
 append .ProjectName you mean the contents of that?
 
 If I knew what was in each variable in addition to the final value you expect 
 in
 the variable, I could help you 

Re: [NAnt-users] Nested variables

2013-06-17 Thread Labout, Douglas
Thanks Bob!
That fixed it.

-Original Message-
From: Bob Archer [mailto:bob.arc...@amsi.com]
Sent: Monday, June 17, 2013 1:18 PM
To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
Subject: RE: Nested variables

Right... so use the property::get-value() function. I think this is what you 
need to do:

?xml version=1.0 ?
project name=test


loadproperties file=buildLabels.properties /

!-- The foreach bellow will loop through the list of projects in the 
Project.Build.Order in the buildLabels.properties --
foreach item=String in=${Project.Build.Order} delim=, 
property=properties.project.Ord
echo message=${properties.project.Ord} /
 call target=build.project/
/foreach

target name=build.project
property name=ProjectName value=${ 
property::get-value(properties.project.Ord+'.ProjectName')}/
property name=ViewName value=${ 
property::get-value(properties.project.Ord +'.ViewName')}/
property name=Label value=${ 
property::get-value(properties.project.Ord +'.Label')}/
echo${ProjectName} ${ViewName} ${Label}/echo
call target=checkoutModuleSrc/
/target

!-- checkout src directory --
target name=checkoutModuleSrc
!--
exec program=${starteam.cmd}
 arg line=co -p 
${STUser}:${STPassword}@${STServer}:${STPort}/${ProjectName} -o -cfgl 
${Label}/
/exec
--
echo message=${ProjectName} -o -cfgl ${Label} /

/target


/project

 -Original Message-
 From: Labout, Douglas [mailto:douglas.lab...@efirstbank.com]
 Sent: Monday, June 17, 2013 2:24 PM
 To: Bob Archer; 'nant-users@lists.sourceforge.net'
 Subject: RE: Nested variables

 Hmm,
 Let's see if I can explain it better...

 Here is the properties file that contains all the components to be
 built and their associated views and labels.

 # Projects Build Order
 Project.Name=WCFServices
 Project.Build.Directory=C:\/VisualStudio\/
 Project.Build.Order=NETComponents,NETDLLs,App
 Project.Deploy=C:\/VisualStudio\/\Windows - BuildScripts\/Deploy\/

 # Windows - .NET Components
 NETComponents.ProjectName=Windows - .NET Components
 NETComponents.ViewName=Windows - .NET Components
 NETComponents.Label=201261654

 # Windows - .NET DLLs
 NETDLLs.ProjectName=Windows - .NET DLLs NETDLLs.ViewName=Windows -
 .NET DLLs
 NETDLLs.Label=2013064494

 # Windows - WCFServices_NewAccounts.DataAccess
 App.ProjectName=Windows - _WCFServices App.ViewName=Windows -
 _WCFServices
 App.Label=20781

 I use loadproperties file=buildLabels.properties / to load the
 lines in the property file.

 Here is the loop that pulles build order:

 !-- The foreach bellow will loop through the list of projects in the
 Project.Build.Order in the buildLabels.properties --

 foreach item=String in=${Project.Build.Order} delim=,
 property=properties.project.Ord
  call target=build.project/
 /foreach

 Here is the build.project target:

 target name=build.project
 property name=ProjectName value=${
 properties.project.Ord+'.ProjectName'}/
 property name=ViewName value=${ properties.project.Ord'
 +'.ViewName'}/
 property name=Label value=${ properties.project.Ord'+'.Label'}/
 echo${ProjectName} ${ViewName} ${Label}/echo
 call target=checkoutModuleSrc/

 And finally, here is the checkoutModuleSrc target:

 !-- checkout src directory --
   target name=checkoutModuleSrc

 exec program=${starteam.cmd}
  arg line=co -p
 ${STUser}:${STPassword}@${STServer}:${STPort}/${ProjectName} -o -cfgl
 ${Label}/
 /exec


 You can see that I loop through the build order and pick up one of the
 projects to be built, then append the .Projectname, .viewname and
 .label and then check out the code.

 The problem is that I can get it to return the property.project.Ord,
 but can't append the .ProjectName, .ViewName, or Label without it
 interpreting it as NETDLLs.ProjectName.


 -Original Message-
 From: Bob Archer [mailto:bob.arc...@amsi.com]
 Sent: Monday, June 17, 2013 10:47 AM
 To: Labout, Douglas; 'nant-users@lists.sourceforge.net'
 Subject: RE: Nested variables

 Ok... I guess I'm still not understanding what is in each variable:

  You are correct in that I'm trying to put together a couple of variables.
  The build order is assigned to the variable ${properties.project.Ord}.
  I then

 What is the exact text in that variable?

  append to the end of that variable the .ProjectName,

 Is that a property, or a literal? What value is in .ProjectName
 (assuming that is a variable?)

  .ViewName, and .Label
  and assign them to ${ProjectName}. I then pass $ProjectName to my
  starteam checkout.

 Same questions...

 Are you trying to build a new variable name? So, when you say you want
 to append .ProjectName you