> 
> 
> Hi
> 
> We are trying to catch our compile errors with Ant Contrim trycatch task
> but
> for some reason we cant it to catch any errors.
> 
> Im grateful for all ideas!!
> 
> this is our testscript:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <project name="Copille-dbDef" default="cmp-def"
> xmlns:ac="antlib:net.sf.antcontrib">
> 
>   <path id="build.class.path">
>       <fileset dir="${proj.externals.dir}/FND">
>               <include name="**/*.jar"/>
>       </fileset>
>       <pathelement path="${proj.bin.dir}/${be.component}/bindbg"/>
>       <pathelement path="${base.root}"/>
>   </path>
>   <target name="cmp-def" description="Compilling DB Def">
>       <pathconvert property="build.classpath.prop"
> refid="build.class.path"
> targetos="windows" />
>       <echo message="Current classpath: ${build.classpath.prop}"/>
> 
>       <ac:for param="obj">
>            <path>
>               <fileset dir="${proj.src.dir}/${be.component}/src/mvx/db/def">
>                       <include name="**/*.java"/>
>               </fileset>
>            </path>
> 
>            <sequential>
>               <ac:propertyregex override="yes"
>               property="obj" input="@{obj}"
>                    regexp="(.+\\)(.+\.java)"
>                    replace="\2"
>                           casesensitive="false" />
> 
>              <ac:trycatch property="exception.message"
> reference="exception.ref">
>               <ac:try>
>                          <javac taskname="compile.def"
>                       sourcepath=""
>                       srcdir="${proj.src.dir}/${be.component}/src/mvx/db/def"
>                       destdir="${proj.bin.dir}/${be.component}/bindbg"
>                       includes="${obj}"
>                       classpathref="build.class.path"
>                       compiler="org.eclipse.jdt.core.JDTCompilerAdapter"
>                       target="1.6"
>                       source="1.6"
>                       debug="on"
>                       failonerror="false"
>                       fork="no"
>                          />
>               </ac:try>
>               <ac:catch>
>                       <echo message="Compile error on: ${obj}  Error message:
> 
> ${exception.message}${line.separator}"
>                         file="${ProjBaseDir}\Compille.error"
>                         append="true" level="warning"
>                                        />
>               </ac:catch>
>       </ac:trycatch>
>     </sequential>
>   </ac:for>
> </target>
> </project>
> 

You have failonerror in your javac task set to false, so there is nothing to 
catch since the error doesn't get propagated up.  It should work as you expect 
if you set failonerror=true.

If you don't want to do this then you can use the errorProperty attribute and 
use antcontrib's <if> <then> tasks.

-raleigh


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to