You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Avlesh Singh <av...@gmail.com> on 2009/07/23 19:02:02 UTC

Re: How to pass Java system properties to a task defined in a taskdef ?

If you are trying to read the environment variable "user.home", this is how
you need to it:

<property environment="env"/>
<echo message = "${env.user.home}"/>

Cheers
Avlesh

On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com> wrote:

>
> Are you trying to set it within your build.xml - like so:
>
> <property name="user.home" value="alpha"/>
>
> If so, I don't think that is going to work...
>
> For example try this out:
>
> <project>
>    <property name="user.home" value="alpha"/>
>    <echo message = "${user.home}"/>
> </project>
>
> When I run this, I get:
>
> Buildfile: build.xml
>     [echo] /home/sfloess
>
> However, if I do this:
>
> ant -Duser.home="bar"
>
> I get:
>
> Buildfile: build.xml
>     [echo] bar
>
> Unless I am wrong, once Ant starts and those default properties are set (in
> this case from Java system properties), it won't be reset to the new value.
>  However, doing so on the command line sets it first.
>
>
> On Thu, 23 Jul 2009, Scot P. Floess wrote:
>
>
>> Just curious - you mention a modified user.home property...  How are you
>> modifying it?
>>
>> On Thu, 23 Jul 2009, Jean-Noël Rivasseau wrote:
>>
>>  Hello,
>>>
>>> I am launching Ant with a modified user.home property. This property is
>>> apparently not passed down to one of my tasks, defined in a taskdef. Why?
>>> Does Ant fork a new VM for executing such tasks? In any case, how can I
>>> pass
>>> this property to the task being executed, it's essential for me.
>>>
>>> I had a look at the source but could not really understand where to look
>>> to
>>> understand how things worked.
>>>
>>> Thanks,
>>>
>>> Jean-Noel
>>>
>>>
>> Scot P. Floess
>> 27 Lake Royale
>> Louisburg, NC  27549
>>
>> 252-478-8087 (Home)
>> 919-890-8117 (Work)
>>
>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>
>> Architect Keros          http://sourceforge.net/projects/keros
>>
>>
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
>
> 252-478-8087 (Home)
> 919-890-8117 (Work)
>
> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>
> Architect Keros          http://sourceforge.net/projects/keros
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by Avlesh Singh <av...@gmail.com>.
Awesome, I was waiting for an answer.

Cheers
Avlesh

On Sat, Jul 25, 2009 at 10:23 AM, Jean-Noël Rivasseau <el...@gmail.com>wrote:

