.run et .runwait

Remarque : Sur les moteurs Java dans Build Forge 8.0, les conditions [-c<condition>] pour .run et .runwait ne sont pas prises en charge. Pour que le lancement dépende d'une condition, utilisez plutôt une étape conditionnelle.
.run
[-c "<condition>"] "<nom_projet>" 
.runwait [-c "<condition>"] "<nom_projet>" 

Vous pouvez utiliser les commandes .run et .runwait pour lancer un projet en chaîne à partir d'une commande d'étape. Si le projet comprend plusieurs clichés, le système exécute le cliché par défaut.

Les deux commandes diffèrent par leur comportement après le lancement d'un projet :

Lancements conditionnels

Vous pouvez utiliser le paramètre facultatif -c pour soumettre le lancement à une condition. Vous pouvez utiliser des variables d'environnement dans la condition. La condition peut être de plusieurs formes différentes :
Comparaison de séquence
Vous pouvez utiliser les opérateurs égal (=) ou non égal (!=) pour évaluer les séquences. La séquence est lancée si les comparaisons d'évaluation sont vérifiées.
Comparaison numérique
Vous pouvez utiliser les opérateurs <, >, <>, ><, ou = pour comparer deux valeurs numériques.
Aboutissement de commande
Vous pouvez utiliser une commande indiquée entre accents graves comme valeur du paramètre -c. Le système exécute la commande ; si elle aboutit, la séquence est lancée.

Exemples

.run "BuildWindowsDriver"

Le système lance le projet BuildWindowsDriver. Le projet de lancement se poursuit immédiatement avec l'étape suivante.

.runwait "BuildWindowsDriver"

Le système lance le projet BuildWindowsDriver. Le système met le projet de lancement en pause à l'étape .runwait. Lorsque le projet BuildWindowsDriver se termine et aboutit, l'état de l'étape .runwait est passé à effectué.

.run -c "$HOMEDRIVE=C:" "Simple Echo"

Le système exécute le projet Simple Echo si et seulement si la valeur de la variable HOMEDRIVE est C.

Cette commande produit une sortie de journal comme la suivante (dans la section EXEC du journal d'étapes) :
  • Lorsque la valeur de HOMEDRIVE est C :
    .run Condition: 'C:' = 'C:' satisfied.
    
    Queueing Project "Simple Echo" on server [WinBox].
    Queued Build 'BUILD_202' of project 'Simple Echo'.
  • Lorsque la valeur de HOMEDRIVE est autre que C :
    .run -c "$HOMEDRIVE=C:" "Simple Echo"     
    
    .run Condition: 'D:' = 'C:' unsatisfied, no project queued.

Le système peut comparer numériquement des séquences si elles contiennent des chiffres. Par exemple, il traite les cas suivants de la manière indiquée.

.runwait -c "a12b<c42d" "Simple Echo"

.run Condition: '12' < '42' satisfied. 
Queueing Project "Simple Echo" on server [WinBox]. 
Waiting for .run build (4411) to complete. 
.run build is now running. 
.run build has finished. 
Build 'BUILD_203' of project 'Simple Echo' completed. 

.runwait -c "f43g<>h43i" "Simple Echo"

.run Condition: '43' <> '43' unsatisfied, no project queued. 

Les exemples suivants montrent comment utiliser des commandes en tant que conditions. Notez que la commande doit être indiquée à la fois entre guillemets et entre accents graves.

.run -c "`exit 1`" "Simple Echo"

Env .run encountered an error during variable expansion, parameter [`exit1`] expanded to []. 
Expansion returned non-zero exit, project will not be queued. 

.run -c "`exit 0`" "Simple Echo"

Expansion returned zero exit, project will be queued. 
Queueing Project "Simple Echo" on server [WinBox]. 
Queued Build 'BUILD_204' of project 'Simple Echo'.

Lorsque vous utilisez .runwait et qu'une génération échoue, le contenu du journal apparaît de la manière suivante.

.runwait "Fail Build"

Queueing Project "Fail Build" on server [WinBox]. 
Waiting for .run build (4413) to complete. 
.run build is now running. 
.run build has finished. 
Build 'BUILD_3' of project 'Fail Build' Failed, setting step status to fail.

Feedback