バージョン1.202109の概要
2 minute read
テンプレートファイルのプロパティ
|
|
【必須】version
プロパティ(少数)
バージョン情報を設定します。
【必須】phase
プロパティ(Phaseオブジェクト配列)
フェイズを定義します。詳細およびPhaseオブジェクトのプロパティについてはPhaseオブジェクトをご覧ください。
【任意】dir
プロパティ(パス文字列)
ファイル・ディレクトリの相対パスを参照する際の基準となるパスを指定します。規定値はテンプレートファイルを含んでいるディレクトリのパスです。 このプロパティで相対パスを指定した場合はテンプレートファイルを含んでいるディレクトリのパスを基準にして検索します。
Phase
オブジェクト
フェイズを定義します。フェイズの概念についてはドキュメント「フェイズとタスク」をご覧ください。同一フェイズ内に定義されているタスクは並列に実行され、他のフェイズに含まれているタスクは事前または事後に実行されます。
|
|
【必須】name
プロパティ(識別文字列)
フェイズを定義するための識別値です。同一名のフェイズは許可されません。頭文字が英字であり、英数字とアンダーバーである文字列のみ使用できます。
【必須】task
プロパティ(Taskオブジェクト配列)
タスクを定義します。詳細およびTaskオブジェクトのプロパティについてはTaskオブジェクトをご覧ください。
【任意】at
プロパティ(整数)
実行するタスクの順序を明示します。これを使用することで、より確実な順序の定義を示すことができます。規定値は未定義状態です。テンプレートファイルがYAMLファイルの場合はgopkg.in/yaml.v3を使用しているため、ファイルに記述されている順番に読み取ります。
ただし、at
プロパティで順序が指定されているフェイズと指定されていないフェイズが混合している場合、at
プロパティで定義されているものを先に実行します。すべてのat
プロパティが定義されているフェイズが終了してから定義されていないフェイズを実行します。
at
プロパティを含むフェイズと含まないフェイズが混合している状態は条件があいまいになり推奨されません。
Task
オブジェクト
タスクを定義します。タスクの概念についてはドキュメント「タスクの概念」をご覧ください。rehearsalはタスクとそれに紐づくプロセスを実行し、監視します。一部のプロパティはkind
プロパティによって異なりますが、以下に示すのは共通のプロパティです。
|
|
【必須】name
プロパティ(識別文字列)
タスクを定義するための識別値です。同一フェイズ内で同一名のタスクは許可されません。異なるフェイズで同一名のタスクは許可されます。頭文字が英字であり、英数字とアンダーバーである文字列のみ使用できます。
【必須】kind
プロパティ(文字列)
定義するタスクの種類です。サポートされているタスクの種類についてはドキュメント「タスクの種類/サポートしているタスクの一覧」をご覧ください。
【任意】wait
プロパティ(true/false)
フェイズがタスクの終了を待機するかどうかを指定します。
false
を指定した場合は待機すべき他タスクの終了を確認した際にrehearsalによってそのタスクとプロセスが終了します。true
である場合はそのタスクが自主的に終了するまで待機します。true
である場合のタスクの終了条件についてはドキュメント「タスクの種類」をご覧ください。
既定ではtrue
が設定されています。
【任意】until
プロパティ(識別文字列)
タスクの終了を行うフェイズを指定します。詳しくはドキュメント「フェイズとタスク」をご覧ください。未定義のフェイズを設定することはできません。
既定ではそのタスクを内包しているフェイズで終了することになっています。
【任意】stdout
プロパティ(TaskElementオブジェクト)
標準出力についてのプロパティです。詳細およびTaskElementオブジェクトのプロパティについてはTaskElementオブジェクトをご覧ください。また、標準出力をサポートしているタスクの種類についてはドキュメント「タスクの種類/タスク別の入出力系動作内容」をご覧ください。
規定値はTaskElementオブジェクトのメンバープロパティの規定値が適用されます。
【任意】stderr
プロパティ(TaskElementオブジェクト)
標準エラー出力についてのプロパティです。詳細およびTaskElementオブジェクトのプロパティについてはTaskElementオブジェクトをご覧ください。また、標準エラー出力をサポートしているタスクの種類についてはドキュメント「タスクの種類/タスク別の入出力系動作内容」をご覧ください。
規定値はTaskElementオブジェクトのメンバープロパティの規定値が適用されます。
Task.cui
オブジェクト
CUIタスクを定義するためのプロパティです。CUIタスクは実行コマンドによって指定したアプリケーションを実行し、標準入出力を使用して通信します。内部ではos/execが使用されています。CUIタスクの詳細はタスクの種類/CUIタスクをご覧ください。
|
|
【必須】cmd
プロパティ(文字列)
実行コマンドを指定します。実行ファイルのあるパスやコマンドを指定できます。
【必須】args
プロパティ(文字列配列)
実行時にアプリケーションへ渡す引数を指定します。
【任意】dir
プロパティ(パス文字列)
コマンドを実行する際に使用するディレクトリです。既定ではテンプレートファイルのdirプロパティでの値が適用されます。
Task.serial
オブジェクト
SERIALタスクを定義するためのプロパティです。SERIALタスクは指定されたCOMポートを使用して、シリアル通信を標準入出力とします。内部ではgo.bug.st/serialが使用されています。SERIALタスクの詳細はタスクの種類/SERIALタスクをご覧ください。
|
|
【必須】baudrate
プロパティ(整数)
使用するシリアル通信の通信速度です。単位はbpsで示され、9600
, 57600
などが指定可能です。
【任意】port
プロパティ(文字列)
シリアル通信で使用するポート番号です。COM3
などの表記で指定可能です。
既定値は与えられませんが、rehearsal初期化中にポート番号をユーザーが指定することで不明なポート番号を解決します。
【任意】databits
プロパティ(整数)
1データ当たりのビット長です。5
, 6
, 7
, 8
の中から指定可能です。既定では8
が指定されます。
Task.tcp
, Task.udp
, Task.unix
オブジェクト
それぞれTCPタスク、UDPタスク、UNIXタスクを定義するためのプロパティです。これらは各方式による通信を標準入出力とします。各タスクはnetが使用されています。各タスクの詳細はドキュメント「タスクの種類」をご覧ください。
|
|
【必須】address
プロパティ(文字列)
接続先のアドレスを指定します。
【任意】sync
プロパティ(文字列)
入出力の同期速度を指定します。既定では1秒毎の同期を行います。
TaskElement
オブジェクト
各入出力のプロパティを設定します。
|
|
【任意】write-log
プロパティ(true/false)
出力をログとして表示するかどうかを選択します。既定ではfalse
です。
【任意】sendto
プロパティ(文字列配列)
出力を入力として渡すタスクを定義時に示した名前を用いて指定します。複数のタスクを指定できます。以下のような形式で指定します。
|
|
既定ではデータを送信しません。