forked from TestStack/TestStack.BDDfy
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTestStack.BDDfy.build
120 lines (102 loc) · 5.77 KB
/
TestStack.BDDfy.build
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="Release" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="Resource\Build\MSBuild.Community.Tasks.targets" />
<!-- Main build entry file (extends development builds)-->
<PropertyGroup>
<!--
Primary configuration properties (override them via command line
if needed
-->
<BuildPath Condition="$(BuildPath)==''">$(MSBuildProjectDirectory)\Build</BuildPath>
<Configuration Condition="$(Configuration)==''">Release</Configuration>
<BuildFramework></BuildFramework>
<PackageDirectory Condition="$(PackageDirectory)==''">$(BuildPath)\_Package</PackageDirectory>
<Version Condition="$(Version)==''">0.0.0.0</Version>
<AllowPartiallyTrustedCallers Condition="$(AllowPartiallyTrustedCallers)==''">true</AllowPartiallyTrustedCallers>
<!--
Derived configuration properties
-->
<TestPath>$(BuildPath)\Test</TestPath>
<LibraryPath>$(BuildPath)\Library</LibraryPath>
<LicensePath>$(BuildPath)\License</LicensePath>
<LibrarySource>TestStack.BDDfy\bin\$(Configuration)</LibrarySource>
<SourceExclusions>**\.svn\**\*.*;**\_svn\**\*.*;**\*.user;**\*.suo;**\*.db;**\bin\**\*.*;**\obj\**\*.*;</SourceExclusions>
<ProjectName>$(MSBuildProjectName)</ProjectName>
</PropertyGroup>
<!--Default-->
<PropertyGroup Condition="$(BuildFramework)=='' or $(BuildFramework)=='NET40'">
<PackageName>$(ProjectName)-$(Version)-NET40</PackageName>
<BuildConstants>NET40;TRACE</BuildConstants>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup>
<!--
Solution redirects. Every VS project normally knows how to support these targets
-->
<Target Name="Build">
<MSBuild Projects="Samples\TestStack.BDDfy.Samples\TestStack.BDDfy.Samples.csproj" Targets="Build" Properties="Configuration=$(Configuration)$(BuildFramework);DefineConstants=$(BuildConstants);MSBuildTargets=$(BuildTargets);nowarn=1685"/>
<MSBuild Projects="TestStack.BDDfy.Tests\TestStack.BDDfy.Tests.csproj" Targets="Build" Properties="Configuration=$(Configuration)$(BuildFramework);DefineConstants=$(BuildConstants);MSBuildTargets=$(BuildTargets);nowarn=1685"/>
<MSBuild Projects="TestStack.BDDfy\TestStack.BDDfy.csproj" Targets="Build" Properties="Configuration=$(Configuration)$(BuildFramework);DefineConstants=$(BuildConstants);MSBuildTargets=$(BuildTargets);TargetFrameworkVersion=$(TargetFrameworkVersion);TargetFrameworkProfile=$(TargetFrameworkProfile)"/>
</Target>
<Target Name="Clean">
<MSBuild Projects="$(ProjectName).sln" Targets="Clean" Properties="Configuration=$(Configuration)$(BuildFramework);DefineConstants=$(BuildConstants);MSBuildTargets=$(BuildTargets);TargetFrameworkVersion=$(TargetFrameworkVersion)" />
<CreateItem Include="**/Debug/**/*.*;**/Release/**/*.*">
<Output ItemName="_binaryFiles" TaskParameter="Include"/>
</CreateItem>
<Delete Files="@(_binaryFiles)" TreatErrorsAsWarnings="true"/>
<RemoveDir Directories="$(BuildPath)" />
</Target>
<Target Name="Rebuild" DependsOnTargets="Clean;Build;" />
<Target Name="Integrate" DependsOnTargets="Clean;Test" />
<Target Name="Release" DependsOnTargets="Clean;Build;Test;Distrib" />
<!--
Copies built items to the distrib directory
-->
<Target Name="Copy" DependsOnTargets="Build">
<MakeDir Directories="$(BuildPath);"/>
<!--Libraries-->
<CreateItem
Include="$(LibrarySource)\*.dll;$(LibrarySource)\*.xml;">
<Output ItemName="unmergedFiles" TaskParameter="Include"/>
</CreateItem>
<Copy SourceFiles="@(unmergedFiles)" DestinationFolder="$(LibraryPath)" />
<!--All Tests-->
<CreateItem Include="TestStack.BDDfy.Tests\bin\$(Configuration)\*.*">
<Output ItemName="TestFiles" TaskParameter="Include"/>
</CreateItem>
<Copy SourceFiles="@(TestFiles)" DestinationFolder="$(TestPath)" />
<!--Sample Tests-->
<CreateItem Include="Samples\TestStack.BDDfy.Samples\bin\$(Configuration)\*.*">
<Output ItemName="SampleFiles" TaskParameter="Include"/>
</CreateItem>
<Copy SourceFiles="@(SampleFiles)" DestinationFolder="$(TestPath)" />
<!--Licenses-->
<CreateItem Include="*License.txt">
<Output ItemName="licenseFiles" TaskParameter="Include"/>
</CreateItem>
<Copy SourceFiles="@(licenseFiles)" DestinationFolder="$(LicensePath)" />
</Target>
<Target Name="Test" DependsOnTargets="Build;Copy">
<PropertyGroup>
<NUnitHome>$(MSBuildProjectDirectory)\packages\NUnit.Runners.2.6.2\tools\</NUnitHome>
<NUnitConsole>$(NUnitHome)nunit-console.exe</NUnitConsole>
</PropertyGroup>
<ItemGroup>
<NUnitAddinFiles Include="$(teamcity_dotnet_nunitaddin)-2.6.2.*" />
</ItemGroup>
<Exec Command="$(MSBuildProjectDirectory)\.nuget\nuget.exe install "$(MSBuildProjectDirectory)\.nuget\packages.config" -o "$(MSBuildProjectDirectory)\packages"" />
<MakeDir Directories="$(NUnitHome)addins" />
<Copy SourceFiles="@(NUnitAddinFiles)" DestinationFolder="$(NUnitHome)addins" />
<CreateItem Include="$(TestPath)\TestStack.BDDfy.Tests.dll;$(TestPath)\TestStack.BDDfy.Samples.dll">
<Output ItemName="_testFiles" TaskParameter="Include"/>
</CreateItem>
<Exec Command=""$(NUnitConsole)" @(_testFiles->'"%(FullPath)"', ' ') /nologo /noshadow"></Exec>
</Target>
<Target Name="Distrib" DependsOnTargets="Clean;Build;Copy">
<MakeDir Directories="$(PackageDirectory)" />
<!-- Archive-->
<CreateItem Include="$(LibraryPath)\TestStack.BDDfy*.*;$(LicensePath)\*.*">
<Output ItemName="_libFiles" TaskParameter="Include" />
</CreateItem>
<Zip Files="@(_libFiles)" ZipFileName="$(PackageDirectory)\$(PackageName).zip" Flatten="true" WorkingDirectory="$(BuildPath)" />
</Target>
</Project>