2010-11-11 30 views
0

Quelle est la différence entreQue fait fork = "true" dans les cibles de script nant?

<target name="target_fork" description="with fork" fork="true"> 
</target> 

et

<target name="target_nofork" description="no fork"> 
</target> 

J'ai toujours pensé que cela signifiait que l'objectif serait de revenir et continuer l'exécution quand il appelle d'autres cibles ou des fichiers de construction externes que si la fourchette est vrai . Mais certains scripts de test rapides ne le prouvent pas.

Répondre

1

Mise à jour:

La propriété fork=true n'a pas d'effet.

Le terme fork signifie généralement que le code que vous exécutez dans une tâche , cible pas comme vous le suggérez, exécutera dans un processus différent (Virtual Machine Java-Lingo).

Il appartient à l'implémenteur d'une tâche, par exemple NUnit dans NAnt ou la tâche Java dans ANT, de définir la signification de la propriété fork.

+0

S'agit-il alors de performances pour exécuter une tâche de manière asynchrone? – CRice

+0

Je règle généralement une tâche si le processus risque d'être interrompu. Si vous l'exécutez dans une fourchette, cela ne supprimera pas votre script "principal". Je ne connais pas les problèmes de performances. Démarrer une nouvelle instance d'une machine virtuelle signifie généralement plus de ressources. – Michael

+0

Je commence à penser en termes de fourmi que vous avez raison, mais en termes de cibles nant, fork ne fait rien du tout http://nant.sourceforge.net/release/latest/help/fundamentals/targets.html (bien que il semble y avoir un attribut fork sur l'élément de test nunit de nant qui exécute test dans un AppDomain distinct): http://nant.sourceforge.net/release/latest/help/tasks/nunit.html – CRice