Hi Damian,

Thanks for the self-contained example.

Looks like you were just missing one crucial property "inheritall" on the
<foreach> task,

task :doloop => [] do
  @ant.echo(:message => "Running the loop!")
  @ant.foreach(:list => "${all-domains}",
               :param => "domain",
               :trim => "true",
               :target => "theloop",
               :delimiter=>",",
               :inheritall => "true")  # <-------- ADDED
end

(inheritall is described here
http://ant-contrib.sourceforge.net/tasks/tasks/foreach.html)

with this addition, your example prints all the properties as expected.

cheers,
alex

On Fri, Dec 9, 2011 at 9:52 AM, Damian Monogue <demon...@gmail.com> wrote:

> I'll work on getting a self-contained example set up shortly. In the
> meantime, I'm declaring things thusly:
>
> @ant = AntProject.new(:ant_home => ENV['ANT_HOME'])
> @ant.property(:name => "router.masterInput.dir", :value =>
> "${config.home}/properties/cpe")
>
>
> My company would frown on me sending out the actual buildfile, but I'll set
> up a similar case using dummy info and send it along shortly.
>
> On Thu, Dec 8, 2011 at 7:19 PM, Alex Boisvert <alex.boisv...@gmail.com
> >wrote:
>
> > Hi Damian,
> >
> > How are you setting the properties in your buildfile?   If you can send
> me
> > a self-contained example, I could give it a try and see how to make it
> > work.
> >
> > alex
> >
> >
> > On Wed, Dec 7, 2011 at 10:42 AM, Damian Monogue <demon...@gmail.com>
> > wrote:
> >
> > > My appologies if there's a better place to post this, but I've run into
> > an
> > > issue again while using buildr + antwrap. In this case, I'm using it to
> > > call ant tasks defined in my build.xml. One of them is a loop, and part
> > of
> > > this loop is that it passes along a dynamically constructed ant
> property
> > > name as part of the next chain of tasks.
> > >
> > > For instance, there are several *.masterInput.dir properties which are
> > > defined independently of each other. When the loop executes, it may run
> > the
> > > first time and need router.masterInput.dir, and the next use
> > > cooler.masterInput.dir, etc. For example:
> > >
> > > <antcall target="runMyLoops">
> > >  <param name="executeThisTask" value ="sometasktoexecute" />
> > >  <param name="masterDir" value="${item}.masterInput.dir"/>
> > > ...
> > > </antcall>
> > >
> > >
> > > At run time, when this antcall is hit in the chain, it is throwing an
> > > error. The first time, let us say ${item} is replaced with router. The
> > > error below is thrown:
> > >
> > > Property 'router.masterInput.dir' is not defined.
> > >
> > >
> > > This is untrue, though, as I can see where I have defined it in my
> > > buildfile. Has anyone run into this before? I searched the mailing
> lists
> > > and hit up google, but my googlefu has failed me.
> > >
> > > Thanks in advance for any help!
> > >
> > > Damian
> > >
> >
>

Reply via email to