> I finally found the answer to this; Ant properties set via -D are not the
> same as Java properties set via -D when loading Java. When I set the Java
> property and not the Ant property, it works.
>
> Thanks.
>
> On Fri, Jul 24, 2009 at 5:06 AM, Jean-Noël Rivasseau <elvanor@gmail.com
> >wrote:
>
> > Thanks for this answer. The problem however is that I don't control the
> > code of the Ant task - I am patching the build system of a big package
> > (Groovy) to build on Gentoo Linux, so the only thing I can / should
> modify
> > is the buildfile. Is there a way to tell the Java code that will be run
> > inside the task that the current system property "user.home" is set to
> "bar"
> > ?
> >
> > Jean-Noel
> >
> >
> > On Thu, Jul 23, 2009 at 8:35 PM, Avlesh Singh <av...@gmail.com> wrote:
> >
> >> >
> >> > My original question was completely misunderstood
> >> >
> >> Probably because you never mentioned the usage inside a custom task.
> >>
> >> Use these within you Ant tasks:
> >> this.getOwningTarget().getProject().getProperty("user.home");
> >> this.getOwningTarget().getProject().getProperties();
> >>
> >> Cheers
> >> Avlesh
> >>
> >> On Thu, Jul 23, 2009 at 11:55 PM, Jean-Noël Rivasseau <
> elvanor@gmail.com
> >> >wrote:
> >>
> >> > Hmm. My original question was completely misunderstood. Here is what I
> >> am
> >> > doing:
> >> >
> >> > ant -Duser.home="bar"
> >> >
> >> > The build file looks like this:
> >> >
> >> > <echo message="${user.home}" />
> >> > <taskdef name="mytask" classname="com.example.Test" />
> >> > <mytask />
> >> >
> >> > Then the code in Test.java goes like this:
> >> >
> >> > System.out.println("Property: " + System.getProperty("user.home"));
> >> >
> >> > The result of the Ant echo message is what I expected (eg, it prints
> out
> >> > bar). However when the mytask task is ran, /home/elvanor is printed
> >> out...
> >> > and I need to have the user.home property set for mytask ! Why this
> >> happens
> >> > and what can I do about it?
> >> >
> >> > Jean-Noel
> >> >
> >> >
> >> > On Thu, Jul 23, 2009 at 7:34 PM, Scot P. Floess <sf...@nc.rr.com>
> >> wrote:
> >> >
> >> > >
> >> > > You can echo that property using
> >> > >
> >> > > <echo message = "${user.home}"/>
> >> > >
> >> > > Its automagically available via the Java system property...
> >> > >
> >> > >
> >> > > On Thu, 23 Jul 2009, Scot P. Floess wrote:
> >> > >
> >> > >
> >> > >> Well, user.home is a Java system property.  I'm guessing the intent
> >> is
> >> > to
> >> > >> change that system property internal to the script?
> >> > >>
> >> > >> On Thu, 23 Jul 2009, Avlesh Singh wrote:
> >> > >>
> >> > >>  If you are trying to read the environment variable "user.home",
> this
> >> is
> >> > >>> how
> >> > >>> you need to it:
> >> > >>>
> >> > >>> <property environment="env"/>
> >> > >>> <echo message = "${env.user.home}"/>
> >> > >>>
> >> > >>> Cheers
> >> > >>> Avlesh
> >> > >>>
> >> > >>> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <
> sfloess@nc.rr.com>
> >> > >>> wrote:
> >> > >>>
> >> > >>>
> >> > >>>> Are you trying to set it within your build.xml - like so:
> >> > >>>>
> >> > >>>> <property name="user.home" value="alpha"/>
> >> > >>>>
> >> > >>>> If so, I don't think that is going to work...
> >> > >>>>
> >> > >>>> For example try this out:
> >> > >>>>
> >> > >>>> <project>
> >> > >>>>   <property name="user.home" value="alpha"/>
> >> > >>>>   <echo message = "${user.home}"/>
> >> > >>>> </project>
> >> > >>>>
> >> > >>>> When I run this, I get:
> >> > >>>>
> >> > >>>> Buildfile: build.xml
> >> > >>>>    [echo] /home/sfloess
> >> > >>>>
> >> > >>>> However, if I do this:
> >> > >>>>
> >> > >>>> ant -Duser.home="bar"
> >> > >>>>
> >> > >>>> I get:
> >> > >>>>
> >> > >>>> Buildfile: build.xml
> >> > >>>>    [echo] bar
> >> > >>>>
> >> > >>>> Unless I am wrong, once Ant starts and those default properties
> are
> >> > set
> >> > >>>> (in
> >> > >>>> this case from Java system properties), it won't be reset to the
> >> new
> >> > >>>> value.
> >> > >>>>  However, doing so on the command line sets it first.
> >> > >>>>
> >> > >>>>
> >> > >>>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
> >> > >>>>
> >> > >>>>
> >> > >>>>  Just curious - you mention a modified user.home property...  How
> >> are
> >> > >>>>> you
> >> > >>>>> modifying it?
> >> > >>>>>
> >> > >>>>> On Thu, 23 Jul 2009, Jean-Noël Rivasseau wrote:
> >> > >>>>>
> >> > >>>>>  Hello,
> >> > >>>>>
> >> > >>>>>>
> >> > >>>>>> I am launching Ant with a modified user.home property. This
> >> property
> >> > >>>>>> is
> >> > >>>>>> apparently not passed down to one of my tasks, defined in a
> >> taskdef.
> >> > >>>>>> Why?
> >> > >>>>>> Does Ant fork a new VM for executing such tasks? In any case,
> how
> >> > can
> >> > >>>>>> I
> >> > >>>>>> pass
> >> > >>>>>> this property to the task being executed, it's essential for
> me.
> >> > >>>>>>
> >> > >>>>>> I had a look at the source but could not really understand
> where
> >> to
> >> > >>>>>> look
> >> > >>>>>> to
> >> > >>>>>> understand how things worked.
> >> > >>>>>>
> >> > >>>>>> Thanks,
> >> > >>>>>>
> >> > >>>>>> Jean-Noel
> >> > >>>>>>
> >> > >>>>>>
> >> > >>>>>>  Scot P. Floess
> >> > >>>>> 27 Lake Royale
> >> > >>>>> Louisburg, NC  27549
> >> > >>>>>
> >> > >>>>> 252-478-8087 (Home)
> >> > >>>>> 919-890-8117 (Work)
> >> > >>>>>
> >> > >>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >> > >>>>> Chief Architect JavaPIM
> http://sourceforge.net/projects/javapim
> >> > >>>>>
> >> > >>>>> Architect Keros          http://sourceforge.net/projects/keros
> >> > >>>>>
> >> > >>>>>
> >> > >>>>>  Scot P. Floess
> >> > >>>> 27 Lake Royale
> >> > >>>> Louisburg, NC  27549
> >> > >>>>
> >> > >>>> 252-478-8087 (Home)
> >> > >>>> 919-890-8117 (Work)
> >> > >>>>
> >> > >>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >> > >>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >> > >>>>
> >> > >>>> Architect Keros          http://sourceforge.net/projects/keros
> >> > >>>>
> >> > >>>>
> >> > >>>>
> >> ---------------------------------------------------------------------
> >> > >>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> >> > >>>> For additional commands, e-mail: user-help@ant.apache.org
> >> > >>>>
> >> > >>>>
> >> > >>>
> >> > >> Scot P. Floess
> >> > >> 27 Lake Royale
> >> > >> Louisburg, NC  27549
> >> > >>
> >> > >> 252-478-8087 (Home)
> >> > >> 919-890-8117 (Work)
> >> > >>
> >> > >> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >> > >> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >> > >>
> >> > >> Architect Keros          http://sourceforge.net/projects/keros
> >> > >>
> >> > >>
> >> > > Scot P. Floess
> >> > > 27 Lake Royale
> >> > > Louisburg, NC  27549
> >> > >
> >> > > 252-478-8087 (Home)
> >> > > 919-890-8117 (Work)
> >> > >
> >> > > Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >> > > Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >> > >
> >> > > Architect Keros          http://sourceforge.net/projects/keros
> >> > >
> >> > >
> >> > >
> ---------------------------------------------------------------------
> >> > > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> >> > > For additional commands, e-mail: user-help@ant.apache.org
> >> > >
> >>
> >
>

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by Jean-Noël Rivasseau <el...@gmail.com>.
I finally found the answer to this; Ant properties set via -D are not the
same as Java properties set via -D when loading Java. When I set the Java
property and not the Ant property, it works.

