aboutsummaryrefslogblamecommitdiff
path: root/build/Common.targets
blob: 067bb28cfb0df125692b670b2320872fad06a221 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                      
 







                                                                                                                    










                                                                                                                                                                     

                 



                                                                                                                                                                                




                                                                                                                              
                                                                                                                                                                                                                 

                 

















                                                                                                                                                                                 
         
<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

	<Target Name="_Clean">
		<RemoveDir Directories="@(WorkingDirectories)" Condition="Exists(%(WorkingDirectories.Identity))" />
		<MakeDir Directories="@(WorkingDirectories)" />
	</Target>

	<Target Name="_Compile" DependsOnTargets="_Clean">
		<MSBuild Projects="$(SolutionFile)" Properties="Configuration=$(BuildConfiguration)" BuildInParallel="true" />
	</Target>

	<Target Name="_GenerateSource">
		<PropertyGroup>
			<ProtosList>@(Protos)</ProtosList>
			<Args>$(ProtosList.Replace(`;`,` `))</Args>
		</PropertyGroup>

		<Exec Command="$(ProtocExePath) --proto_path=$(ProtosDirectory) --descriptor_set_out=compiled.pb $(Args)" WorkingDirectory="$(BuildTempDirectory)" />
		<Exec Command="$(ProtogenExePath) compiled.pb" WorkingDirectory="$(BuildTempDirectory)" />
	</Target>

	<Target Name="_CopyGeneratedSource" DependsOnTargets="_GenerateSource">
		<Copy SourceFiles="%(GeneratedSource.Identity)" DestinationFiles="%(GeneratedSource.TargetDirectory)\%(GeneratedSource.Filename)%(GeneratedSource.Extension)" />
	</Target>

	<Target Name="_CompileGeneratedSource" DependsOnTargets="_CopyGeneratedSource">
		<MSBuild Projects="$(SolutionFile)" Properties="Configuration=$(BuildConfiguration)" BuildInParallel="true" />
	</Target>

	<Target Name="_Test" DependsOnTargets="_CompileGeneratedSource">
		<Exec Command="&quot;E:\dotnet-protobufs\lib\NUnit 2.2.8.0\nunit-console.exe&quot; %(TestContainer.Identity) /xml:$(BuildOutputDirectory)\%(TestContainer.Filename).$(BuildConfiguration).xml" />
	</Target>

	<Target Name="_PreparePackageComponent">
		<Copy SourceFiles="@(DynamicPackageItem)" DestinationFolder="$(BuildOutputDirectory)\%(DynamicPackageItem.TargetDirectory)\%(DynamicPackageItem.RecursiveDir)" />
	</Target>

	<Target Name="_GeneratePackage">
		<ItemGroup><ExistingArchives Include="$(BuildOutputDirectory)\*.zip" /></ItemGroup>
		<Delete Files="@(ExistingArchives)" />

		<Copy SourceFiles="@(StaticPackageItem)" DestinationFolder="$(BuildOutputDirectory)\%(StaticPackageItem.TargetDirectory)\%(StaticPackageItem.RecursiveDir)" />
		<Exec Command="&quot;E:\dotnet-protobufs\lib\7-Zip 9.20\7za.exe&quot; a -tzip $(PackageName) * -r" WorkingDirectory="$(BuildOutputDirectory)" />

		<ItemGroup><DirectoriesToDelete Include="$([System.IO.Directory]::GetDirectories('$(BuildOutputDirectory)'))" /></ItemGroup>
		<ItemGroup><FilesToDelete Include="$(BuildOutputDirectory)\**\*.*" Exclude="$(BuildOutputDirectory)\$(PackageName)" /></ItemGroup>
		
		<Delete Files="@(FilesToDelete)" />
		<RemoveDir Directories="@(DirectoriesToDelete)" ContinueOnError="true" />
	</Target>

</Project>