summaryrefslogtreecommitdiffstats
path: root/build.proj
blob: 3214fd9dece33a595969e5813bfb25ce3c4ddd33 (plain)
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
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<Import Project="EnlistmentInfo.props" />
	<Import Project="$(MSBuildProjectDirectory)\tools\DotNetOpenAuth.automated.props"/>
	<Import Project="$(ProjectRoot)tools\Translation.targets"/>

	<ItemGroup>
		<!--Removed from NightlyProjects until it can be fixed up. samples\tools.proj;-->
		<NightlyProjects Include="
										nuget\nuget.proj;
										tools\drop.proj;
										 ">
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</NightlyProjects>
		<NightlyProjects Include="samples\samples.proj">
			<Targets>DeployableArchive</Targets>
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</NightlyProjects>
		<NightlyProjects Include="doc\doc.proj">
			<Targets>DeployableArchive</Targets>
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</NightlyProjects>

		<ProjectsToClean Include="
		                          $(SolutionPath);
		                          samples\samples.proj;
		                          ">
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</ProjectsToClean>
		<ProjectsToClean Include="doc\doc.proj">
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</ProjectsToClean>

		<DirectoriesToClean Include="
			                           $(ProjectRoot)bin;
			                           $(ProjectRoot)**\obj;
			                           $(DropsRoot);
			                           $(ProjectRoot)src\PrecompiledWeb;
			                           " />
		<FilesToClean Include="
		                     $(ProjectRoot)**\*~;
		                     $(ProjectRoot)**\*.log*;
		                     $(ProjectRoot)doc\$(ProductName).chm;
		                     " />

		<ProjectsToPublish Include="doc\doc.proj">
			<Targets>Publish</Targets>
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</ProjectsToPublish>
		<ProjectsToPublish Include="samples\samples.proj">
			<Targets>Publish</Targets>
			<Properties>TargetFrameworkVersion=v4.5</Properties>
		</ProjectsToPublish>
	</ItemGroup>

	<Target Name="BuildTests">
		<MSBuild Projects="$(SolutionPath)" Targets="@(TestProjects)" BuildInParallel="$(BuildInParallel)" />
	</Target>

	<Target Name="Build">
		<MSBuild Projects="$(SolutionPath)" BuildInParallel="$(BuildInParallel)" />
	</Target>

	<Target Name="Rebuild">
		<MSBuild Projects="$(SolutionPath)" Targets="Rebuild" BuildInParallel="$(BuildInParallel)" />
	</Target>

	<Target Name="Test" DependsOnTargets="BuildTests"
	        Inputs="$(OutputPath)$(ProductName).dll;@(TestAssemblies)"
	        Outputs='$(OutputPath)Test-result.xml'>
		<PropertyGroup>
			<!-- Performance tests are only expected to pass in optimized builds. -->
			<NUnitExcludeCategories Condition=" '$(Configuration)' != 'Release' ">Performance</NUnitExcludeCategories>
		</PropertyGroup>
		<NUnit Assemblies="@(TestAssemblies)"
		       ToolPath="$(NUnitToolPath)"
		       OutputXmlFile="$(OutputPath)Test-result.xml"
		       ExcludeCategory="$(NUnitExcludeCategories)" />
	</Target>

	<Target Name="Nightly">
		<MSBuild Projects="@(NightlyProjects)" Targets="%(NightlyProjects.Targets)" BuildInParallel="$(BuildInParallel)" Properties="%(NightlyProjects.Properties)" />
	</Target>

	<Target Name="Publish">
		<MSBuild Projects="@(ProjectsToPublish)"
						 Targets="%(ProjectsToPublish.Targets)"
						 Properties="%(ProjectsToPublish.Properties)"
						 BuildInParallel="$(BuildInParallel)" />
	</Target>

	<Import Project="$(ProjectRoot)tools\DotNetOpenAuth.automated.targets"/>
	<Import Project="EnlistmentInfo.targets" />
</Project>