Another MAKE utility implementation on F#, fully declarative with no-brain parallelism, inspired by Shake
Latest commit ce98301 May 16, 2018

readme.md

Xake is a build utility that uses the full power of the F# programming language. Xake is inspired by shake build tool.

Build Status

Sample script

The simple script looks like:

#r "paket:
  nuget Xake ~> 1.1 prerelease
  nuget Xake.Dotnet ~> 1.1 prerelease //"

open Xake
open Xake.Dotnet

do xakeScript {
  rules [
    "main" <== ["helloworld.exe"]

    "helloworld.exe" ..> csc {src !!"helloworld.cs"}
  ]
}

This script compiles helloworld assembly from helloworld.cs file.

To run this script:

  1. Clone the project:

    git clone http://github.com/xakebuild/xake
    
  2. Run the "Hello world" build sctipt:

    cd samples
    dotnet restore dotnet-fake.csproj
    dotnet fake run gettingstarted.fsx
    

Further reading

Build the project

Once you cloned the repository you are ready to compile and test the binaries:

dotnet restore build.proj
dotnet fake run build.fsx -- build test

... or use build.cmd (build.sh) in the root folder

References

Mono on OSX troubleshooting

Xake requires 'pkg-config' to locate mono runtime. Pkg-config utility is deployed with mono, but it's not included in $PATH. The options available are described on monobjc mailing list