2009-03-20 3 views
3

Ich möchte eine Pfadvariable cp auf einen von zwei Werten je nach dem Wert einer Eigenschaft festlegen.Müssen Pfad (cp) in Ant-Skript abhängig von Wert einer Eigenschaft festlegen

z. Folgendes ist das, was ich zu erreichen bin versucht, aber ich bin nicht sicher, wie es richtig funktioniert zu bekommen ...

<if> 
    <contains string="${jboss.home}" substring="jboss-4.2.3.GA"></contains> 
    <then> 
     <echo message="Using JBoss 4.2.3 classpath"/> 
     <path id="cp"> 
     ... 
     </path> 
    </then> 
    <else> 
     <echo message="Using JBoss 4.0.5 classpath"/> 
     <path id="cp"> 
     ... 
     </path> 
    </else> 
</if> 

Antwort

6
<condition property="usejboss423"> 
    <contains string="${jboss.home}" substring="jboss-4.2.3.GA"/> 
</condition> 

<target name="build.jboss.cp" depends="build.jboss.cp.423,build.jboss.cp.405"/> 

<target name="build.jboss.cp.423" if="usejboss423"> 
    <path id="cp"> 
    ... JBoss 4.2.3 classpath 
    </path> 
</target> 

<target name="build.jboss.cp.405" unless="usejboss423"> 
    <path id="cp"> 
    ... JBoss 4.0.5 classpath 
    </path> 
</target> 
2

Wenn Sie viel diese Art der Sache tun müssen, installieren AntXtras. Sie fügen Sie einfach eine JAR-Datei zu Ant Klassenpfad, und Sie können dies tun:

<condition property="usejboss423"> 
    <contains string="${jboss.home}" substring="jboss-4.2.3.GA"/> 
</condition> 

<do if="usejboss423"> 
    ... 
</do> 

<do unless="usejboss423"> 
    ... 
</do> 

Es hat viele andere nützliche Funktionen.

Verwandte Themen