> -----Original Message-----
> From: KARR, DAVID (ATTSI) [mailto:dk0...@att.com] 
> Sent: 13 October 2010 21:05
> To: Ant Users List
> Subject: Proper way to translate list of jars from properties 
> file into classpath
> 
> I have a property defined in my properties file that 
> specifies a list of
> jar files associated with a particular framework.  I'll need to
> reference all of those jars any time I reference one of them, so I put
> them in a single property.
> 
> It currently looks like this:
> 
> cxf-patches   = ${lib}/cxf-xjc-boolean-2.3.0.jar,\
>                 ${lib}/cxf-xjc-bug671-2.3.0.jar,\
>                 ${lib}/cxf-xjc-dv-2.3.0.jar,\
>                 ${lib}/cxf-xjc-ts-2.3.0.jar
> 
> Where I've defined "lib" in my build.xml before this file is 
> referenced
> as "${basedir}/lib".
> 
> At this point, I'm not certain of the elements that I need to 
> get these
> jars properly referenced in a top-level path element so I can 
> reference
> it as the classpath for javac.  I imagine it involves using the
> "filelist" element.
> 
> I tried this:
> 
>     <filelist id="cxfXjcPatch.jars.list" files="${cxf-patches}"/>
> 
> Then:
> 
>       <path id="build.classpath">
>          ...
>          <filelist refid="cxfXjcPatch.jars.list"/>
>          ...
>       </path>
> 
> This doesn't produce anything really useful.  It produces very odd
> results in the final classpath.  I'm not going to bother listing it,
> because I'm sure I'm doing something basically wrong here.

Try striping the ${lib}/ reference off the paths to the jar files and use it as 
the directory for the filelist.

i.e. build.properties
cxf-patches     = cxf-xjc-boolean-2.3.0.jar,\
                  cxf-xjc-bug671-2.3.0.jar,\
                  cxf-xjc-dv-2.3.0.jar,\
                  cxf-xjc-ts-2.3.0.jar

build.xml
<project name="test" default="dist" basedir="." >
  <loadproperties srcFile="build.properties" />
  <property name="lib" location="${basedir}/lib" />

  <target name="dist" >
    <filelist id="cxfXjcPatch.jars.list" dir="${lib}" files="${cxf-patches}" />
    <path id="build.classpath">
      <filelist refid="cxfXjcPatch.jars.list"/>
    </path>
    <echo message="${toString:build.classpath}" />
  </target>

</project>

Produces the following when run for me:
[echo] 
/tmp/ant/lib/cxf-xjc-boolean-2.3.0.jar:/tmp/ant/lib/cxf-xjc-bug671-2.3.0.jar:/tmp/ant/lib/cxf-xjc-dv-2.3.0.jar:/tmp/ant/lib/cxf-xjc-ts-2.3.0.jar


Perhaps it was that you were trying to use filelist without setting the 
directory and placing that into the property that you were passing to it?

--
Regards,
Darragh Bailey



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

Reply via email to