Thanks.

On Fri, Jul 24, 2009 at 5:06 AM, Jean-Noël Rivasseau <el...@gmail.com>wrote:

> Thanks for this answer. The problem however is that I don't control the
> code of the Ant task - I am patching the build system of a big package
> (Groovy) to build on Gentoo Linux, so the only thing I can / should modify
> is the buildfile. Is there a way to tell the Java code that will be run
> inside the task that the current system property "user.home" is set to "bar"
> ?
>
> Jean-Noel
>
>
> On Thu, Jul 23, 2009 at 8:35 PM, Avlesh Singh <av...@gmail.com> wrote:
>
>> >
>> > My original question was completely misunderstood
>> >
>> Probably because you never mentioned the usage inside a custom task.
>>
>> Use these within you Ant tasks:
>> this.getOwningTarget().getProject().getProperty("user.home");
>> this.getOwningTarget().getProject().getProperties();
>>
>> Cheers
>> Avlesh
>>
>> On Thu, Jul 23, 2009 at 11:55 PM, Jean-Noël Rivasseau <elvanor@gmail.com
>> >wrote:
>>
>> > Hmm. My original question was completely misunderstood. Here is what I
>> am
>> > doing:
>> >
>> > ant -Duser.home="bar"
>> >
>> > The build file looks like this:
>> >
>> > <echo message="${user.home}" />
>> > <taskdef name="mytask" classname="com.example.Test" />
>> > <mytask />
>> >
>> > Then the code in Test.java goes like this:
>> >
>> > System.out.println("Property: " + System.getProperty("user.home"));
>> >
>> > The result of the Ant echo message is what I expected (eg, it prints out
>> > bar). However when the mytask task is ran, /home/elvanor is printed
>> out...
>> > and I need to have the user.home property set for mytask ! Why this
>> happens
>> > and what can I do about it?
>> >
>> > Jean-Noel
>> >
>> >
>> > On Thu, Jul 23, 2009 at 7:34 PM, Scot P. Floess <sf...@nc.rr.com>
>> wrote:
>> >
>> > >
>> > > You can echo that property using
>> > >
>> > > <echo message = "${user.home}"/>
>> > >
>> > > Its automagically available via the Java system property...
>> > >
>> > >
>> > > On Thu, 23 Jul 2009, Scot P. Floess wrote:
>> > >
>> > >
>> > >> Well, user.home is a Java system property.  I'm guessing the intent
>> is
>> > to
>> > >> change that system property internal to the script?
>> > >>
>> > >> On Thu, 23 Jul 2009, Avlesh Singh wrote:
>> > >>
>> > >>  If you are trying to read the environment variable "user.home", this
>> is
>> > >>> how
>> > >>> you need to it:
>> > >>>
>> > >>> <property environment="env"/>
>> > >>> <echo message = "${env.user.home}"/>
>> > >>>
>> > >>> Cheers
>> > >>> Avlesh
>> > >>>
>> > >>> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com>
>> > >>> wrote:
>> > >>>
>> > >>>
>> > >>>> Are you trying to set it within your build.xml - like so:
>> > >>>>
>> > >>>> <property name="user.home" value="alpha"/>
>> > >>>>
>> > >>>> If so, I don't think that is going to work...
>> > >>>>
>> > >>>> For example try this out:
>> > >>>>
>> > >>>> <project>
>> > >>>>   <property name="user.home" value="alpha"/>
>> > >>>>   <echo message = "${user.home}"/>
>> > >>>> </project>
>> > >>>>
>> > >>>> When I run this, I get:
>> > >>>>
>> > >>>> Buildfile: build.xml
>> > >>>>    [echo] /home/sfloess
>> > >>>>
>> > >>>> However, if I do this:
>> > >>>>
>> > >>>> ant -Duser.home="bar"
>> > >>>>
>> > >>>> I get:
>> > >>>>
>> > >>>> Buildfile: build.xml
>> > >>>>    [echo] bar
>> > >>>>
>> > >>>> Unless I am wrong, once Ant starts and those default properties are
>> > set
>> > >>>> (in
>> > >>>> this case from Java system properties), it won't be reset to the
>> new
>> > >>>> value.
>> > >>>>  However, doing so on the command line sets it first.
>> > >>>>
>> > >>>>
>> > >>>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
>> > >>>>
>> > >>>>
>> > >>>>  Just curious - you mention a modified user.home property...  How
>> are
>> > >>>>> you
>> > >>>>> modifying it?
>> > >>>>>
>> > >>>>> On Thu, 23 Jul 2009, Jean-Noël Rivasseau wrote:
>> > >>>>>
>> > >>>>>  Hello,
>> > >>>>>
>> > >>>>>>
>> > >>>>>> I am launching Ant with a modified user.home property. This
>> property
>> > >>>>>> is
>> > >>>>>> apparently not passed down to one of my tasks, defined in a
>> taskdef.
>> > >>>>>> Why?
>> > >>>>>> Does Ant fork a new VM for executing such tasks? In any case, how
>> > can
>> > >>>>>> I
>> > >>>>>> pass
>> > >>>>>> this property to the task being executed, it's essential for me.
>> > >>>>>>
>> > >>>>>> I had a look at the source but could not really understand where
>> to
>> > >>>>>> look
>> > >>>>>> to
>> > >>>>>> understand how things worked.
>> > >>>>>>
>> > >>>>>> Thanks,
>> > >>>>>>
>> > >>>>>> Jean-Noel
>> > >>>>>>
>> > >>>>>>
>> > >>>>>>  Scot P. Floess
>> > >>>>> 27 Lake Royale
>> > >>>>> Louisburg, NC  27549
>> > >>>>>
>> > >>>>> 252-478-8087 (Home)
>> > >>>>> 919-890-8117 (Work)
>> > >>>>>
>> > >>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> > >>>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>> > >>>>>
>> > >>>>> Architect Keros          http://sourceforge.net/projects/keros
>> > >>>>>
>> > >>>>>
>> > >>>>>  Scot P. Floess
>> > >>>> 27 Lake Royale
>> > >>>> Louisburg, NC  27549
>> > >>>>
>> > >>>> 252-478-8087 (Home)
>> > >>>> 919-890-8117 (Work)
>> > >>>>
>> > >>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> > >>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>> > >>>>
>> > >>>> Architect Keros          http://sourceforge.net/projects/keros
>> > >>>>
>> > >>>>
>> > >>>>
>> ---------------------------------------------------------------------
>> > >>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> > >>>> For additional commands, e-mail: user-help@ant.apache.org
>> > >>>>
>> > >>>>
>> > >>>
>> > >> Scot P. Floess
>> > >> 27 Lake Royale
>> > >> Louisburg, NC  27549
>> > >>
>> > >> 252-478-8087 (Home)
>> > >> 919-890-8117 (Work)
>> > >>
>> > >> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> > >> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>> > >>
>> > >> Architect Keros          http://sourceforge.net/projects/keros
>> > >>
>> > >>
>> > > Scot P. Floess
>> > > 27 Lake Royale
>> > > Louisburg, NC  27549
>> > >
>> > > 252-478-8087 (Home)
>> > > 919-890-8117 (Work)
>> > >
>> > > Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> > > Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>> > >
>> > > Architect Keros          http://sourceforge.net/projects/keros
>> > >
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> > > For additional commands, e-mail: user-help@ant.apache.org
>> > >
>>
>

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by Jean-Noël Rivasseau <el...@gmail.com>.
Thanks for this answer. The problem however is that I don't control the code
of the Ant task - I am patching the build system of a big package (Groovy)
to build on Gentoo Linux, so the only thing I can / should modify is the
buildfile. Is there a way to tell the Java code that will be run inside the
task that the current system property "user.home" is set to "bar" ?

