<prepare> ブロックや <cleanup> ブロック内で、任意のネイティブコマンドを実行できます。 比較の前後にこうしたブロックを使用することにより、圧縮アーカイブからファイルを抽出したあと、これらを指定された出力ファイルに出力し、クリーンアップ時に削除することができます。これが、一般的な使用方法です。
プランやコンポーネントに含まれるexecNative とは異なり、この execNative インスタンスは、<prepare> ブロックか <cleanup> ブロックに含める必要があります。変数の置換を行うことはできません。
HTML ユーザーインタフェースを使ってインストールとインストールの比較を行う場合は、「Include temporary files generated by scripts during comparison」のチェックボックスを選択できます。 このオプションを選択すると、ページが更新され、<prepare> ブロックと <cleanup> ブロックを入力する 2 つのフィールドが表示されます。
ターゲットホストに <prepare> ブロックと <generate> ブロックを交互に指定したい場合、また <cleanup> ブロックを指定したい場合は、該当するチェックボックスをオフにします。
以下に、フィールドに入力できるスクリプトの例を示します。
execNative の結果の出力ファイルを指定する <prepare> (<generate>) ブロックです。 execNative は /tmp ディレクトリの内容を一覧表示します。
<prepare> <execNative outputFile="file.txt" dir="temp"> <exec cmd="ls"> <arg value="-l"></arg> <arg value="/tmp"></arg> </exec> </execNative></prepare> |
その後、以下の <cleanup> ブロックにより、/tmp ディレクトリから出力ファイル file.txt が削除されます。
<cleanup> <execNative dir="/temp/"> <exec cmd="rm"> <arg value="-rf"></arg> <arg value="file.txt"></arg> </exec> </execNative></cleanup> |