forked from nunit/nunit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILDING.txt
42 lines (33 loc) · 2.3 KB
/
BUILDING.txt
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
29
30
31
32
33
34
35
36
37
38
39
40
41
Building NUnit 3.0
NUnit 3.0 consists of three separate layers: the Framework, the Engine and the Console Runner.
The source code is kept in a single GitHub repository at http://github.com/nunit/nunit.git.
All three layers are built together using a single Visual Studio solution (nunit.sln on Windows
and nunit.linux.sln on Linux), which may be built with Visual Studio 2012+, SharpDevelop.
or MonoDevelop.
There is a separate VS2008 solution for building the framework to run under the .NET
compact framework 3.5.
The solutions all place their output in a common bin directory. Console runner and engine
components are placed directly in the bin directory while framework components end up in
subdirectories net-2.0, net4.0, sl-5.0, portable and netcf-3.5. Future platform
builds will cause new subdirectories to be created.
The build shell script and build.cmd script are provided as an easy way to locate and
run msbuild / xbuild. They pass their arguments directly to msbuild / xbuild.
Note that assemblies in one layer must not reference those in any other layer, except as follows:
* The console runner references the nunit.engine.api assembly, but not the nunit.engine assembly.
* Tests in any layer reference nunit.framework.
Developers should make sure not to introduce any other references.
There is an MsBuild script (NUnit.proj) that can do builds as well as running tests
and packaging releases. It can be run under MsBuild or XBuild. The most important
targets are CleanAll, BuildAll, TestAll and Package. For other targets, please
refer to the script itself.
To create a new release:
* Update CHANGES.txt with the latest changes.
* Update NUnit.proj to specify the release version and suffix using property definitions
near the start of the script.
* Use Visual Studio 2012 or higher to rebuild everything for the Release configuration.
(The NUnit.proj script currently does not build everything due to a bug.)
* Retest the build using 'build NUnit.proj /t:TestAll /p:Configuration=Release'
* Use Visual Studio 2008 to rebuild the nunitCF solution and test manually using an emulator.
* Run 'build NUnit.proj /t:Package /p:Configuration=Release' to create packages
* Create the release on GitHub and upload the binary zip, source zip and three NuGet packages.
* Upload the three NuGet packages to NuGet.org.