Jean-Noel

On Thu, Jul 23, 2009 at 8:35 PM, Avlesh Singh <av...@gmail.com> wrote:

> >
> > My original question was completely misunderstood
> >
> Probably because you never mentioned the usage inside a custom task.
>
> Use these within you Ant tasks:
> this.getOwningTarget().getProject().getProperty("user.home");
> this.getOwningTarget().getProject().getProperties();
>
> Cheers
> Avlesh
>
> On Thu, Jul 23, 2009 at 11:55 PM, Jean-Noël Rivasseau <elvanor@gmail.com
> >wrote:
>
> > Hmm. My original question was completely misunderstood. Here is what I am
> > doing:
> >
> > ant -Duser.home="bar"
> >
> > The build file looks like this:
> >
> > <echo message="${user.home}" />
> > <taskdef name="mytask" classname="com.example.Test" />
> > <mytask />
> >
> > Then the code in Test.java goes like this:
> >
> > System.out.println("Property: " + System.getProperty("user.home"));
> >
> > The result of the Ant echo message is what I expected (eg, it prints out
> > bar). However when the mytask task is ran, /home/elvanor is printed
> out...
> > and I need to have the user.home property set for mytask ! Why this
> happens
> > and what can I do about it?
> >
> > Jean-Noel
> >
> >
> > On Thu, Jul 23, 2009 at 7:34 PM, Scot P. Floess <sf...@nc.rr.com>
> wrote:
> >
> > >
> > > You can echo that property using
> > >
> > > <echo message = "${user.home}"/>
> > >
> > > Its automagically available via the Java system property...
> > >
> > >
> > > On Thu, 23 Jul 2009, Scot P. Floess wrote:
> > >
> > >
> > >> Well, user.home is a Java system property.  I'm guessing the intent is
> > to
> > >> change that system property internal to the script?
> > >>
> > >> On Thu, 23 Jul 2009, Avlesh Singh wrote:
> > >>
> > >>  If you are trying to read the environment variable "user.home", this
> is
> > >>> how
> > >>> you need to it:
> > >>>
> > >>> <property environment="env"/>
> > >>> <echo message = "${env.user.home}"/>
> > >>>
> > >>> Cheers
> > >>> Avlesh
> > >>>
> > >>> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com>
> > >>> wrote:
> > >>>
> > >>>
> > >>>> Are you trying to set it within your build.xml - like so:
> > >>>>
> > >>>> <property name="user.home" value="alpha"/>
> > >>>>
> > >>>> If so, I don't think that is going to work...
> > >>>>
> > >>>> For example try this out:
> > >>>>
> > >>>> <project>
> > >>>>   <property name="user.home" value="alpha"/>
> > >>>>   <echo message = "${user.home}"/>
> > >>>> </project>
> > >>>>
> > >>>> When I run this, I get:
> > >>>>
> > >>>> Buildfile: build.xml
> > >>>>    [echo] /home/sfloess
> > >>>>
> > >>>> However, if I do this:
> > >>>>
> > >>>> ant -Duser.home="bar"
> > >>>>
> > >>>> I get:
> > >>>>
> > >>>> Buildfile: build.xml
> > >>>>    [echo] bar
> > >>>>
> > >>>> Unless I am wrong, once Ant starts and those default properties are
> > set
> > >>>> (in
> > >>>> this case from Java system properties), it won't be reset to the new
> > >>>> value.
> > >>>>  However, doing so on the command line sets it first.
> > >>>>
> > >>>>
> > >>>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
> > >>>>
> > >>>>
> > >>>>  Just curious - you mention a modified user.home property...  How
> are
> > >>>>> you
> > >>>>> modifying it?
> > >>>>>
> > >>>>> On Thu, 23 Jul 2009, Jean-Noël Rivasseau wrote:
> > >>>>>
> > >>>>>  Hello,
> > >>>>>
> > >>>>>>
> > >>>>>> I am launching Ant with a modified user.home property. This
> property
> > >>>>>> is
> > >>>>>> apparently not passed down to one of my tasks, defined in a
> taskdef.
> > >>>>>> Why?
> > >>>>>> Does Ant fork a new VM for executing such tasks? In any case, how
> > can
> > >>>>>> I
> > >>>>>> pass
> > >>>>>> this property to the task being executed, it's essential for me.
> > >>>>>>
> > >>>>>> I had a look at the source but could not really understand where
> to
> > >>>>>> look
> > >>>>>> to
> > >>>>>> understand how things worked.
> > >>>>>>
> > >>>>>> Thanks,
> > >>>>>>
> > >>>>>> Jean-Noel
> > >>>>>>
> > >>>>>>
> > >>>>>>  Scot P. Floess
> > >>>>> 27 Lake Royale
> > >>>>> Louisburg, NC  27549
> > >>>>>
> > >>>>> 252-478-8087 (Home)
> > >>>>> 919-890-8117 (Work)
> > >>>>>
> > >>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> > >>>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> > >>>>>
> > >>>>> Architect Keros          http://sourceforge.net/projects/keros
> > >>>>>
> > >>>>>
> > >>>>>  Scot P. Floess
> > >>>> 27 Lake Royale
> > >>>> Louisburg, NC  27549
> > >>>>
> > >>>> 252-478-8087 (Home)
> > >>>> 919-890-8117 (Work)
> > >>>>
> > >>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> > >>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> > >>>>
> > >>>> Architect Keros          http://sourceforge.net/projects/keros
> > >>>>
> > >>>>
> > >>>>
> ---------------------------------------------------------------------
> > >>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > >>>> For additional commands, e-mail: user-help@ant.apache.org
> > >>>>
> > >>>>
> > >>>
> > >> Scot P. Floess
> > >> 27 Lake Royale
> > >> Louisburg, NC  27549
> > >>
> > >> 252-478-8087 (Home)
> > >> 919-890-8117 (Work)
> > >>
> > >> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> > >> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> > >>
> > >> Architect Keros          http://sourceforge.net/projects/keros
> > >>
> > >>
> > > Scot P. Floess
> > > 27 Lake Royale
> > > Louisburg, NC  27549
> > >
> > > 252-478-8087 (Home)
> > > 919-890-8117 (Work)
> > >
> > > Chief Architect JPlate   http://sourceforge.net/projects/jplate
> > > Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> > >
> > > Architect Keros          http://sourceforge.net/projects/keros
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > > For additional commands, e-mail: user-help@ant.apache.org
> > >
>

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by Avlesh Singh <av...@gmail.com>.
>
> My original question was completely misunderstood
>
Probably because you never mentioned the usage inside a custom task.

