Skip to content
/ Xake Public
forked from FakeBuild/Xake

Another MAKE utility implementation on F#, fully declarative with no-brain parallelism, inspired by Shake

License

Notifications You must be signed in to change notification settings

OlegZee/Xake

 
 

Repository files navigation

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 "nuget: Xake"
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.

Getting started

Make sure dotnet SDK 7.0+ is installed.

  1. Clone the project:

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

    cd samples
    dotnet fsi gettingstarted.fsx
    
    dotnet fsi features.fsx
    

Further reading

Build the project

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

dotnet fsi build.fsx -- -- build test

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

Getting started for Mono on Linux/OSX

This is untested and mono nowadays is poorly explored territory for me.

Make sure mono with F# is installed and root certificates are imported:

sudo apt-get install mono-complete
sudo mozroots --import --sync

TBD

Documentation

See documentation for more details.

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

About

Another MAKE utility implementation on F#, fully declarative with no-brain parallelism, inspired by Shake

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • F# 100.0%