I do it with Jython as following, but, depending on what you actually
need to do, it can be done easier by filtering all values via LinkedHashSet:
<scriptdef name="setpath" language="jython">
<attribute name="name" />
<attribute name="path" />
<![CDATA[# setpath
import os
import java
name=str(attributes.get("name"))
path=attributes.get("path")
pathList=[]
pathSet={}
for elem0 in path.split(';'):
for elem in elem0.split(java.io.File.pathSeparator):
canon_elem=java.io.File(elem).canonicalPath
if not pathSet.has_key(canon_elem):
pathSet[canon_elem]=None
pathList.append(java.io.File(elem).absolutePath)
path=os.pathsep.join(pathList)
project.setProperty(name, path)]]>
</scriptdef>
timt asml wrote:
Hi,
We've recently moved part of our build environment from traditional
unix make to
ant, and we're encountering some problems (ant 1.6.2, by the way)
- We have an hierachical archive organization, in which individual
programmers only work on
single components of the product. Typically, a single component is
a single jar.
- Each developer works in a partial cpy of a so-called gate archive.
This gate-archive contains
the jar's for all components in the archive.
We now build a class path using the following snippet:
<available file="${jlib.ws}" type="dir" property="jlib.ws.available"/>
<available file="${jlib.gate}" type="dir" property="jlib.gate.available"/>
<path id="cmgr.classpath">
<fileset dir="${jlib.ws}">
<include name="*.jar"/>
</fileset>
<fileset dir="${basedir}">
<include name="${jlib.gate}/*.jar" if="jlib.gate.available"/>
</fileset>
</path>
Clearly, this leads to some duplication: the gate archive also
contains the component jar, and we're
somewhat worried about picking up the wrong version of the jar file.
How do I exclude a file which is already in the path from being
added to the path ?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
------------------------------------------------------------------------
/ Alexey N. Solofnenko
MDL Information Systems, Inc.
work: 510-357-2222x1726
home: http://trelony.cjb.net/
/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]