Cake では実行するタスクを引数で指定することができます。
引数で指定するとスクリプトの次の部分の変数 target
に与えた値が入ります。引数を与えていない場合は、次のコードで指定されているデフォルト値 Default が設定されます。
var target = Argument("target", "Default");
■ 試してみるスクリプト
次のスクリプトで動作を見てみます。
var target = Argument("target", "Default"); var name = Argument("name", "World"); Task("Default").Does(() => { Information($"Hello {name}!"); Information(name.GetType().FullName); }); RunTarget(target);
■ 引数なしで実行
>.\tools\Cake\Cake ======================================== Default ======================================== Hello World! System.String Task Duration -------------------------------------------------- Default 00:00:00.0263882 -------------------------------------------------- Total: 00:00:00.0263882
デフォルト値である Default として実行されました。
ついでにこっそり表示していた、変数 target
の型が string であるとこも確認できます。
■ 引数をつけて実行
今度は、C# という引数を与えて実行してみます。
引数は
Cake -name=C#
のように、
Cake -[ Argument の第一引数の値 ]=[ 与える引数(デフォルト値は Argunment の第二引数の値) ]
という指定をします。
実行結果
>.\tools\Cake\Cake -name=C# ======================================== Default ======================================== Hello C#! System.String Task Duration -------------------------------------------------- Default 00:00:00.0226930 -------------------------------------------------- Total: 00:00:00.0226930
狙い通り、name
の値が C# としてタスクが実行されました。
※CakeBuild を試してみた記事の目次です。