Use these within you Ant tasks:
this.getOwningTarget().getProject().getProperty("user.home");
this.getOwningTarget().getProject().getProperties();

Cheers
Avlesh

On Thu, Jul 23, 2009 at 11:55 PM, Jean-Noël Rivasseau <el...@gmail.com>wrote:

> Hmm. My original question was completely misunderstood. Here is what I am
> doing:
>
> ant -Duser.home="bar"
>
> The build file looks like this:
>
> <echo message="${user.home}" />
> <taskdef name="mytask" classname="com.example.Test" />
> <mytask />
>
> Then the code in Test.java goes like this:
>
> System.out.println("Property: " + System.getProperty("user.home"));
>
> The result of the Ant echo message is what I expected (eg, it prints out
> bar). However when the mytask task is ran, /home/elvanor is printed out...
> and I need to have the user.home property set for mytask ! Why this happens
> and what can I do about it?
>
> Jean-Noel
>
>
> On Thu, Jul 23, 2009 at 7:34 PM, Scot P. Floess <sf...@nc.rr.com> wrote:
>
> >
> > You can echo that property using
> >
> > <echo message = "${user.home}"/>
> >
> > Its automagically available via the Java system property...
> >
> >
> > On Thu, 23 Jul 2009, Scot P. Floess wrote:
> >
> >
> >> Well, user.home is a Java system property.  I'm guessing the intent is
> to
> >> change that system property internal to the script?
> >>
> >> On Thu, 23 Jul 2009, Avlesh Singh wrote:
> >>
> >>  If you are trying to read the environment variable "user.home", this is
> >>> how
> >>> you need to it:
> >>>
> >>> <property environment="env"/>
> >>> <echo message = "${env.user.home}"/>
> >>>
> >>> Cheers
> >>> Avlesh
> >>>
> >>> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com>
> >>> wrote:
> >>>
> >>>
> >>>> Are you trying to set it within your build.xml - like so:
> >>>>
> >>>> <property name="user.home" value="alpha"/>
> >>>>
> >>>> If so, I don't think that is going to work...
> >>>>
> >>>> For example try this out:
> >>>>
> >>>> <project>
> >>>>   <property name="user.home" value="alpha"/>
> >>>>   <echo message = "${user.home}"/>
> >>>> </project>
> >>>>
> >>>> When I run this, I get:
> >>>>
> >>>> Buildfile: build.xml
> >>>>    [echo] /home/sfloess
> >>>>
> >>>> However, if I do this:
> >>>>
> >>>> ant -Duser.home="bar"
> >>>>
> >>>> I get:
> >>>>
> >>>> Buildfile: build.xml
> >>>>    [echo] bar
> >>>>
> >>>> Unless I am wrong, once Ant starts and those default properties are
> set
> >>>> (in
> >>>> this case from Java system properties), it won't be reset to the new
> >>>> value.
> >>>>  However, doing so on the command line sets it first.
> >>>>
> >>>>
> >>>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
> >>>>
> >>>>
> >>>>  Just curious - you mention a modified user.home property...  How are
> >>>>> you
> >>>>> modifying it?
> >>>>>
> >>>>> On Thu, 23 Jul 2009, Jean-Noël Rivasseau wrote:
> >>>>>
> >>>>>  Hello,
> >>>>>
> >>>>>>
> >>>>>> I am launching Ant with a modified user.home property. This property
> >>>>>> is
> >>>>>> apparently not passed down to one of my tasks, defined in a taskdef.
> >>>>>> Why?
> >>>>>> Does Ant fork a new VM for executing such tasks? In any case, how
> can
> >>>>>> I
> >>>>>> pass
> >>>>>> this property to the task being executed, it's essential for me.
> >>>>>>
> >>>>>> I had a look at the source but could not really understand where to
> >>>>>> look
> >>>>>> to
> >>>>>> understand how things worked.
> >>>>>>
> >>>>>> Thanks,
> >>>>>>
> >>>>>> Jean-Noel
> >>>>>>
> >>>>>>
> >>>>>>  Scot P. Floess
> >>>>> 27 Lake Royale
> >>>>> Louisburg, NC  27549
> >>>>>
> >>>>> 252-478-8087 (Home)
> >>>>> 919-890-8117 (Work)
> >>>>>
> >>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >>>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >>>>>
> >>>>> Architect Keros          http://sourceforge.net/projects/keros
> >>>>>
> >>>>>
> >>>>>  Scot P. Floess
> >>>> 27 Lake Royale
> >>>> Louisburg, NC  27549
> >>>>
> >>>> 252-478-8087 (Home)
> >>>> 919-890-8117 (Work)
> >>>>
> >>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >>>>
> >>>> Architect Keros          http://sourceforge.net/projects/keros
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> >>>> For additional commands, e-mail: user-help@ant.apache.org
> >>>>
> >>>>
> >>>
> >> Scot P. Floess
> >> 27 Lake Royale
> >> Louisburg, NC  27549
> >>
> >> 252-478-8087 (Home)
> >> 919-890-8117 (Work)
> >>
> >> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> >> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >>
> >> Architect Keros          http://sourceforge.net/projects/keros
> >>
> >>
> > Scot P. Floess
> > 27 Lake Royale
> > Louisburg, NC  27549
> >
> > 252-478-8087 (Home)
> > 919-890-8117 (Work)
> >
> > Chief Architect JPlate   http://sourceforge.net/projects/jplate
> > Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
> >
> > Architect Keros          http://sourceforge.net/projects/keros
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
>

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by Jean-Noël Rivasseau <el...@gmail.com>.
Hmm. My original question was completely misunderstood. Here is what I am
doing:

