ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scot P. Floess" <sflo...@nc.rr.com>
Subject RE: problem with macrodef in ant
Date Tue, 28 Jul 2009 21:07:15 GMT

Oh your welcome - I hope it works :)

On Tue, 28 Jul 2009, Edumudi Viswanath wrote:

> 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
>
>

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


Mime
View raw message