今回のスクリプトは良くないスクリプトだと、私のエンジニア勘が告げています。
■ 今回実行するスクリプト
var target = Argument("target", "Default"); Task("Default").Does(() =>{ Information("Hello World!"); }); Task("cs").Does(() => { Information("Hello C#!"); }); Task("both").Does(() => { RunTarget("Default"); RunTarget("cs"); }); RunTarget(target);
Default、cs、both の3つのタスクを定義しています。
その中で both の中で
RunTarget("Default"); RunTarget("cs");
と書いて、Default、cs のタスクを実行しています。
■ both を実行してみる
>.\tools\Cake\Cake -target=both ======================================== both ======================================== ======================================== Default ======================================== Hello World! Task Duration -------------------------------------------------- Default 00:00:00.0063018 -------------------------------------------------- Total: 00:00:00.0063018 ======================================== cs ======================================== Hello C#! Task Duration -------------------------------------------------- cs 00:00:00.0065491 -------------------------------------------------- Total: 00:00:00.0065491 Task Duration -------------------------------------------------- both 00:00:00.0564927 -------------------------------------------------- Total: 00:00:00.0564927
書いたとおりの結果になりました。けれど、この使い方はおそらく正しくないです。書けば動くという確認としてやってみました。
ただしくは .IsDependentOn
メソッドを使うのがよさそうです。
※CakeBuild を試してみた記事の目次です。