FAKE - F# Make - A DSL for build tasks and more FAKE

A DSL FOR BUILD TASKS AND MORE
THE POWER OF F# - ANYWHERE - ANYTIME

main sample code to illustrate FAKE syntax

Why Use FAKE?

Fake is built on several key design principles...

illustrate modularization feature of FAKE

Modularization

Use the Modules you Need

See Modules
illustrate extensibility feature of FAKE

Extensibility

Integrate your own Modules

See Custom Modules
illustrate quick start feature of FAKE

Quick Start

Get Started as Fast as Possible

Check Getting Started
background illustration - hexagons to demonstrate FAKE's modularity

Bootstrapping

Every project has different needs. Therefore, FAKE supports several ways to bootstrap the build process. From an assumed installation - for example via chocolatey - to automatically updated bootstrapping scripts.

A Simple Build Script

This is a simple build script in FAKE. Build scripts can contain multiple targets which can do different things like building your app or publishing it. They are written in F# and can contain references to third party libraries by including them directly or via Paket.

code sample #1
code sample #2

Target Dependencies

Targets in your build script might have dependencies on other targets like cleaning up your output folder before building your app. FAKE supports specifying dependencies between your targets. While it might look a bit strange at first, just read it from the bottom to the top.

Globbing

In order to search for files deep down in your folder structure, FAKE supports globbing. The following build script can search for project files in a given folder path and compile them using MSBuild. To give you even more power, FAKE can exclude and include additional files.

code sample #3