2012-05-18 3 views
0

j'ai un petit morceau de code, qui imprime si la plate-forme est unix ou windowsasComment utiliser les opérateurs logiques dans ant?

<if> 
<equals=${arg1} value="linux-86"/> 
<then> 
<echo message="linux" 
<then> 
<elseif> 
<equals=${arg1} value="linux-64"/> 
<then> 
<echo message="linux"/> 
</then> 
</elseif> 
<else> 
<echo message="Windows"> 
</else> 
</if> 

Ici, nous pouvons voir que nous vérifions inutilement deux premières conditions pour un même message, est-il opérateur OR ant que nous avons c ||, afin que nous puissions écrire arg1 = linux-64 || linux-86 .... s'il y a s'il vous plaît dites-moi comment dois-je utiliser cela va gagner beaucoup de temps ici

Répondre

2
<condition property="WinPlatform.Check"> 
     <or> 
      <equals arg1="${param1}" arg2="win-x86"/> 
      <equals arg1="${param1}" arg2="win-x86-client"/> 
      <equals arg1="${param1}" arg2="win-x64"/> 
     </or> 
    </condition> 

<target name="Mytarget" if="WinPlatform.Check"> 
     <echo message="executing windows family build:::${param1}"/> 
    </target> 

appeler maintenant Mytarget avec votre paramètre, il fonctionnera

-2

Pourquoi pas vous jeter un oeil dans le manuel fourmi? http://ant.apache.org/manual/Tasks/conditions.html

Ou google pour "fourmi si tâche".

+0

ils sont me donner simple si tâche comme je l'ai montré ci-dessus, mais je ne peux pas l'obtenir n'importe où donc je pensais que quelqu'un aurait pu l'utiliser ici – user1390517

+0

J'ai la réponse mais je ne peux pas poster avant 7 heures alors attendez jusque-là – user1390517

1

La tâche if fait partie de ant-contrib. Il n'est pas disponible dans le noyau Ant.

Divers conditions sont disponibles dans le noyau Ant et peuvent être utilisés, par exemple, pour rendre l'exécution de la cible conditionnelle. Avant le 1.8, si/à moins que les conditions n'évaluent que "la propriété est-elle définie?"

<target name="test" if="foo" unless="bar"/> 

de 1,8, si/à moins que les conditions peuvent évaluer "est la propriété true/false":

<target name="test" if="${foo}" unless="${bar}"/> 
Questions connexes