ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edumudi Viswanath <edumudi.viswan...@oracle.com>
Subject RE: problem with macrodef in ant
Date Tue, 28 Jul 2009 20:18:07 GMT
Hi Scot P. Floess,

thank you very much for your extended cooperation.

i will change code according to your suggestion & will u know the result.

Thanks & Regards,
vishy

-----Original Message-----
>From Scot P. Floess <sfloess@nc.rr.com>
Sent Tue 7/28/2009 7:58 PM
To Ant Users List <user@ant.apache.org>
Subject RE: problem with macrodef in ant


No you miss my point completely...

I don't think you need to set a property at all :)

Look below.  Specifically where I comment in your call to the <java> task. 
I list the comment as "Change these arg lines"

<java failonerror="true" 
classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="yes">
                 <classpath>
                     <path refid="cxfClassPath" />
                 </classpath>
                 <sysproperty key="java.util.logging.config.file" 
value="${cxf.etc.dir}/logging.properties"/>
                 <sysproperty key="exitOnFinish" value="true"/>
                 <arg line="@{servicename.arg}"/>
                 <arg line="${package.arg.@{file}}"/>

<!-- Change these arg lines -->
                 <arg line='-b "@{bindingfile}"'/>
                 <arg line='-exsh  "@{exshvalue}"'/>
<!-- End Change -->

                 <arg value="-verbose"/>
                 <arg value="-d"/>
                 <arg value="@{srcdestdir}"/>
                 <arg value="@{dir}/@{file}"/>
             </java>

So from what I can see, you are trying to set a property to store your 
command line argument - when its really unnecessary.  Just use it inline 
as I have done above...

No need for another macrodef - just modify the <java> task inside the 
current macrodef.

Also, I note you have a similar problem with property entitled exsh.arg. 
I took the liberty of changing that above as well..


On Tue, 28 Jul 2009, Edumudi Viswanath wrote:

>
> as u know, i used only one microdef for 2 different targets. will i try with different
macrodef for every target?
>
> -----Original Message-----
>> From Scot P. Floess <sfloess@nc.rr.com>
> Sent Tue 7/28/2009 4:49 PM
> To Ant Users List <user@ant.apache.org>
> Subject RE: problem with macrodef in ant
>
>
> Actually, why don't you just use this:
>
> <arg line='-b "@{bindingfile}"'/>
>
> Or some other kind of variant?  Is there some reason you are trying to
> store that in a property?
>
> On Tue, 28 Jul 2009, edumudi.viswanath@oracle.com wrote:
>
>> Is there any alternative solution for that?
>>
>> Can u say how I need to search for that in google. I tried but no use. Any suggestions?
>>
>> Thanks
>> Vishy
>>
>> -----Original Message-----
>> From: Scot P. Floess [mailto:sfloess@nc.rr.com]
>> Sent: Tuesday, July 28, 2009 8:38 PM
>> To: Ant Users List
>> Subject: RE: problem with macrodef in ant
>>
>>
>> Double check your setting of bindingarg:
>>
>> <condition property="binding.arg" value='-b "@{bindingfile}"'>
>>     <not>
>>         <equals arg1="@{bindingfile}" arg2=""/>
>>     </not>
>> </condition>
>>
>> <property name="binding.arg" value=""/>
>>
>>
>> For your first run, you set the property bingding.arg to:
5~>>    -b "@{bindingfile}"
>>
>> Of course assuming binding.arg wasn't already set ;)
>>
>> For your second run, you cannot reset binding.arg - regardless...  If you
>> need to reset the property you may need to look to Ant Contrib or do
>> something different...
>>
>> Basically, it gets set correctly the first time but not the second...
>>
>> If you put an <echo message="bindingfile = @{bindingfile}"> right after
>> your <sequential> element - I think you will see the attribute is set
>> correctly in your macrodef...  Its just how you are using the property
>> internal to your macrodef...
>>
>> Stock Ant you cannot reset a property once you set it :)
>>
>>
>>
>>
>>
>>
>> On Tue, 28 Jul 2009, edumudi.viswanath@oracle.com wrote:
>>
>>> Further to below mail, I found that it failing @ the following code in macrodef.
>>>
>>> <java failonerror="true" classname="org.apache.cxf.tools.wsdlto.WSDLToJava"
fork="yes">
>>>>                <classpath>
>>>>                    <path refid="cxfClassPath" />
>>>>                </classpath>
>>>>                <sysproperty key="java.util.logging.config.file" value="${cxf.etc.dir}/logging.properties"/>
>>>>                <sysproperty key="exitOnFinish" value="true"/>
>>>>                <arg line="@{servicename.arg}"/>
>>>>                <arg line="${package.arg.@{file}}"/>
>>>>                <arg line="${binding.arg}"/>
>>>>                                <arg line="${exsh.arg}"/>
>>>>                <arg value="-verbose"/>
>>>>                <arg value="-d"/>
>>>>                <arg value="@{srcdestdir}"/>
>>>>                <arg value="@{dir}/@{file}"/>
>>>>            </java>
>>>
>>> -----Original Message-----
>>> From: edumudi.viswanath@oracle.com [mailto:edumudi.viswanath@oracle.com]
>>> Sent: Tuesday, July 28, 2009 8:16 PM
>>> To: Ant Users List
>>> Subject: RE: problem with macrodef in ant
>>>
>>>
>>> Below I proded the exception related information. I used the same code which
I provided to you. Please check it.
>>>
>>> generate.service:
>>>     [echo] Generating code using wsdl2java...
>>>     [java] Loading FrontEnd jaxws ...
>>>     [java] Loading DataBinding jaxb ...
>>>     [java] wsdl2java -b ../root-dir/bindingfile1.xml -exsh true -verbose -d C:\xyz\yzx\root-dir/src
C:\xyz\yzx\root-dir/wsdl/wsdlfile1.wsdl
>>>     [java] wsdl2java - Apache CXF 2.1.5
>>>
>>>
>>> generate.service1:
>>>     [echo] Generating code using wsdl2java...
>>>     [java] Loading FrontEnd jaxws ...
>>>     [java] Loading DataBinding jaxb ...
>>>     [java] wsdl2java -b ../root-dir/bindingfile1.xml -exsh true -verbose -d C:\xyz\yzx\root-dir/src
C:\xyz\yzx\root-dir/wsdl/wsdlfile2.wsdl
>>>     [java] wsdl2java - Apache CXF 2.1.5
>>>
>>>
>>>     [java] WSDLToJava Error: Thrown by JAXB :  "file:/C:\xyz\yzx\root-dir/wsdl/wsdlfile1.xsd
is not a part of this compilation. Is this a mistake for  "file:/C:\xyz\yzx\root-dir/wsdl/wsdlfile2.xsd"?
>>>
>>>     [java] org.apache.cxf.tools.common.ToolException: Thrown by JAXB : "file:/C:\xyz\yzx\root-dir/wsdl/wsdlfile1.xsd
 is not a part of this compilation. Is this a mistake for "file:/C:\xyz\yzx\root-dir/wsdl/wsdlfile2.xsd"?
