# Fake dotnetcore

## Getting Started

Getting started with the Fake dotnetcore version is easy. Just install the corresponding package for your system:

 1:  choco install fake -pre 

now you can use

 1:  fake --help 

This is basically it. You can now execute fake commands.

For unix we don't have packages yet (please contribute!), but you can use the manual install process (see Contributing)

## Why?

The goals are:

• Provide a easy to use cross platform way to use FAKE. With a good bootstrapping experience
• Cleanup 'FakeLib'
• Extract reusable libraries and make them usable for your projects or the fsi!
• Make it easier to extend FAKE for your own use-case
• Provide an easy way for simple scripting, automate everything, everywhere.

## How to specify dependencies?

See the FAKE 5 modules section.

## Portable installation

We distrubute a dotnetcore version of FAKE without the dotnetcore runtime. This version assumes an existing dotnet sdk installation while the non-portable installation doesn't.

Just use the -portable version of the downloads, extract it and execute.

 1:  dotnet fake.dll 

The advantage of this method is that it is portable (ie. distribute the same binaries) and requires less bandwidth. The disadvantage is that you need to have a dotnet sdk installed.

## Examples

• See https://github.com/fsharp/FAKE/blob/master/build.fsx Note that with the "new" API you should call the modules directly instead of opening them. Therefore this example is actually pretty bad because it just opened everything (for minimal diff to the "normal" build.fsx)

### Minimal example

Create a file named build.fsx with the following contents:

  1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:  #r "paket: nuget Fake.Core.Target //" // include Fake modules, see Fake modules section open Fake.Core // *** Define Targets *** Target.Create "Clean" (fun _ -> Trace.log " --- Cleaning stuff --- " ) Target.Create "Build" (fun _ -> Trace.log " --- Building the app --- " ) Target.Create "Deploy" (fun _ -> Trace.log " --- Deploying app --- " ) open Fake.Core.TargetOperators // *** Define Dependencies *** "Clean" ==> "Build" ==> "Deploy" // *** Start Build *** Target.RunOrDefault "Deploy" 

Run this file by executing

 1:  fake run build.fsx 

Get the latest dotnet-fake cli tool by adding <DotNetCliToolReference Include="dotnet-fake" Version="5.0.0*" /> to your dependencies (https://www.nuget.org/packages/dotnet-fake)