Hi Scot,
Thanks a lot for your reply.
What you mentioned as "ant xml task" means tasks without using
ScriptTask, is it right ?
In fact, my project (not ant project!) uses the customized Ant, and in
it, the Task inherited from ScriptTask has a great importance..
So, I try to describe the Ant scripts using Script Task as much as
possible (;_;)
I hope you will have much free time this weekend, and you will have some
interest on this ! :-)
Best Regards,
trad-ex
>I've never used the <script> task...so I really don't have an answer for
>you...
>
>I do have a question...is there a reason you are using script versus ant
>xml tasks? I'm guessing its just to see how things work?
>
>Sorry I don't have an answer :( I am fairly slammed today at work...so
>I don't have much time to look into this...I might have some free time
>this weekend...no promises ;)
>
>Scot
>
>trad-ex wrote:
>> Hi Scot,
>> Hi folks,
>>
>> Sorry for my late response & poor English.
>>
>> I try to organize the discussion on this thread.
>> As originally questions by other person, how can he pass values from a
>> script into a target in spite of the immutablity of properties in Ant ?
>> A part of his script is below:
>>
>> <target name="test">
>> <script language="javascript"><![CDATA[
>> project = self.getProject();
>> echo = project.createTask("echo");
>> project.setProperty("theVal", "foo");
>> echo.setMessage(project.getProperty("theVal"));
>> echo.perform();
>> echoval.execute();
>> project.setProperty("theVal", "bar");
>> echo.setMessage(project.getProperty("theVal"));
>> echo.perform();
>> echoval.execute();
>> ]]></script>
>> </target>
>> <target name="echoval">
>> <echo>${theVal}</echo>
>> </target>
>>
>> This script produces the following output.
>>
>> test:
>> [echo] foo
>> [echo] foo
>> [echo] bar
>> [echo] foo ( -> bar expected )
>>
>> So, because the way of getting rid of immutability is using VariableTask
>> in Ant-contrib, I tried to change his script above like this below:
>>
>> <script language="javascript"><![CDATA[
>> project = self.getProject();
>> echo = project.createTask("echo");
>> variable = project.createTask("var");
>> variable.setName("theVal");
>> variable.setValue("foo");
>> variable.execute();
>> echo.setMessage(project.getProperty("theVal"));
>> echo.perform();
>> echoval.execute();
>> variable.setName("theVal");
>> variable.setValue("bar");
>> variable.execute();
>> echo.setMessage(project.getProperty("theVal"));
>> echo.perform();
>> echoval.execute();
>> ]]></script>
>>
>> But, this script replicated the same result
>>
>> [echo] foo
>> [echo] foo
>> [echo] bar
>> [echo] foo ( -> bar expected )
>>
>> So I consulted the javadoc of Ant, I found that org.apache.tools.ant.
>> Project#setProperty can overwrite the given property!
>>
>> My questions are:
>> 1. Why couldn't the first script overwrite the value of property ?
>> It's not because of immutability, IMHO.
>> 2. What's wrong with my ( second ) script ?
>> 3. Without using MacrodefTask, can this issue be solved just by
>> ScriptTask ?
>>
>> Sorry for my tedious explanation.
>>
>> Best Regards,
>> trad-ex
>>
>>
>>
>>
>>> To be honest, I've never used the <script> feature of ant. Sorry, I
>>> think I misunderstood your question... More to the point...it looks
>>> like I didn't read the question correctly...
>>>
>>> Sorry 'bout that :)
>>>
>>> Scot
>>>
>>> trad-ex wrote:
>>>
>>>> Hi Scot,
>>>>
>>>> Thanks a lot for your reply.
>>>> Yes, I've already known that behavior of "Variable" Task.
>>>> What I would like to know is the proper coding in Script Task by using
>>>> Javascript.
>>>>
>>>> I wonder my conding doesn't make sense ?
>>>>
>>>> Best Regards,
>>>> trad-ex
>>>>
>>>>
>>>>
>>>>> I think the idea here is to use <var> from ant contrib. It definitely
>>>>> works and allows one to reset properties...
>>>>>
>>>>> For instance:
>>>>>
>>>>> <project name = "example">
>>>>> <taskdef resource = "net/sf/antcontrib/antlib.xml"/>
>>>>>
>>>>> <var name = "my-var" value = "foo"/>
>>>>> <echo message = "my-var = ${my-var}"/>
>>>>>
>>>>> <var name = "my-var" value = "bar"/>
>>>>> <echo message = "my-var = ${my-var}"/>
>>>>>
>>>>> <var name = "my-var" value = "alpha"/>
>>>>> <echo message = "my-var = ${my-var}"/>
>>>>> </project>
>>>>>
>>>>> Will yield:
>>>>>
>>>>> [echo] my-var = foo
>>>>> [echo] my-var = bar
>>>>> [echo] my-var = alpha
>>>>>
>>>>> Above, the variable is being changed...
>>>>>
>>>>> trad-ex wrote:
>>>>>
>>>>>
>>>>>> Hi Steve,
>>>>>>
>>>>>> I tried to use "Variables" Task in ant-contrib, but it replicate the
>>>>>> same result as Dick did.
>>>>>> My build.xml is:
>>>>>>
>>>>>> <?xml version="1.0" ?>
>>>>>> <project name="build" basedir="." default="test">
>>>>>> <taskdef resource="net/sf/antcontrib/antlib.xml"/>
>>>>>> <target name="test">
>>>>>> <script language="javascript">
>>>>>> <![CDATA[
>>>>>> project = self.getProject();
>>>>>> echo = project.createTask("echo");
>>>>>> variable = project.createTask("var");
>>>>>> variable.setName("theVal");
>>>>>> variable.setValue("foo");
>>>>>> variable.execute();
>>>>>> echo.setMessage(project.getProperty("theVal"));
>>>>>> echo.perform();
>>>>>> echoval.execute();
>>>>>> variable.setName("theVal");
>>>>>> variable.setValue("bar");
>>>>>> variable.execute();
>>>>>> echo.setMessage(project.getProperty("theVal"));
>>>>>> echo.perform();
>>>>>> echoval.execute();
>>>>>> ]]>
>>>>>> </script>
>>>>>> </target>
>>>>>> <target name="echoval">
>>>>>> <echo>${theVal}</echo>
>>>>>> </target>
>>>>>> </project>
>>>>>>
>>>>>> The Result is:
>>>>>>
>>>>>> c:\>ant -v
>>>>>> Apache Ant version 1.6.2 compiled on July 16 2004
>>>>>> Buildfile: build.xml
>>>>>> Detected Java version: 1.4 in: C:\j2sdk1.4.1_07\jre
>>>>>> Detected OS: Windows XP
>>>>>> parsing buildfile C:\build.xml with URI = file:///C:/build.xml
>>>>>> Project base dir set to: C:\
>>>>>> parsing buildfile
>>>>>> jar:file:/C:/apache-ant-1.6.2/lib/ant-contrib.jar!/net/sf/antcontrib/
>>>>>> antlib.xml
>>>>>> with URI =
>>>>>> jar:file:/C:/apache-ant-1.6.2/lib/ant-contrib.jar!/net/sf/antcontrib/
>>>>>> antlib.xml
>>>>>> Build sequence for target `test' is [test]
>>>>>> Complete build sequence is [test, echoval, ]
>>>>>>
>>>>>> test:
>>>>>> [echo] foo
>>>>>> [echo] foo
>>>>>> [echo] bar
>>>>>> [echo] foo
>>>>>>
>>>>>> BUILD SUCCESSFUL
>>>>>> Total time: 0 seconds
>>>>>> c:\>
>>>>>>
>>>>>> Why ?
>>>>>> What's wrong with my description about "Variable" task ?
>>>>>> Any comments will be very appreciated.
>>>>>>
>>>>>> Best Regards,
>>>>>> trad-ex
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Dick, Brian E. wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> I have just a day to get this working. These are production machines,
>>>>>>>> so
>>>>>>>> I can't deploy anything to them.
>>>>>>>>
>>>>>>>> I'm using sshexec to remotely ping from a unix host and using rcmd to
>>>>>>>> remotely ping from a windows host. I redirect the output from these
>>>>>>>> tasks to a file and then use loadfile with a filterchain to load the
>>>>>>>> ipaddress into a property.
>>>>>>>>
>>>>>>>> This works all fine and dandy except I need to do it in a loop, so
>>>>>>>> that
>>>>>>>> led me to the script task. But I was having problems getting the
>>>>>>>> ipaddress set by loadfile back to the script. I didn't want to create
>>>>>>>> 20x100 properties, but if that's what it takes, so be it.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> In that case, grab the <var> task from ant-contrib, which can be used
>>>>>>> to
>>>>>>> erase a property before you reuse it.
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> --
>>>>> Scot P. Floess
>>>>> 27 Lake Royale
>>>>> Louisburg, NC 27549
>>>>>
>>>>> 252-478-8087 (Home)
>>>>> 919-754-4592 (Work)
>>>>>
>>>>> Chief Architect JPlate http://sourceforge.net/projects/jplate
>>>>> Chief Architect JavaPIM http://sourceforge.net/projects/javapim
>>>>>
>>>>>
>>>>
>>>>
>>> --
>>> Scot P. Floess
>>> 27 Lake Royale
>>> Louisburg, NC 27549
>>>
>>> 252-478-8087 (Home)
>>> 919-754-4592 (Work)
>>>
>>> Chief Architect JPlate http://sourceforge.net/projects/jplate
>>> Chief Architect JavaPIM http://sourceforge.net/projects/javapim
>>>
>>>
>>>
>>> ---html-part included links-------
>>> mailto:[EMAIL PROTECTED]
>>> mailto:[EMAIL PROTECTED]
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>
>--
>Scot P. Floess
>27 Lake Royale
>Louisburg, NC 27549
>
>252-478-8087 (Home)
>919-754-4592 (Work)
>
>Chief Architect JPlate http://sourceforge.net/projects/jplate
>Chief Architect JavaPIM http://sourceforge.net/projects/javapim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]