rksoftware

Visual Studio とか C# とかが好きです

最近 cakebuild というものを知りました。

最近 cakebuild というものを知りました。

https://cakebuild.net/

C# Make ということらしいです。C# でビルドスクリプトが書けるビルド自動化システムとのこと。

■ とりあえず動かしてみる

とりあえずまず動かしてみるにはこちらの手順。

https://cakebuild.net/docs/tutorials/setting-up-a-new-project

今回は Windows で試していますが、はまりどころなく動きました。

手順

サイトに書かれているとおりにやってみます。動かすだけならコマンド2回とファイル作成1回だけです。

まずは PowerShell で次のコマンドを実行します。

Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1

cakebuild のサイトから build.ps1 というファイルをダウンロードしています。このスクリプトファイルが、環境構築とビルドスクリプトの実行を行ってくれます。

次に先ほどコマンドを実行したフォルダにビルドスクリプトファイルを作成します。今回はサイトに書かれているそのままのファイルで試します。
build.cake というファイル名で次の内容のファイルを作ります。

var target = Argument("target", "Default");

Task("Default")
  .Does(() =>
{
  Information("Hello World!");
});

RunTarget(target);

コンソールに Hello World! と表示するだけのスクリプトですが、環境ができていることと動作することの確認には最適でしょう。

PowerShell で次のコマンドを実行します。最初のコマンドでダウンロードしたスクリプトですね。

./build.ps1

cake の実体・実行ファイル群は NuGet ( https://www.nuget.org/packages/Cake/ )に上がっています。 このスクリプトの中で、

  1. https://dist.nuget.org/win-x86-commandline/latest/nuget.exe から nuget.exe をダウンロード
  2. https://cakebuild.net/download/bootstrapper/packages から packages.config をダウンロード
  3. nuget.exepackages.configcake の NuGet パッケージをダウンロード
  4. NuGet パッケージ内の実行ファイルで build.cake スクリプト (名前は固定) を実行

しているようです。

■ 実行結果

\cakebuild> .\build.ps1
Preparing to run build script...
Running build script...

========================================
Default
========================================
Hello World!

Task                          Duration
--------------------------------------------------
Default                       00:00:00.0179751
--------------------------------------------------
Total:                        00:00:00.0179751

特にはまりどころ無く、C# Make スクリプトを実行できました。
これからもう少し触って試してみようと思います。

※CakeBuild を試してみた記事の目次です。