This repository has been archived by the owner on Oct 26, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathaoia.proj
127 lines (113 loc) · 4.92 KB
/
aoia.proj
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
121
122
123
124
125
126
127
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="prepare_build;build">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<Import Project="$(MSBuildExtensionsPath)\MSBuildTeamCityTasks\MSBuild.TeamCity.Tasks.Targets"/>
<Target Name="clean">
<Message Text="Cleaning" />
<MSBuild
Projects="ItemAssistant.sln"
Properties="Configuration=Release"
Targets="Clean" />
</Target>
<Target Name="prepare_build">
<Message Text="Preparing" />
<ItemGroup>
<OldOutputFiles Include="Release/*.zip" />
<OldOutputFiles Include="ItemAssistantInstaller/*.exe" />
</ItemGroup>
<Delete Files="@(OldOutputFiles)" />
</Target>
<Target Name="get_official_repo_version" Condition=" '$(OFFICIAL)' != '' ">
<Exec Command="hg log -r tip --template {latesttag}.0 > $(Temp)\version.txt"/>
<ReadLinesFromFile File="$(Temp)\version.txt">
<Output TaskParameter="Lines" PropertyName="Version"/>
</ReadLinesFromFile>
<Message Text="Repository Version: $(Version)" />
<BuildNumber Number="$(Version)-{build.number}" />
</Target>
<Target Name="get_repo_version" Condition=" '$(OFFICIAL)' == '' ">
<Exec Command="hg log -r tip --template {latesttag}.{latesttagdistance} > $(Temp)\version.txt"/>
<ReadLinesFromFile File="$(Temp)\version.txt">
<Output TaskParameter="Lines" PropertyName="Version"/>
</ReadLinesFromFile>
<Message Text="Repository Version: $(Version)" />
<BuildNumber Number="$(Version)-{build.number}" />
</Target>
<Target Name="get_version" DependsOnTargets="get_official_repo_version;get_repo_version">
<Message Text="Official switch: $(OFFICIAL)" />
</Target>
<Target Name="update_version_resource" DependsOnTargets="get_version">
<Message Text="Updating Version Resource" />
<ItemGroup>
<ResourceFile Include="ItemAssistant/*.rc" />
</ItemGroup>
<FileUpdate Files="@(ResourceFile)"
Encoding="ASCII"
Regex="VERSION +\d+, ?\d+, ?\d+, ?\d+"
ReplacementText="VERSION $(Version)" />
<FileUpdate Files="@(ResourceFile)"
Encoding="ASCII"
Regex="VERSION (\d+)\.(\d+)\.(\d+)\.(\d+)"
ReplacementText="VERSION $1,$2,$3,$4" />
<FileUpdate Files="@(ResourceFile)"
Encoding="ASCII"
Regex=""\d+, ?\d+, ?\d+, ?\d+""
ReplacementText=""$(Version)"" />
<FileUpdate Files="@(ResourceFile)"
Encoding="ASCII"
Regex=""(\d+)\.(\d+)\.(\d+)\.(\d+)""
ReplacementText=""$1, $2, $3, $4"" />
</Target>
<Target Name="update_version" DependsOnTargets="get_version">
<Message Text="Updating Version" />
<ItemGroup>
<VersionFile Include="ItemAssistant/Version.h" />
</ItemGroup>
<WriteLinesToFile
File="@(VersionFile)"
Lines="#pragma once;;const std::tstring g_versionNumber = _T("$(Version)")%3b;"
Overwrite="true" />
</Target>
<Target Name="build">
<Message Text="Building" />
<MSBuild
Projects="ItemAssistant.sln"
Properties="Configuration=Release"
Targets="Rebuild" />
</Target>
<Target Name="test">
<Message Text="Testing" />
<RunGoogleTests TestExePath="Release/ParsersTests.exe" />
<RunGoogleTests TestExePath="Release/csvexporttests.exe" />
</Target>
<Target Name="package_pdb">
<ItemGroup>
<PdbFiles Include="**/*.pdb" />
</ItemGroup>
<Zip
Files="@(PdbFiles)"
WorkingDirectory="Release"
ZipFileName="Release/ItemAssistant-PDB-$(Version).zip"
Flatten="true"
/>
</Target>
<Target Name="package" DependsOnTargets="prepare_build;update_version;update_version_resource;build;package_pdb">
<Message Text="Packaging" />
<ItemGroup>
<Files Include="Release/ItemAssistant.exe" />
<Files Include="Release/ItemAssistantCore.dll" />
<Files Include="Release/ItemAssistantHook.dll" />
<Files Include="Release/README.txt" />
<Files Include="$(VS100COMNTOOLS)..\..\VC\redist\x86\Microsoft.VC100.CRT\*.dll" />
</ItemGroup>
<Zip
Files="@(Files)"
WorkingDirectory="Release"
ZipFileName="Release/ItemAssistant-$(Version).zip"
Flatten="true"
/>
</Target>
<Target Name="installer">
<Exec command=""$(NSISDIR)\makensis.exe" /DBUILD_NUMBER=$(Version) aoia_installer.nsi" WorkingDirectory="ItemAssistantInstaller" />
</Target>
</Project>