-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.proj
116 lines (95 loc) · 5 KB
/
build.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
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0"
DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)src\.build\MSBuild.Community.Tasks.dll" TaskName="NUnit"/>
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)src\.build\MSBuild.Community.Tasks.dll" TaskName="Time"/>
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)src\.build\MSBuild.Community.Tasks.dll" TaskName="AssemblyInfo"/>
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)src\.build\MSBuild.Community.Tasks.dll" TaskName="Attrib"/>
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)src\.build\MSBuild.Community.Tasks.dll" TaskName="Zip"/>
<Import Project="$(MSBuildThisFileDirectory)src\.build\MSBuild.Community.Tasks.targets"/>
<PropertyGroup>
<OutDir Condition=" '$(OutDir)'=='' ">$(MSBuildThisFileDirectory)build\PhotoTimeSync\</OutDir>
<Configuration Condition=" '$(Configuration)'=='' ">Release</Configuration>
<SourceHome Condition=" '$(SourceHome)'=='' ">$(MSBuildThisFileDirectory)src\</SourceHome>
<ToolsHome Condition=" '$(ToolsHome)'=='' ">$(MSBuildThisFileDirectory)tools\</ToolsHome>
<NUnitResultsFile>$(OutDir)nunit-result.xml</NUnitResultsFile>
<PhotoTimeSyncRawBuildGUI Condition=" '$(PhotoTimeSyncRawBuildGUI)'=='' ">$(OutDir)PhotoTimeSyncGUI\</PhotoTimeSyncRawBuildGUI>
<PhotoTimeSyncPackages Condition=" '$(PhotoTimeSyncPackages)'=='' ">$(OutDir)Packages\</PhotoTimeSyncPackages>
<PhotoTimeSyncGUIInnoSetupScript Condition=" '$(PhotoTimeSyncGUIInnoSetupScript)'=='' ">$(MSBuildThisFileDirectory)PhotoTimeSyncPackage.iss</PhotoTimeSyncGUIInnoSetupScript>
</PropertyGroup>
<ItemGroup>
<Solution Include="$(SourceHome)*.sln">
<AdditionalProperties>Configuration=$(Configuration)</AdditionalProperties>
</Solution>
</ItemGroup>
<Target Name="Version">
<Time>
<Output TaskParameter="Year" PropertyName="Year" />
</Time>
<ItemGroup>
<AssemblyInfoFiles Include="**\AssemblyInfo.cs" />
</ItemGroup>
<Message Text="Version: $(versionnumber)"/>
<Attrib Files="%(AssemblyInfoFiles.FullPath)" ReadOnly="False" />
<AssemblyInfo OutputFile="%(AssemblyInfoFiles.FullPath)"
CodeLanguage="CS"
AssemblyCopyright="Copyright BenoitBeraud © $(Year). All rights reserved."
AssemblyTitle=""
AssemblyProduct="PhotoTimeSync"
AssemblyCompany="BenoitBeraud"
AssemblyConfiguration="$(BuildConfiguration)"
AssemblyVersion="$(versionnumber)"
AssemblyFileVersion="$(versionnumber)"
AssemblyInformationalVersion="$(versionnumber)" />
</Target>
<Target Name="RestorePackages">
<Exec Command=""$(ToolsHome)NuGet.exe" restore "%(Solution.Identity)"" />
</Target>
<Target Name="Clean">
<MSBuild Targets="Clean"
Projects="@(Solution)" />
</Target>
<Target Name="Build" DependsOnTargets="RestorePackages">
<MSBuild Targets="Build"
Projects="@(Solution)" />
</Target>
<Target Name="Rebuild" DependsOnTargets="RestorePackages">
<MSBuild Targets="Rebuild"
Projects="@(Solution)" />
</Target>
<Target Name="Jenkins">
<CallTarget Targets="Clean" />
<CallTarget Targets="Version" />
<CallTarget Targets="Rebuild" />
<CallTarget Targets="RunTests" />
<CallTarget Targets="Package-PhotoTimeSyncGUI" />
</Target>
<Target Name="RunTests">
<CreateItem Include="$(OutDir)Tests\**\*.Specs.dll">
<Output TaskParameter="Include" ItemName="TestAssembly" />
</CreateItem>
<NUnit Assemblies="@(TestAssembly)"
ToolPath="C:\Program Files (x86)\NUnit 2.6.3\bin"
OutputXmlFile="$(NUnitResultsFile)"
/>
</Target>
<Target Name="Package-PhotoTimeSyncGUI">
<CallTarget Targets="Package-PhotoTimeSyncGUI-MSI" />
<CallTarget Targets="Package-PhotoTimeSyncGUI-Zip" />
</Target>
<!-- Creates a MSI package for the GUI-->
<Target Name="Package-PhotoTimeSyncGUI-MSI">
<Exec Command=""$(ToolsHome)Innosetup\ISCC.exe" "$(PhotoTimeSyncGUIInnoSetupScript)" "/dSetupIconFile=$(MSBuildThisFileDirectory)logo\Phototimesync-Trans-Ico.ico" "/dBinariesFolder=$(PhotoTimeSyncRawBuildGUI)" "/dMyAppVersion=$(versionnumber)" "/dMyOutputBaseFilename=PhotoTimeSync-$(versionnumber)-setup" "/O$(PhotoTimeSyncPackages)"" />
</Target>
<!-- Creates a Zip file for the GUI-->
<Target Name="Package-PhotoTimeSyncGUI-Zip">
<ItemGroup>
<ZipLocalFiles Include="$(PhotoTimeSyncRawBuildGUI)\**\*.*" Exclude="*vshost.exe*" />
</ItemGroup>
<Zip Files="@(ZipLocalFiles)"
WorkingDirectory="$(PhotoTimeSyncRawBuildGUI)"
ZipFileName="$(PhotoTimeSyncPackages)PhotoTimeSync-$(versionnumber).zip"
ZipLevel="9" />
</Target>
</Project>