Hi
how to fail a build if a particular node(or attribute of a node) is present/matches in the xml. For e,g

      <xmltask source="${sbm.patches.conf.dir}/sbm-patches.xml">
<call path="sbm-patches/[EMAIL PROTECTED]'${patch.id}']" target="PatchExistsError" inheritAll="true" inheritRefs="true">
           <param name="patchid" path="@id"/>
       </call>
       </xmltask>

In PatchExistsError I want to print an error message and fail.
<target name="PatchExistsError">
<echo message="Patch ${patchid} is already applied. pl remove the patch and then reapply."/>
      <!-- NEED TO FAIL HERE-->
   </target>
If I make it fail here the Xmltask throws an exception which I don't want the user to see. I am not able to suppress this exception with trycatch task either.

Basically I want to make the build fail if there is a match in the xml (opposite of failWithoutMatch attribute in the Xmltask).

Thanks
Anand


Brian Agnew wrote:

Cool. Thx for the update.

Anand Krishniyer wrote:

Hi Brian
Found the problem I was having. The locations in the XML had quotes in them, thats why I was getting the as string. Removed the quotes and it works fine.

Thanks a lot anyways.

Regards

Anand


Brian Agnew wrote:

So you end up copying to ${val} ? Can you send me your complete build.xml (or at least the relevant bits)

Anand Krishniyer wrote:

What I meant was I can't copy the file to the location using 'val'

<copy todir="${val} file="${filename}"/>

Brian Agnew wrote:

Sorry. Not sure I understand this. You get val as "e:/3", say ?

Anand Krishniyer wrote:

Hi
I have an xml file that has different paths for each file. Something like this
<files>
 <file name="a.jar" type="jar">
     <Location>"c:/1"</Location>
     <Location>"c:/2"</Location>
 </file>
 <file name="b.conf" type="conf">
     <Location>"e:/1"</Location>
     <Location>"e:/2"</Location>
     <Location>"e:/3"</Location>
 </file>  </files>

I use XmlTask to iteratively get each location for each file (I use "call" to call another target for each location for each file). The problem is I get the location as a string, I need it as a path to process further. For e.g I need to copy a.jar to both c:\1 and c:\2 locations. But when I use

<xmltask>
<call path="files/[EMAIL PROTECTED]'${jarfilename}']/Location" target="DiffTarget">
       <param name="filename" path="../@name"/>
       <param name="val" path="text()"/>
     </call>      </xmltask>

I get the "val" as string, how do I get it as path?

Thanks in advance.

Regards
Anand








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to