ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peter reilly <peter.rei...@corvil.com>
Subject Re: How to use properties iteration?
Date Wed, 28 May 2003 13:12:45 GMT
You need to use <script/>

Here is an example with jython:

<project name="t" default="t">
  <target name="t">
    <concat destfile="x.properties">
jar.1.name = telnet
jar.telnet.location=/home/my
jar.telnet.version = 1.0
jar.2.name = ssh
jar.ssh.location=/home/his
jar.ssh.version = 1.2
    </concat>
    <property file="x.properties"/>
    <script language="jython">
import java.util.TreeMap as TreeMap
import java.lang.Integer as Integer
sorted = TreeMap()
props  = project.getProperties()
for x in props.keys():
    if x.find("jar") == 0 and x.find("name") != -1:
        num = x[4:x.find("name")-1]
        sorted.put(Integer.decode(num), props.get(x))
        print x
        print num
result = ""
for x in sorted.keySet():
    name = sorted.get(x)
    location=props.get("jar." + name + ".location")
    version=props.get("jar." + name + ".version")
    if result != "":
        result = result + ":"
    result = result + location + "/" + name + "-" + version + ".jar"
project.setUserProperty("my.classpath", result)
    </script>

    <echo message="CP is ${my.classpath}"/>
  </target>
</project>

Peter

On Wednesday 28 May 2003 13:36, Verma, Nitin (GECP, OTHER, 529706) wrote:
> I can have n number of jars, so:-
>
> I need to have something like this:
>
> <!--I don't know how to make while loop using ant -->
> <while condition="true">
>     <property name="jar.name" value="java.${i}.name"/>
> <!--I don't know how to do this using ant -->
>     <if condition="${jar.name} == null">
>         <break/>
>     </if>
> <!-- ----------------------------------------------------- -->
>     <property name="jar.version" value="jar.${jar.name}.version"/>
>     <property name="jar.location" value="jar.${jar.name}.location"/>
>     <property name="jar.path"
> value="${jar.location}/${jar.name}-${jar.version}.jar"/>
>     <property name="classpath" append="jar.path"/> <!-- I need to append to
> a property, I don't know how to do this?-->
> <!-- who to do "i++"? -->
> </while>
> <!-- ----------------------------------------------------- -->
>
> Help please!
>
> Regards,
>
> Nitin Verma
>
>  -----Original Message-----
> From: Manoj Sadangi [mailto:msadangi@manh.com]
> Sent: Wednesday, May 28, 2003 5:46 PM
> To: 'Ant Users List'
> Subject: RE: How to use properties iteration?
>
>
>
> load the properties file
> and you can access the properties and construct the path like
> ${jar.telnet.location}/${jar.1.name }/......
>
>
>
> thanks,
> manoj
>
>
>  -----Original Message-----
> From: Verma, Nitin (GECP, OTHER, 529706) [mailto:NITIN.VERMA@APPL.GE.COM]
> Sent: Wednesday, May 28, 2003 7:57 AM
> To: Ant Users List
> Subject: How to use properties iteration?
>
>
>
> Hi All,
>
>         I have properties like:
>                 jar.1.name = telnet
>                 jar.telnet.location=/home/my
>                 jar.telnet.version = 1.0
>                 jar.1.name = ssh
>                 jar.ssh.location=/home/his
>                 jar.ssh.version = 1.2
>
>         Now I need to make a path like:-
>
>                 /home/my/telnet-1.0.jar:/home/his/ssh-1.2.jar
>
> Can someone help me on this?
>
> Regards,
>
> Nitin Verma


Mime
View raw message