ant -Duser.home="bar"

The build file looks like this:

<echo message="${user.home}" />
<taskdef name="mytask" classname="com.example.Test" />
<mytask />

Then the code in Test.java goes like this:

System.out.println("Property: " + System.getProperty("user.home"));

The result of the Ant echo message is what I expected (eg, it prints out
bar). However when the mytask task is ran, /home/elvanor is printed out...
and I need to have the user.home property set for mytask ! Why this happens
and what can I do about it?

Jean-Noel


On Thu, Jul 23, 2009 at 7:34 PM, Scot P. Floess <sf...@nc.rr.com> wrote:

>
> You can echo that property using
>
> <echo message = "${user.home}"/>
>
> Its automagically available via the Java system property...
>
>
> On Thu, 23 Jul 2009, Scot P. Floess wrote:
>
>
>> Well, user.home is a Java system property.  I'm guessing the intent is to
>> change that system property internal to the script?
>>
>> On Thu, 23 Jul 2009, Avlesh Singh wrote:
>>
>>  If you are trying to read the environment variable "user.home", this is
>>> how
>>> you need to it:
>>>
>>> <property environment="env"/>
>>> <echo message = "${env.user.home}"/>
>>>
>>> Cheers
>>> Avlesh
>>>
>>> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com>
>>> wrote:
>>>
>>>
>>>> Are you trying to set it within your build.xml - like so:
>>>>
>>>> <property name="user.home" value="alpha"/>
>>>>
>>>> If so, I don't think that is going to work...
>>>>
>>>> For example try this out:
>>>>
>>>> <project>
>>>>   <property name="user.home" value="alpha"/>
>>>>   <echo message = "${user.home}"/>
>>>> </project>
>>>>
>>>> When I run this, I get:
>>>>
>>>> Buildfile: build.xml
>>>>    [echo] /home/sfloess
>>>>
>>>> However, if I do this:
>>>>
>>>> ant -Duser.home="bar"
>>>>
>>>> I get:
>>>>
>>>> Buildfile: build.xml
>>>>    [echo] bar
>>>>
>>>> Unless I am wrong, once Ant starts and those default properties are set
>>>> (in
>>>> this case from Java system properties), it won't be reset to the new
>>>> value.
>>>>  However, doing so on the command line sets it first.
>>>>
>>>>
>>>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
>>>>
>>>>
>>>>  Just curious - you mention a modified user.home property...  How are
>>>>> you
>>>>> modifying it?
>>>>>
>>>>> On Thu, 23 Jul 2009, Jean-Noël Rivasseau wrote:
>>>>>
>>>>>  Hello,
>>>>>
>>>>>>
>>>>>> I am launching Ant with a modified user.home property. This property
>>>>>> is
>>>>>> apparently not passed down to one of my tasks, defined in a taskdef.
>>>>>> Why?
>>>>>> Does Ant fork a new VM for executing such tasks? In any case, how can
>>>>>> I
>>>>>> pass
>>>>>> this property to the task being executed, it's essential for me.
>>>>>>
>>>>>> I had a look at the source but could not really understand where to
>>>>>> look
>>>>>> to
>>>>>> understand how things worked.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Jean-Noel
>>>>>>
>>>>>>
>>>>>>  Scot P. Floess
>>>>> 27 Lake Royale
>>>>> Louisburg, NC  27549
>>>>>
>>>>> 252-478-8087 (Home)
>>>>> 919-890-8117 (Work)
>>>>>
>>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>>>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>>>>
>>>>> Architect Keros          http://sourceforge.net/projects/keros
>>>>>
>>>>>
>>>>>  Scot P. Floess
>>>> 27 Lake Royale
>>>> Louisburg, NC  27549
>>>>
>>>> 252-478-8087 (Home)
>>>> 919-890-8117 (Work)
>>>>
>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>>>
>>>> Architect Keros          http://sourceforge.net/projects/keros
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>>> For additional commands, e-mail: user-help@ant.apache.org
>>>>
>>>>
>>>
>> Scot P. Floess
>> 27 Lake Royale
>> Louisburg, NC  27549
>>
>> 252-478-8087 (Home)
>> 919-890-8117 (Work)
>>
>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>
>> Architect Keros          http://sourceforge.net/projects/keros
>>
>>
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
>
> 252-478-8087 (Home)
> 919-890-8117 (Work)
>
> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>
> Architect Keros          http://sourceforge.net/projects/keros
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by "Scot P. Floess" <sf...@nc.rr.com>.
You can echo that property using

