Cake は素人なのでこれで良いのかということろはあるのですが、こんなこともできましたということで。
■ 引数の指定
Cake ではスクリプトの中で
var number1 = Argument("number1", "123000");
のようなコードを書いて、実行時に
Cake -number1=2540
のように引数を与えると、変数 number1
に 2540 が入ります。
■ 実行してみるスクリプト
今回は、次のスクリプトを実行しながら動作を確認してみます。
var target = Argument("target", "Default"); var number1 = Argument("number1", "123000"); var number2 = Argument("number2", "456"); int.TryParse(number1, out var numverValue1); int.TryParse(number2, out var numverValue2); Task("Default").Does(() => { Information($"Hello {numverValue1 + numverValue2}!"); }); RunTarget(target);
Cake のスクリプトは C# なので、int.TryParse
や out var
なども書けます。
■ 引数なしで実行
>.\tools\Cake\Cake ======================================== Default ======================================== Hello 123456! Task Duration -------------------------------------------------- Default 00:00:00.0165981 -------------------------------------------------- Total: 00:00:00.0165981
number1
と number2
が数値にパースされて数値演算されていることが確認できます。
var number1 = Argument("number1", "123000");
の Argument
の第二引数がデフォルト値なので 123,000 + 456 = 123,456 です。
■ 引数を付けて実行
>.\tools\Cake\Cake -number1=2540 -number2=3331 ======================================== Default ======================================== Hello 5871! Task Duration -------------------------------------------------- Default 00:00:00.0197005 -------------------------------------------------- Total: 00:00:00.0197005
number1
が 2540、number2
が 3331 となり
2,540 + 3,331 = 5,871 です。引数に値が数値になって足し算されていることが確認できました。
※CakeBuild を試してみた記事の目次です。