Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaslevesque committed Oct 21, 2019
1 parent e9c8da3 commit 9bafe0c
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions how_to_build.md
Expand Up @@ -30,6 +30,8 @@ After the build has completed, the build artifacts will be located in `artifacts

## Extras

### Running specific build tasks

`build.cmd` wraps a [Bullseye](https://github.com/adamralph/bullseye) targets project, so you can use all the usual command line arguments that you would use with Bullseye, e.g.:

* View the full list of build targets:
Expand All @@ -44,6 +46,42 @@ After the build has completed, the build artifacts will be located in `artifacts

`build.cmd spec pack`

* Run a target without running its dependencies (might fail if the dependencies
haven't been previously built):

`build.cmd -s spec`

* View the full list of options:

`build.cmd -?`

### Building only a subset of the supported target frameworks

FakeItEasy targets multiple versions of .NET (.NET Framework 4.0 and 4.5, .NET
Standard 1.6, 2.0 and 2.1), and the tests also run on multiple frameworks (.NET
Framework 4.6.1 and several versions of .NET Core). A consequence is that a full
build can take a significant time. When working on the code, you might want a
faster feedback loop. To this end, FakeItEasy's build infrastructure has the
concept of "build profiles", which makes it possible to build only a subset of
all the target frameworks supported by FakeItEasy. The following profiles are
available:

* `full`: the default profile, builds all supported target frameworks
* `net45`: builds only the .NET Framework 4.5 target framework
* `netcore2.1`: builds only .NET Core 2.1 / .NET Standard 2.0 target frameworks
* `netcore3.0`: builds only .NET Core 3.0 / .NET Standard 2.1 target frameworks
* `netcoreall`: builds all supported .NET Core / .NET Standard target frameworks

In order to select a profile, create a `FakeItEasy.user.props` file at the root
of the repository, and set the `BuildProfile` MSBuild property like this:

```xml
<Project>
<PropertyGroup>
<BuildProfile>netcore3.0</BuildProfile>
</PropertyGroup>
</Project>
```

Note that Visual Studio will not reflect a change of build profile until you
reload the solution. The command line build will reflect the change immediately.

0 comments on commit 9bafe0c

Please sign in to comment.