Newer
Older

Markus Quaritsch
committed
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
<Project DefaultTargets = "Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<CleanDependsOn>
$(CleanDependsOn)
CleanVectoDeploy
</CleanDependsOn>
</PropertyGroup>
<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"/>

Markus Quaritsch
committed
<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'">

Markus Quaritsch
committed
<Exec Command=""$(solutiondir)documentation\user manual\convert.bat"" WorkingDirectory="$(solutiondir)documentation\user manual"/>
<Exec Command=""$(solutiondir)documentation\VectoHashingTool\convert.bat"" WorkingDirectory="$(solutiondir)documentation\VectoHashingTool"/>

Markus Quaritsch
committed
</Target>
<Target Name="BeforeBuild" Condition="$(Configuration) == 'Deploy' OR $(Configuration) == 'Release'">
<ItemGroup>
<VersionTemplates Include="$(SolutionDir)**\Version.tt"/>
</ItemGroup>
<Exec Command=""C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\TextTransform.exe" "%(VersionTemplates.Identity)""/>

Markus Quaritsch
committed
</Target>
<Target Name="AfterBuild" Condition="$(Configuration) == 'Deploy'">
<ItemGroup>
<VectoCoreAssembly Include="$(OutputPath)VectoCore.dll" />
<VectoCommandLine Include="$(SolutionDir)VectoConsole\bin\Deploy\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\**\*.*"/>
<VectoXSD Include="$(SolutionDir)VectoCore\VectoCore\Resources\XSD\**\*.*" Exclude="$(SolutionDir)**\*Engineering*"/>
<VectoXMLExamples Include="$(SolutionDir)VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\*-sample.xml"/>

Markus Quaritsch
committed
<UserManual Include="$(SolutionDir)Documentation\User Manual\help.html"/>
<UserManual Include="$(SolutionDir)Documentation\VectoHashingTool\HashingToolHelp.html"/>

Markus Quaritsch
committed
<UserManual Include="$(SolutionDir)Documentation\XML\*.pdf"/>
<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\Deploy\HashingTool.exe"/>
<HashingTool Include="$(SolutionDir)VectoCommon\VectoHashing\bin\Deploy\VectoHashing.XML"/>
<HashingTool Include="$(SolutionDir)HashingCmd\bin\Deploy\hashingcmd.exe"/>

Markus Quaritsch
committed
</ItemGroup>
<Message Text="@(VectoCommandLine)"/>
<Copy SourceFiles="@(VectoCommandLine)" DestinationFolder="$(OutputPath)"/>
<Copy SourceFiles="@(HashingTool)" DestinationFolder="$(OutputPath)"/>

Markus Quaritsch
committed
<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="$(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)VECTO.exe*" />
<ZipFiles Include="$(OutputPath)vectocmd.exe*"/>
<ZipFiles Include="$(OutputPath)HashingTool.exe*"/>
<ZipFiles Include="$(OutputPath)hashingcmd.exe*"/>

Markus Quaritsch
committed
</ItemGroup>
<PropertyGroup>
<CurrentDate>$([System.DateTime]::Now.ToString(yyy_MM_dd))</CurrentDate>
</PropertyGroup>
<Message Text="Creating ZIP, CurrentDate: $(CurrentDate)"/>
<Zip OutputFilename="$(OutputPath)$(CurrentDate)-VECTO-%(VectoAssemblyIdentities.Version).zip" Files="@(ZipFiles)" SourcePath="$(OutputPath)" DestinationPath="$(CurrentDate)-VECTO-%(VectoAssemblyIdentities.Version)\"/>

Markus Quaritsch
committed
</Target>
<Target Name="CleanVectoDeploy" Condition="$(Configuration) == 'Deploy'">
<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"/> -->

Markus Quaritsch
committed
<Delete Files="@CustomFilesToClean"/>
<RemoveDir Directories="@(CustomFoldersToClean)"/>
</Target>
</Project>