>>>     [java]     at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBBindErrorListener.error(JAXBBind
>>> ErrorListener.java:34)
>>>     [java]     at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.error(SchemaCompilerImpl.java:2
>>> 85)
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:
>>> 504)
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:
>>> 495)
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalize
>>> r.java:205)
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalize
>>> r.java:289)
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:13
>>> 4)
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:96
>>> )
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.DOMForest.transform(DOMForest.java:448)
>>>     [java]     at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:22
>>> 1)
>>>     [java]     at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:85
>>> )
>>>     [java]     at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataB
>>> inding.java:218)
>>>     [java]     at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer
>>> .java:577)
>>>     [java]     at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.j
>>> ava:228)
>>>     [java]     at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
>>> 130)
>>>     [java]     at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
>>> 272)
>>>     [java]     at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
>>>     [java]     at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:103)
>>>     [java]     at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:173)
>>>     [java] Caused by: com.sun.istack.SAXParseException2: "file:/C:\xyz\yzx\root-dir/wsdl/wsdlfile1.xsd
 is not a part of this compilation. Is this a mistake for "file:/C:\xyz\yzx\root-dir/wsdl/wsdlfile2.xsd"?
>>>     [java]     at com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:
>>>
>>>
>>> -----Original Message-----
>>> From: Scot P. Floess [mailto:sfloess@nc.rr.com]
>>> Sent: Tuesday, July 28, 2009 7:39 PM
>>> To: Ant Users List
>>> Subject: Re: problem with macrodef in ant
>>>
>>>
>>> I tried your example but cutting down on everything in wsdl2java - meaning
>>> just used some <echo> statements...
>>>
>>> It worked fine for me:
>>>
>>> ant generate.service generate.service1
>>>
>>> Buildfile: build.xml
>>>
>>> generate.service:
>>>      [echo] file        [wsdlfile1]
>>>      [echo] bindingfile [buildingfile1]
>>>
>>> generate.service1:
>>>      [echo] file        [wsdlfile2]
>>>      [echo] bindingfile [buildingfile2]
>>>
>>>
>>> Here is the build.xml I used:
>>>
>>> <project>
>>>     <macrodef name="wsdl2java">
>>>         <attribute name="srcdestdir" default="${pojoSourceDir}"/>
>>> <attribute name="destdir" default="${buildDir}"/>
>>>         <attribute name="file"/>
>>> <attribute name="servicename.arg" default=""/>
>>>         <attribute name="bindingfile" />
> 5~>> <attribute name="exshvalue" default="true"/>
>>>         <attribute name="dir" default="${wsdlDir}"/>
>>> <attribute name="package" default="NOT_SPECIFIED"/>
>>>         <sequential>
>>> <echo  message = "file        [@{file}]"/>
>>>             <echo  message = "bindingfile [@{bindingfile}]"/>
5~>>>         </sequential>
>>>     </macrodef>
>>>
>>>     <target name="generate.service">
>>>         <wsdl2java file="wsdlfile1" bindingfile="buildingfile1" />
>>> </target>
>>>
>>>     <target name="generate.service1">
>>>         <wsdl2java file="wsdlfile2" bindingfile="buildingfile2" />
>>>     </target>
>>> </project>
>>>
>>>
>>>
>>> On Tue, 28 Jul 2009, edumudi.viswanath@oracle.com wrote:
>>>
>>>> Hi Friends,
>>>>
>>>> I have macrodef in build.xml & it took parameters like wsdlfile &
bindingfile from wsdl2java tag ie <wsdl2java file="wsdlfile1" bindingfile="bindingfile1"
/>.
>>>>
>>>> Now, If I run macrodef with wsdlfile1 & bindingfile1, It works asusually.
>>>>
>>>> But if I run same macrodef again with wsdlfile2 & bindingfile2, In that
case it taking previous bindingfile1 instead of new given buildingfile2.
>>>>
>>>> Below I provided macrodef & I am calling macrodef with target name="
generate.service" and target name=" generate.service1" respectively.
>>>>
>>>>
>>>> 1)	<macrodef name="wsdl2java">
>>>>        <attribute name="srcdestdir" default="${pojoSourceDir}"/>
>>>>        <attribute name="destdir" default="${buildDir}"/>
>>>>        <attribute name="file"/>
>>>>        <attribute name="servicename.arg" default=""/>
>>>>        <attribute name="bindingfile" />
>>>>                <attribute name="exshvalue" default="true"/>
>>>>        <attribute name="dir" default="${wsdlDir}"/>
>>>>        <attribute name="package" default="NOT_SPECIFIED"/>
>>>>        <sequential>
>>>>            <mkdir dir="@{destdir}"/>
>>>>            <mkdir dir="@{srcdestdir}"/>
>>>>
>>>>            <condition property="package.arg.@{file}" value="-p @{package}">
>>>>                <not>
>>>>                    <equals arg1="@{package}" arg2="NOT_SPECIFIED"/>
>>>>                </not>
>>>>            </condition>
>>>>            <property name="package.arg.@{file}" value=""/>
>>>>
>>>>                        <condition property="binding.arg" value='-b "@{bindingfile}"'>
>>>>                                <not>
>>>>                                    <equals arg1="@{bindingfile}" arg2=""/>
>>>>                                </not>
>>>>                            </condition>
>>>>                            <property name="binding.arg" value=""/>
>>>>
>>>>                        <condition property="exsh.arg" value='-exsh  "@{exshvalue}"'>
>>>>                        <not>
>>>>                            <equals arg1="@{exshvalue}" arg2=""/>
>>>>                        </not>
>>>>                        </condition>
>>>>                        <property name="exsh.arg" value=""/>
>>>>
>>>>            <java failonerror="true" classname="org.apache.cxf.tools.wsdlto.WSDLToJava"
fork="yes">
>>>>                <classpath>
>>>>                    <path refid="cxfClassPath" />
>>>>                </classpath>
>>>>                <sysproperty key="java.util.logging.config.file" value="${cxf.etc.dir}/logging.properties"/>
>>>>                <sysproperty key="exitOnFinish" value="true"/>
>>>>                <arg line="@{servicename.arg}"/>
>>>>                <arg line="${package.arg.@{file}}"/>
>>>>                <arg line="${binding.arg}"/>
>>>>                                <arg line="${exsh.arg}"/>
>>>>                <arg value="-verbose"/>
>>>>                <arg value="-d"/>
>>>>                <arg value="@{srcdestdir}"/>
>>>>                <arg value="@{dir}/@{file}"/>
>>>>            </java>
>>>>        </sequential>
>>>>    </macrodef>
>>>>
>>>>
>>>> 2)       <target name="generate.service" depends="generate.esfconfig">
>>>>        <wsdl2java file="wsdlfile1" bindingfile="buildingfile1" />
>>>>        </target>
>>>>
>>>> 3)      <target name="generate.service1" depends="generate.esfconfig">
>>>>        <wsdl2java file="wsdlfile2" bindingfile="buildingfile2" />
>>>> 	  </target>
>>>>
>>>> Please help me to solve this issue.
>>>>
>>>> Thanks & Regards,
>>>> vishy
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: user-help@ant.apache.org
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: user-help@ant.apache.org
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> 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
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> 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

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message