<echo message = "${user.home}"/>

Its automagically available via the Java system property...

On Thu, 23 Jul 2009, Scot P. Floess wrote:

>
> Well, user.home is a Java system property.  I'm guessing the intent is to 
> change that system property internal to the script?
>
> On Thu, 23 Jul 2009, Avlesh Singh wrote:
>
>> If you are trying to read the environment variable "user.home", this is how
>> you need to it:
>> 
>> <property environment="env"/>
>> <echo message = "${env.user.home}"/>
>> 
>> Cheers
>> Avlesh
>> 
>> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com> wrote:
>> 
>>> 
>>> Are you trying to set it within your build.xml - like so:
>>> 
>>> <property name="user.home" value="alpha"/>
>>> 
>>> If so, I don't think that is going to work...
>>> 
>>> For example try this out:
>>> 
>>> <project>
>>>    <property name="user.home" value="alpha"/>
>>>    <echo message = "${user.home}"/>
>>> </project>
>>> 
>>> When I run this, I get:
>>> 
>>> Buildfile: build.xml
>>>     [echo] /home/sfloess
>>> 
>>> However, if I do this:
>>> 
>>> ant -Duser.home="bar"
>>> 
>>> I get:
>>> 
>>> Buildfile: build.xml
>>>     [echo] bar
>>> 
>>> Unless I am wrong, once Ant starts and those default properties are set 
>>> (in
>>> this case from Java system properties), it won't be reset to the new 
>>> value.
>>>  However, doing so on the command line sets it first.
>>> 
>>> 
>>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
>>> 
>>> 
>>>> Just curious - you mention a modified user.home property...  How are you
>>>> modifying it?
>>>> 
>>>> On Thu, 23 Jul 2009, Jean-No�l Rivasseau wrote:
>>>>
>>>>  Hello,
>>>>> 
>>>>> I am launching Ant with a modified user.home property. This property is
>>>>> apparently not passed down to one of my tasks, defined in a taskdef. 
>>>>> Why?
>>>>> Does Ant fork a new VM for executing such tasks? In any case, how can I
>>>>> pass
>>>>> this property to the task being executed, it's essential for me.
>>>>> 
>>>>> I had a look at the source but could not really understand where to look
>>>>> to
>>>>> understand how things worked.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> Jean-Noel
>>>>> 
>>>>> 
>>>> Scot P. Floess
>>>> 27 Lake Royale
>>>> Louisburg, NC  27549
>>>> 
>>>> 252-478-8087 (Home)
>>>> 919-890-8117 (Work)
>>>> 
>>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>>> 
>>>> Architect Keros          http://sourceforge.net/projects/keros
>>>> 
>>>> 
>>> Scot P. Floess
>>> 27 Lake Royale
>>> Louisburg, NC  27549
>>> 
>>> 252-478-8087 (Home)
>>> 919-890-8117 (Work)
>>> 
>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>> 
>>> Architect Keros          http://sourceforge.net/projects/keros
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: user-help@ant.apache.org
>>> 
>> 
>
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
>
> 252-478-8087 (Home)
> 919-890-8117 (Work)
>
> Chief Architect JPlate   http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>
> Architect Keros          http://sourceforge.net/projects/keros
>

Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-890-8117 (Work)

