.run und .runwait

Anmerkung: Für Java-Steuerkomponenten unter Build Forge 8.0 werden die Bedingungen [-c<condition>] für .run und .runwait nicht unterstützt. Verwenden Sie stattdessen einen bedingten Schritt, um den Start von einer Bedingung abhängig zu machen.
.run [-c "<bedingung>"] "<projektname>" ["<projektmomentaufnahmename>"]
.runwait [-c "<bedingung>"] "<projektname>" ["<projektmomentaufnahmename>"]

Mit den Befehlen .run und .runwait können Sie aus einem Schrittbefehl heraus ein verkettetes Projekt starten. Um eine Momentaufnahme des Projekts anzugeben, verwenden Sie den optionalen Parameter <projektmomentaufnahmename>.

Die Befehle unterscheiden sich hinsichtlich ihres Verhaltens nach dem Start eines Projekts:

Bedingter Start

Mit dem optionalen Parameter -c kann der Start unter einer bestimmten Bedingung erfolgen. In der Bedingung können Umgebungsvariablen angegeben werden. Es gibt mehrere Möglichkeiten bei der Angabe der Bedingung:
Zeichenfolgevergleich
Sie können für die Auswertung von Zeichenfolgen die Operatoren = (gleich) oder != (ungleich) verwenden. Die Kette wird gestartet, wenn das Ergebnis des Vergleichs "true" ist.
Numerischer Vergleich
Sie können für den Vergleich zweier numerischer Werte die Operationen <, >, <>, >< oder = verwenden.
Erfolgreiche Befehlsausführung
Sie können für den Parameter -c einen in umgekehrte Anführungszeichen gesetzten Befehl angeben. Dieser Befehl wird vom System ausgeführt, und bei erfolgreicher Ausführung wird die Kette gestartet.

Beispiele

.run "BuildWindowsDriver"

Das System startet das Projekt "BuildWindowsDriver". Das aufrufende Projekt fährt unmittelbar mit dem nächsten Schritt fort.

.runwait "BuildWindowsDriver"

Das System startet das Projekt "BuildWindowsDriver". Beim Schritt .runwait stoppt das Projekt, von dem der Start angestoßen wurde. Nach erfolgreichem Abschluss des Projekts "BuildWindowsDriver" wird der Status des Schritts .runwait auf "Erfolgreich" gesetzt.

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

Das Projekt "Simple Echo" wird nur dann ausgeführt, wenn die Variable HOMEDRIVE den Wert "C" aufweist.

Die Protokollausgabe dieses Befehls sieht ungefähr wie folgt aus (im Abschnitt EXEC des Schrittprotokolls):
  • Wenn HOMEDRIVE auf "C:" gesetzt ist:
    Bedingung .run: 'C:' = 'C:' erfüllt.
    
    Projekt "Simple Echo" wird auf Server [WinBox] in die Warteschlange gestellt.
    Build 'BUILD_202' von Projekt 'Simple Echo' in Warteschlange.
  • Wenn HOMEDRIVE nicht auf "C:" gesetzt ist:
    .run -c "$HOMEDRIVE=C:" "Simple Echo"
    
    Bedingung .run: 'D:' = 'C:' nicht erfüllt, kein Projekt in die Warteschlange gestellt.

Das System kann Zeichenfolgen, die Zahlen enthalten, numerisch vergleichen. In den folgenden Fällen wird wie folgt verfahren:

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

Bedingung .run: '12' < '42' erfüllt. 
Projekt "Simple Echo" wird auf Server [WinBox] in die Warteschlange gestellt. 
Es wird gewartet, bis der .run-Build (4411) abgeschlossen ist. 
.run-Build ist jetzt aktiv. 
.run-Build abgeschlossen. 
Build 'BUILD_203' von Projekt 'Simple Echo' abgeschlossen. 

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

Bedingung .run: '43' <> '43' nicht erfüllt, kein Projekt in die Warteschlange gestellt. 

Die folgenden Beispiele zeigen, wie Befehle als Bedingungen verwendet werden. Der Befehl muss dabei in Anführungszeichen und umgekehrte Anführungszeichen gesetzt werden.

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

Env .run encountered an error during variable expansion, parameter [`exit1`] expanded to []. 
Erweiterung hat einen Exit ungleich Null zurückgegeben. Projekt wird nicht in die Warteschlange gestellt. 

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

Erweiterung hat einen Null-Exit zurückgegeben. Projekt wird in die Warteschlange gestellt. 
Projekt "Simple Echo" wird auf Server [WinBox] in die Warteschlange gestellt. 
Build 'BUILD_204' von Projekt 'Simple Echo' in Warteschlange.

Wenn ein Build bei Verwendung von .runwait fehlschlägt, sieht das Protokoll etwa wie folgt aus:

.runwait "Fail Build"

Projekt "Fail Build" wird auf Server [WinBox] in die Warteschlange gestellt. 
Es wird gewartet, bis der .run-Build (4413) abgeschlossen ist. 
.run-Build ist jetzt aktiv. 
.run-Build abgeschlossen. 
Build 'BUILD_3' von Projekt 'Fail Build' fehlgeschlagen. Schrittergebnis wird auf 'Fehlgeschlagen' gesetzt.