-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathbuild_test_publish.targets
67 lines (55 loc) · 2.5 KB
/
build_test_publish.targets
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
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
<SolutionProperties>
Platform=Any CPU;
Configuration=$(Configuration)
</SolutionProperties>
</PropertyGroup>
<Import Project=".\Build\MSBuild.Community.Tasks.Targets"/>
<ItemGroup>
<Solution Include=".\Emkay.S3.sln">
<Properties>$(SolutionProperties)</Properties>
</Solution>
</ItemGroup>
<Target Name="clean">
<Message Text="Cleaning output directories ..." />
<MSBuild Projects="@(Solution)" Targets="Clean" />
</Target>
<Target Name="update_version" Condition="'$(version)'!=''">
<Message Text="Updating version information to $(version) ($(hash))" />
<FileUpdate Files="$(SolutionDir)GlobalAssemblyInfo.cs"
Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)"
ReplacementText="$(version)" />
<FileUpdate Files="$(SolutionDir)GlobalAssemblyInfo.cs"
Regex="AssemblyInformationalVersion\(\"(\w+)\"\)]"
ReplacementText="AssemblyInformationalVersion("$(hash)")]" />
<FileUpdate Files=".\Emkay.S3\Emkay.S3.csproj.nuspec"
Regex="<version>(.*)</version>"
ReplacementText="<version>$(version)</version>" />
</Target>
<Target Name="build" DependsOnTargets="clean;update_version">
<Message Text="Building solution ..." />
<MSBuild Projects="@(Solution)"/>
</Target>
<Target Name="test">
<Message Text="Running tests ..." />
<ItemGroup>
<TestAssembly Include="**/bin/*/*.Tests.dll" />
</ItemGroup>
<Message Text="Running tests on @(TestAssembly) ..." />
<NUnit ToolPath=".\Tools\NUnit" DisableShadowCopy="true" Assemblies="@(TestAssembly)" />
</Target>
<Target Name="package" DependsOnTargets="build">
<Message Text="Cleaning old nuget artefacts"/>
<Exec Command="del *.nupkg"/>
<Message Text="Building project" />
<MSBuild Projects=".\Emkay.S3\Emkay.S3.csproj"/>
<Message Text="Running nuget ..." />
<Exec Command=".\Tools\NuGet\NuGet.exe pack .\Emkay.S3\Emkay.S3.csproj.nuspec -Prop Configuration=$(Configuration)"/>
</Target>
<Target Name="publish" DependsOnTargets="package">
<Exec Command=".\Tools\NuGet\NuGet.exe push Emkay*.nupkg $(nuget_api_key)"/>
</Target>
</Project>