Chief Architect JPlate   http://sourceforge.net/projects/jplate
Chief Architect JavaPIM  http://sourceforge.net/projects/javapim

Architect Keros          http://sourceforge.net/projects/keros

Re: How to pass Java system properties to a task defined in a taskdef ?

Posted by "Scot P. Floess" <sf...@nc.rr.com>.
Well, user.home is a Java system property.  I'm guessing the intent is to 
change that system property internal to the script?

On Thu, 23 Jul 2009, Avlesh Singh wrote:

> If you are trying to read the environment variable "user.home", this is how
> you need to it:
>
> <property environment="env"/>
> <echo message = "${env.user.home}"/>
>
> Cheers
> Avlesh
>
> On Thu, Jul 23, 2009 at 8:18 PM, Scot P. Floess <sf...@nc.rr.com> wrote:
>
>>
>> Are you trying to set it within your build.xml - like so:
>>
>> <property name="user.home" value="alpha"/>
>>
>> If so, I don't think that is going to work...
>>
>> For example try this out:
>>
>> <project>
>>    <property name="user.home" value="alpha"/>
>>    <echo message = "${user.home}"/>
>> </project>
>>
>> When I run this, I get:
>>
>> Buildfile: build.xml
>>     [echo] /home/sfloess
>>
>> However, if I do this:
>>
>> ant -Duser.home="bar"
>>
>> I get:
>>
>> Buildfile: build.xml
>>     [echo] bar
>>
>> Unless I am wrong, once Ant starts and those default properties are set (in
>> this case from Java system properties), it won't be reset to the new value.
>>  However, doing so on the command line sets it first.
>>
>>
>> On Thu, 23 Jul 2009, Scot P. Floess wrote:
>>
>>
>>> Just curious - you mention a modified user.home property...  How are you
>>> modifying it?
>>>
>>> On Thu, 23 Jul 2009, Jean-No�l Rivasseau wrote:
>>>
>>>  Hello,
>>>>
>>>> I am launching Ant with a modified user.home property. This property is
>>>> apparently not passed down to one of my tasks, defined in a taskdef. Why?
>>>> Does Ant fork a new VM for executing such tasks? In any case, how can I
>>>> pass
>>>> this property to the task being executed, it's essential for me.
>>>>
>>>> I had a look at the source but could not really understand where to look
>>>> to
>>>> understand how things worked.
>>>>
>>>> Thanks,
>>>>
>>>> Jean-Noel
>>>>
>>>>
>>> Scot P. Floess
>>> 27 Lake Royale
>>> Louisburg, NC  27549
>>>
>>> 252-478-8087 (Home)
>>> 919-890-8117 (Work)
>>>
>>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>>
>>> Architect Keros          http://sourceforge.net/projects/keros
>>>
>>>
>> Scot P. Floess
>> 27 Lake Royale
>> Louisburg, NC  27549
>>
>> 252-478-8087 (Home)
>> 919-890-8117 (Work)
>>
>> Chief Architect JPlate   http://sourceforge.net/projects/jplate
>> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>>
>> Architect Keros          http://sourceforge.net/projects/keros
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>

Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-890-8117 (Work)

Chief Architect JPlate   http://sourceforge.net/projects/jplate
Chief Architect JavaPIM  http://sourceforge.net/projects/javapim

Architect Keros          http://sourceforge.net/projects/keros