Newer
Older
<Project DefaultTargets = "Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<!--<Target Name="VersionMessage" AfterTargets="build">
<Message Text="$(AssemblyName) -> $(Version)" importance="high"/>
</Target>-->
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
<UsingTask TaskName="Zip" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<OutputFilename ParameterType="System.String" Required="true" />
<Files ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
<SourcePath ParameterType="System.String" Required="true"/>
<DestinationPath ParameterType="System.String" Required="true"/>
</ParameterGroup>
<Task>
<Reference Include="System.IO.Compression" />
<Using Namespace="System.IO.Compression" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try
{
using (Stream zipStream = new FileStream(Path.GetFullPath(OutputFilename), FileMode.Create, FileAccess.Write))
using (ZipArchive archive = new ZipArchive(zipStream, ZipArchiveMode.Create))
{
foreach (ITaskItem fileItem in Files)
{
string filename = fileItem.ItemSpec;
using (Stream fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read))
using (Stream fileStreamInZip = archive.CreateEntry(fileItem.ItemSpec.Replace(SourcePath, DestinationPath)).Open())
fileStream.CopyTo(fileStreamInZip);
}
}
return true;
}
catch (Exception ex)
{
Log.LogErrorFromException(ex);
return false;
}
]]>
</Code>
</Task>
</UsingTask>
<Target Name="GenerateReleasenotesPDF" BeforeTargets="AfterBuild" Condition="$(Configuration) == 'Deploy'">
<Message Text="Generating Release Notes PDF"/>
<Exec Command="cscript "$(solutiondir)documentation\user manual source\convertpptxtopdf.vbs" "$(solutiondir)documentation\user manual source\release notes vecto3.x.pptx" "$(solutiondir)documentation\user manual source\release notes vecto3.x.pdf""/>
</Target>
<!--
<Target Name="GenerateHelpHTML" BeforeTargets="AfterBuild" Condition="$(Configuration) == 'Deploy'">
<Message Text="Generating Help"/>
<Exec Command=""$(solutiondir)documentation\user manual\convert.bat"" WorkingDirectory="$(solutiondir)documentation\user manual"/>
<Exec Command=""$(solutiondir)documentation\VectoHashingTool\convert.bat"" WorkingDirectory="$(solutiondir)documentation\VectoHashingTool"/>
</Target>
-->
<Target Name="AfterBuild" Condition="$(Configuration) == 'Deploy'">
<ItemGroup>
<VectoCoreAssembly Include="$(OutputPath)VectoCore.dll" />
<VectoCommandLine Include="$(SolutionDir)VectoConsole\bin\Release\net45\vectocmd.exe*"/>
<GenericVehicles Include="$(SolutionDir)Generic Vehicles\**\*.*" Exclude="$(SolutionDir)**\*.vmod;$(SolutionDir)**\*.vsum;$(SolutionDir)**\*RSLT_*.xml;$(SolutionDir)**\*.pdf"/>
<MissionProfiles Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.csv" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.vacc" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.apac" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.aenv" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.aaux" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.ahsm" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.acmp" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<DeclarationData Include="$(SolutionDir)VectoCore\VectoCore\Resources\Declaration\**/*.vmap" Exclude="$(SolutionDir)**\MissionCycles\**\*.*"/>
<VectoXSD Include="$(SolutionDir)VectoCore\VectoCore\Resources\XSD\**\*.*" Exclude="$(SolutionDir)**\*Engineering*"/>
<VectoXMLExamples Include="$(SolutionDir)VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\*-sample.xml"/>
<UserManual Include="$(SolutionDir)Documentation\User Manual\help.html"/>
<UserManual Include="$(SolutionDir)Documentation\VectoHashingTool\HashingToolHelp.html"/>
<UserManual Include="$(SolutionDir)Documentation\XML\*.png"/>
<UserManual Include="$(SolutionDir)Documentation\XML\VectoParameters.html"/>
<UserManual Include="$(SolutionDir)Documentation\User Manual Source\JIRA Quick Start Guide.pdf"/>
<UserManual Include="$(SolutionDir)Documentation\Cdv_Generator_VECTO3.2.xlsx"/>
<ReleaseNotes Include="$(SolutionDir)Documentation\User Manual Source\Release Notes Vecto3.x.pdf"/>
<HashingTool Include="$(SolutionDir)HashingTool\bin\Release\net45\HashingTool.exe"/>
<HashingTool Include="$(SolutionDir)HashingCmd\bin\Release\net45\hashingcmd.exe"/>
<VectoConfigurationSample Include="$(SolutionDir)VECTO\install.ini"/>
<VectoMultistage Include="$(SolutionDir)VECTO3GUI2020\bin\Release\net5.0-windows\VECTOMultistage.exe*"/>
<VectoMultistage Include="$(SolutionDir)VECTO3GUI2020\bin\Release\net5.0-windows\*.dll"/>
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
</ItemGroup>
<Message Text="@(VectoCommandLine)"/>
<Copy SourceFiles="@(VectoCommandLine)" DestinationFolder="$(OutputPath)"/>
<Copy SourceFiles="@(VectoMultistage)" DestinationFolder="$(OutputPath)"/>
<Copy SourceFiles="@(HashingTool)" DestinationFolder="$(OutputPath)"/>
<Copy SourceFiles="@(GenericVehicles)" DestinationFiles="@(GenericVehicles->'$(OutputPath)\Generic Vehicles\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(DeclarationData)" DestinationFolder="$(OutputPath)\Declaration" />
<Copy SourceFiles="@(MissionProfiles)" DestinationFolder="$(OutputPath)\Mission Profiles" />
<Copy SourceFiles="@(VectoXMLExamples)" DestinationFolder="$(OutputPath)\XML\Examples" />
<Copy SourceFiles="@(VectoXSD)" DestinationFolder="$(OutputPath)\XML\XSD" />
<Copy SourceFiles="@(UserManual)" DestinationFolder="$(OutputPath)\User Manual" />
<Copy SourceFiles="@(ReleaseNotes)" DestinationFiles="$(OutputPath)\User Manual\Release Notes.pdf" />
<Copy SourceFiles="@(VectoConfigurationSample)" DestinationFolder="$(OutputPath)"/>
<Copy SourceFiles="$(SolutionDir)\Documentation\User Manual Source\README for Mission Profiles Directory.txt" DestinationFiles="$(OutputPath)\Mission Profiles\!! README !!.TXT"/>
<Copy SourceFiles="$(SolutionDir)\Documentation\User Manual Source\README for Declaration Directory.txt" DestinationFiles="$(OutputPath)\Declaration\!! README !!.TXT"/>
<ItemGroup>
<ZipFiles Include="$(OutputPath)Declaration\**\*.*" />
<ZipFiles Include="$(OutputPath)Generic Vehicles\**\*.*" />
<ZipFiles Include="$(OutputPath)Mission Profiles\**\*.*" />
<ZipFiles Include="$(OutputPath)User Manual\**\*.*" />
<ZipFiles Include="$(OutputPath)XML\**\*.*" />
</ItemGroup>
<GetAssemblyIdentity AssemblyFiles="@(VectoCoreAssembly)">
<Output TaskParameter="Assemblies" ItemName="VectoAssemblyIdentities" />
</GetAssemblyIdentity>
<ItemGroup>
<ZipFiles Include="$(OutputPath)*.dll" />
<ZipFiles Include="$(OutputPath)*.ini" />
<ZipFiles Include="$(OutputPath)VECTO.exe*" />
<ZipFiles Include="$(OutputPath)VECTOMultistage.exe*" />
<ZipFiles Include="$(OutputPath)vectocmd.exe*"/>
<!-- <ZipFiles Include="$(OutputPath)VECTO3.exe*" /> -->
<ZipFiles Include="$(OutputPath)HashingTool.exe*"/>
<ZipFiles Include="$(OutputPath)hashingcmd.exe*"/>
</ItemGroup>
<PropertyGroup>
<CurrentDate>$([System.DateTime]::Now.ToString(yyy_MM_dd))</CurrentDate>
</PropertyGroup>
<Message Text="Creating ZIP, CurrentDate: $(CurrentDate)"/>
<Zip OutputFilename="$(SolutionDir)$(CurrentDate)-VECTO-%(VectoAssemblyIdentities.Version)-$(TargetFramework).zip" Files="@(ZipFiles)" SourcePath="$(OutputPath)" DestinationPath="$(CurrentDate)-VECTO-%(VectoAssemblyIdentities.Version)\"/>
<Target Name="CleanVectoDeploy" AfterTargets="AfterClean">
<ItemGroup>
<CustomFilesToClean Include="$(OutputPath)Declaration\**\*.*" />
<CustomFilesToClean Include="$(OutputPath)Generic Vehicles\**\*.*" />
<CustomFilesToClean Include="$(OutputPath)Mission Profiles\**\*.*" />
<CustomFilesToClean Include="$(OutputPath)User Manual\**\*.*" />
<CustomFilesToClean Include="$(OutputPath)XML\**\*.*" />
<CustomFoldersToClean Include="%(CustomFilesToClean.RootDir)%(CustomFilesToClean.Directory)"/>
</ItemGroup>
<!-- <Message Text="@(CustomFilesToClean)" Importance="normal"/> -->
<!-- <Message Text="@(CustomFoldersToClean)" Importance="normal"/> -->
<Delete Files="@CustomFilesToClean"/>
<RemoveDir Directories="@(CustomFoldersToClean)"/>
</Target>