Scriptor: Scripts

Einführung:

Scripts sind ASCII-Dateien, die durch einem Interpreter ausgeführt werden können. Scripts werden vor der Ausführung umkopiert, dabei werden Parameter in <%..%>-Ausdücken ausgewertet.

Eingabe:

Jedes Script, das SCRIPTOR ausführen soll, muß mit seinen Eigenschaften dokumentiert werden. Dies geschieht auf der Seite “Edit Scripts”.

(Da die Tabelle so viele Spalten hat, gibt es hier zwei horizontal anzuordnende screen shots)

Vorbemerkung: in jedem Feld können beliebige SCRIPTOR <%=..%>-Ausdrücke benutzt werden.

Feld

Bedeutung

SCRIPT

Der Name, unter dem das Script verwaltet wird.

TEMPLATE

Pfad zum Script-Template (Kopiervorlage, also Datei, die “<%..%>”-Ausdrücke enthält). Es können auch Datei-Ausdrücke mit dem “*” Wildcard angegeben werden, dann werden mehrere Dateien kopiert. Wird ein Verzeichnis angegeben, werden alle Dateien und Unterverzeichnisse darin umkopiert und verarbeitet.
Es sind auch Komma-Listen von Datei-Ausdrücken erlaubt.
Im Beispiel oben kommen alle Scripts aus demselben Stammverzeichnis, das ein einstellbarer Parameter ist und als “<%=DIR_TEMPLATES%>” erscheint.

TARGET

Name für das ausführbare Script, wie es nach dem Umkopieren heissen soll. Soll statt eines Filenames nur der Name eines Verzeichnisses angegeben werden, wird dieses durch ein abschliessende “\” (back slash) markiert.
Wenn mehrere Scripts verarbeitet werden (Wildcard-Ausdruck in TEMPLATE), muss immer ein Verzeichnis angegeben werden!

DIR_EXEC

Verzeichnis, in das vor Ausführung des Skriptes gewechselt wird. Kann leer bleiben, dann wird das Verzeichnis genommen, in dem das ausführbare Script steht.

ENVIRONMENT

Pfad auf eine Datei, die Zeilen der Form
  “<variable>=<value>”
enthält. Die so angegebenen environment-Variablen werden vor Scriptausführungs ins environment des Skript-Prozesses geschrieben.
In der Environmentdatei sind alle JScript-Operationen erlaubt.. Um gezielt Scriptor-Parameter ins environment zu schreiben, sind Zeilen der Form
  “A_SCRIPTOR_PARAM=<%=A_SCRIPTOR_PARAM%>
nötig.
(Scriptor kann nicht alle internen Parameter als Variable ins environment schreiben, da dessen Grösse unter Windows begrenzt ist).

Danger

 

Vor der Ausführung einer Scriptliste erfolgt eine Rückfrage, wenn für eines der Scripte ein “Dangerlevel” angegeben wurde.Der User muß dadurch vor der Ausführung einen zufälligen Code abtippen, das soll ihn nochmal zum Nachdenken bringen. Der Code besteht aus “2 * Danger” Zeichen, d.h., je gefährlicher ein Script ist, desto zeitaufwändiger wird die Bestätigung.

Overwrite

Gibt an, ob beim Umkopieren der Scripte schon vorhandene Scripte überschrieben werden sollen. In der Regel “Wahr”.

CMDLINE

Befehl, mit dem das Script ausgeführt wird. Das aktuelle Script muß mit dem Platzhalter  “<%=FILE%> in der Kommandozeile eingefügt werden. Der Platzhalter <%=CURRENT_PARAMS%> enthält die Task-spezifischen Script-Parameter aus der Tabelle TaskScripts.
CMDLINE kann auch leer bleiben, dann besteht die Script-”Ausführung” nur aus dem Verarbeiten und Umkopieren.

Enabled

Ausdruck, der angibt, ob das Script ausführbar sein soll. Die Ergebnisse Leer, “FALSE” oder “0” bedeuten “Nein”. Damit kann ein Script unabh. vom  Tasklisten-Enabled-Flag durch eine globale Bedingung in allen Tasklisten disabled werden.

LOGFILE

Kommaliste der Logfiles, die das Script ggf. erzeugt (falls es nicht nur Ausgabe an die Console schickt). Relative Pfadangaben werden bzgl. DIR_EXEC interpretiert.

SUCCESSEXPR

Liste von Textmustern als regular expressions, getrennt durch “|”. Jedes Muster muß mindestens einmal in einem Logfile oder der Consolausgabe des Scriptes vorkommen, sonst gilt die Ausführung als fehlgeschlagen.

ERROREXPR

Liste von Textmustern als regular expressions, getrennt durch “|”. Keines der Muster darf in den Logfiles oder der Consolausgabe des Scriptes vorkommen, sonst gilt die Ausführung als fehlgeschlagen.
In einem Fehlerausdruck kann die Position eines Dateinamens mit “%F” markiert werden und die Position einer Zeilennumer mit “%L”. Werden diese Platzhalter erkannt, so öffnet SCRIPTOR nach dem Scriptlauf nicht nur den Logfile, sondern auch die mit %F %L markierte Fehlerstelle.

Beispiel:

  1. ERROREXPR = ”%F(%L): error C
  2. Zeile in der Logdatei: “c:\projekt\hello.c(15): error C0100=Do not write another Hello-world program!”
  3. SCRIPTOR öffnet die Datei “c:\projekt\hello.c” und setzt den Cursor auf Zeile 15.
    (Der Editoraufruf wird mit Parameter TEXTEDITOR konfiguriert)

NOERROREXPR

Liste von Textmustern als regular expressions, getrennt durch “|”. Wird ein ERROREXPR in einem Logfile gefunden, der gleichzeitig zu einem NOERROREXPR passt, so bewirkt dies die Unterdrückung des Fehlers.
Wurde eingefügt, da Compiler oder ähnliche Programme häufig Fehler ausgeben, die eigentlich nur Warnungen sind.
Man gibt am besten in ERROREXPR etwas allgemeines wie “Error #” an, und schliesst bestimmte harmlose Fehler dann in NOERROREXPR z.B mit “Error #123, Error #543” aus.

Info

Beschreibung, was das Script tut. Dieser Text erscheint dann in SCRIPTORs-Logfile.

Regular Expressions

In SUCESSEXPR, ERROREXPR und NOERROREXPR werden Liste von Perl -Regularexpressions eingetragen. Eine Syntaxbeschreibung findet sich bei www.pcre.org. .Listenelemente werden durch den vertikalen Strich “|” (=regex “Oder” ) getrennt, dieser kann in den einzelnen Ausdrücken nicht mehr verwendet werden. 
Folgendes sind die Sonderzeichen der Perl-Regex-Syntax:

    . ? * + \ ( ) { } [ ] ^ $ |

Sollen ein Sonderzeichen Teil des Suchmusters sein, sp muss ihm ein”\” vorangestellt werden.

In ERROREXPR markieren ausserdem die Ausdrücke “%F” bzw. “%L” einen Dateinamen und eine Zeilennummer.

 

[Scriptor] [Parameter] [Konfigurationen] [Jobs und Tasks] [Scripts] [JavaScript] [Command line] [Designing conf hierarchy]