Skip to content

Building DotNetty

Max Gortman edited this page Aug 13, 2015 · 2 revisions

DotNetty uses FAKE to create builds, just like Akka.NET, Helios, and oodles of other projects.

How it works

The key files to pay attention to are as follows:

  1. build.cmd and build.sh - this is how you launch FAKE on Windows and Linux repsectively. It runs some NuGet.exe commands to make sure that the test runners and build system binaries are available before the execution begins.
  2. build.fsx - this is the F# script that actually defines the build system.
  3. all of the individual .nuspec files for each project - FAKE scans for these to determine which assemblies will be deployed in a NuGet package and which ones won't.
  4. src\SharedAssemblyInfo.cs - linked by all NuGet-deployed binaries and auto-generated by FAKE. This is used to synchronize the major parts of the build number by what's inside RELEASE_NOTES.md, which has to be authored by a human. The build number itself is determined by the build count on TeamCity.
  5. RELEASE_NOTES.md - this gets parsed into the release notes for each NuGet package and determines what the version number of this release is.

How to use it

To see all of the different options for running builds, execute the following:

./build.cmd

That will print out a list of different commands and the options that they support.

If you want to do a full local build, NuGet packages + tests. Then execute the following

./build.cmd all

And then check the bin/NuGet folder for packages. It'll look like this:

image

Creating Pre-Release Builds

If you want to create pre-release NuGet packages, you can just type the following:

./build.cmd all nugetprerelease=beta
Clone this wiki locally