Crane creates builds scripts so you don't have to
C# PowerShell Other
Latest commit 30e4465 Jun 29, 2015 @ewilde Increase wait time for service to start
Takes account of running in the cloud on slow VM's

README.md

crane Appveyor build status Teamcity build status Stories in Ready Stories in Progress Documentation Status Documentation Status Follow cranebuild on twitter

Gitter

Builds you into the pit of success

We hate writing build scripts and continuous integration (ci) templates every time we start a new project or when we work on a project that does not have them. I'm sure you do as well. This is where cranecomes in. Invoke crane and it can build you a blank project, complete with a build or you can get crane to assemble you a build on an existing project. No more messing around for hours on a build server!!

Installation

To install crane, run the following command from the command line or from PowerShell: choco install crane choco install crane

Don't have chocolatey installed? https://chocolatey.org/

Please show me?

crane init SallyFx

This creates a new project called SallyFx in the current directory.

> crane init SallyFx


C:\DEV\TEMP\SALLYFX
|   build.ps1
|
+---build
|       default.ps1
|       NuGet.exe
|       psake-ext.psm1
|       psake.ps1
|       psake.psm1
|
\---src
    |   SallyFx.sln
    |
    +---.nuget
    |       packages.config
    |
    +---SallyFx
    |   |   Calculator.cs
    |   |   SallyFx.csproj
    |   |
    |   \---Properties
    |           AssemblyInfo.cs
    |
    \---SallyFx.UnitTests
        |   CalculatorFeature.cs
        |   packages.config
        |   SallyFx.UnitTests.csproj
        |
        \---Properties
                AssemblyInfo.cs

You can now build this project...

example_build.png

Supported commands

init

init initializes a new project.

Example:

crane init SallyFx create a new project called 'SallyFx'

The default crane project is quite opinionated we have made lots of decisions. Here are the highlights:

Build

  • psake powershell build system
  • restores nuget packages
  • patches your assembly info files with information from VERSION.txt and last git commit message, if it's a git repo
  • builds
  • runs unit tests

Project template

  • Solution file with
  • Class library
  • Unit test library
    • Using xbehave, EasyFakes, bdd style tests

help

help {command} lists required and optional parameters for commands

Example:

crane help init show help for the init command