diff options
author | csharptest <roger@csharptest.net> | 2012-10-15 21:29:17 -0500 |
---|---|---|
committer | rogerk <devnull@localhost> | 2012-10-15 21:29:17 -0500 |
commit | 3c491937d30cf250e0324038065802889740bc36 (patch) | |
tree | f61eb1b641f782baa148069fc853458018930f01 /build | |
parent | 70cf2511627197ed38393f077c98e0827d588507 (diff) | |
download | protobuf-3c491937d30cf250e0324038065802889740bc36.tar.gz protobuf-3c491937d30cf250e0324038065802889740bc36.tar.bz2 protobuf-3c491937d30cf250e0324038065802889740bc36.zip |
Adding project templates and refactored build
Diffstat (limited to 'build')
-rw-r--r-- | build/Common.targets | 243 | ||||
-rw-r--r-- | build/build.csproj | 135 | ||||
-rw-r--r-- | build/target.csproj | 167 |
3 files changed, 299 insertions, 246 deletions
diff --git a/build/Common.targets b/build/Common.targets index 7682b19e..31f8550d 100644 --- a/build/Common.targets +++ b/build/Common.targets @@ -1,78 +1,71 @@ <?xml version="1.0" encoding="utf-8"?> - <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <!-- ********************************************************************************************** -Targets For FullBuild +Targets For Clean *********************************************************************************************** --> - <Target Name="_FullBuild" DependsOnTargets="_CleanOutputDirectory;_BuildProtoGen;_GenerateSource;_CopyGeneratedSource"> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;TargetVersion=NET20;BuildTools=3.5" Targets="_BuildAllConfigurations" /> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;TargetVersion=CF35;BuildTools=3.5" Targets="_BuildAllConfigurations" /> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;TargetVersion=SL40;BuildTools=4.0" Targets="_BuildAllConfigurations" /> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="" Targets="_CompletePackages" /> - </Target> + <Target Name="_CleanFolder"> + <Message Importance="normal" Text="Removing temporary directory '$(CleanFolderDirectory)'"/> + <Error Text="Can not remove empty directory name." Condition=" '$(CleanFolderDirectory)' == '' " /> - <Target Name="_BuildAllConfigurations"> - <!-- Release Package --> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;Platform=$(Platform);TargetVersion=$(TargetVersion);BuildTools=$(BuildTools);BuildConfiguration=Release" Targets="_BuildConfiguration" /> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;Platform=$(Platform);TargetVersion=$(TargetVersion);PackageName=Release-$(TargetVersion)" Targets="_GeneratePackage" /> - <!-- Full Package --> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;Platform=$(Platform);TargetVersion=$(TargetVersion);BuildTools=$(BuildTools);BuildConfiguration=Debug" Targets="_BuildConfiguration" /> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;Platform=$(Platform);TargetVersion=$(TargetVersion);PackageName=Full-$(TargetVersion)" Targets="_GeneratePackage" /> + <Exec WorkingDirectory="$(MSBuildProjectDirectory)" Condition="Exists($(CleanFolderDirectory))" Outputs="@(Ignore)" + Command="MOVE /Y "$(CleanFolderDirectory)" "$(CleanFolderDirectory)-deleted" > NUL" /> + + <RemoveDir Directories="$(CleanFolderDirectory)-deleted" Condition="Exists('$(CleanFolderDirectory)-deleted')" /> </Target> - <Target Name="_BuildConfiguration" DependsOnTargets="_ReportConfig;_Clean;_BuildSolution;_Test;_PreparePackageComponent" /> - - <Target Name="_ReportConfig"> - <Message Importance="high" Text=" - -Building $(BuildConfiguration) configuration for .NET Framework $(TargetVersion) $(Platform)" /> + <Target Name="_CleanTempOutput"> + <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="CleanFolderDirectory=%(TempBuildFolder.Identity);" Targets="_CleanFolder" /> + </Target> + + <Target Name="_CleanAll" DependsOnTargets="_CleanTempOutput"> + <MakeDir Directories="$(BuildTempDirectory)" /> + <MakeDir Directories="$(BuildOutputDirectory)" /> </Target> <!-- ********************************************************************************************** Targets For Build *********************************************************************************************** --> - <Target Name="_BuildSolution"> - <Message Text="Running $(SolutionTarget) $(BuildConfiguration) with $(BuildTools) on $(SolutionFile)" Importance="normal" /> - <MSBuild Targets="$(SolutionTarget)" Projects="$(SolutionFile)" ToolsVersion="$(BuildTools)" - Properties="Configuration=$(BuildConfiguration);Platform=$(Platform);TreatWarningsAsErrors=true;" - /> + <Target Name="_CompileAll"> + <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;" Targets="_BuildAllConfigurations" /> </Target> - <Target Name="_Clean"> - <RemoveDir Directories="@(WorkingDirectories)" Condition="Exists(%(WorkingDirectories.Identity))" /> - <MakeDir Directories="@(WorkingDirectories)" /> - - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Clean;BuildConfiguration=$(BuildConfiguration);Platform=$(Platform);TargetVersion=$(TargetVersion)" Targets="_BuildSolution" ContinueOnError="true" /> + <Target Name="_BuildAllConfigurations"> + <MSBuild Properties="TargetVersion=cf20;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=cf35;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=net20;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=net35;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=net40;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=sl20;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=sl30;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=sl40;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> + <MSBuild Properties="TargetVersion=pl40;Configuration=$(Configuration);Platform=$(Platform);" Targets="$(SolutionTarget)" Projects="$(MSBuildProjectDirectory)\target.csproj" /> </Target> - <Target Name="_Compile"> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;BuildConfiguration=$(BuildConfiguration);Platform=$(Platform);TargetVersion=$(TargetVersion)" Targets="_BuildSolution" /> - </Target> +<!-- ********************************************************************************************** +Targets For Tools +*********************************************************************************************** --> - <Target Name="Requires20"> - <Error Text="Must be run with TargetVersion=NET20" Condition=" '$(TargetVersion)' != 'NET20' " /> - </Target> + <Target Name="_BuildTools"> + + <MSBuild Targets="Build" ToolsVersion="3.5" Projects="$(ProjectDirectory)\src\ProtocolBuffers.sln" Properties="Configuration=Release;Platform=Any CPU;" /> + <Copy SourceFiles="%(ToolsOutputItem.Identity)" DestinationFolder="$(BuildOutputDirectory)\tools" /> - <Target Name="RequiresRelease"> - <Error Text="Must be run with BuildConfiguration=Release" Condition=" '$(BuildConfiguration)' != 'Release' " /> + <Copy SourceFiles="$(LibDirectory)\NUnit-config\nunit-console.v2.0.config" DestinationFiles="$(NUnitExePath).config" /> + <Exec + WorkingDirectory="%(ToolsTestContainer.RootDir)%(ToolsTestContainer.Directory)" + Command=""$(NUnitExePath)" /nologo /noshadow %(ToolsTestContainer.Identity) /xml:$(BuildTempDirectory)\%(ToolsTestContainer.Filename).xml" /> + </Target> - <!-- ********************************************************************************************** +<!-- ********************************************************************************************** Targets For GenerateSource *********************************************************************************************** --> - <Target Name="_BuildProtoGen"> - <MSBuild Targets="Rebuild" ToolsVersion="3.5" - Projects="$(ProjectDirectory)\src\ProtocolBuffers\ProtocolBuffers.csproj;$(ProjectDirectory)\src\ProtoGen\ProtoGen.csproj" - Properties="Step=_BuildProtoGen;Configuration=Release;Platform=AnyCPU;TargetFrameworkVersion=v2.0;DebugType=none;DocumentationFile=;TreatWarningsAsErrors=true;OutputPath=$(BuildOutputDirectory)\ProtoGen;" /> - </Target> - <Target Name="_CleanTempSource"> - <Message Importance="normal" Text="Cleaning source directory $(SourceTempDirectory)"/> - <RemoveDir Directories="$(SourceTempDirectory)" Condition="Exists($(SourceTempDirectory))" /> + <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="CleanFolderDirectory=$(SourceTempDirectory);" Targets="_CleanFolder" /> <MakeDir Directories="$(SourceTempDirectory)" /> </Target> @@ -87,166 +80,38 @@ Targets For GenerateSource </Target> <!-- ********************************************************************************************** -Targets For Test -*********************************************************************************************** --> - - <Target Name="_Test"> - <CallTarget Targets="_RunTests" /> - </Target> - - <Target Name="_RunTests"> - <!-- NUnit --> - <Copy SourceFiles="$(NUnitExeConfig)" DestinationFiles="$(NUnitExePath).config" /> - <Exec Condition="$(BuildConfiguration)=='Debug' or $(BuildConfiguration)=='Release'" - Command=""$(NUnitExePath)" /nologo /noshadow %(TestContainer.Identity) /xml:$(BuildTempDirectory)\%(TestContainer.Filename).xml" /> - <!-- StatLight --> - <Exec Condition="$(BuildConfiguration)=='Debug_Silverlight' or $(BuildConfiguration)=='Release_Silverlight'" - Command=""$(StatLightExePath)" -x %(StatLightTestContainer.Identity) --ReportOutputFileType=NUnit --ReportOutputFile=$(BuildTempDirectory)\%(StatLightTestContainer.Filename).xml" /> - </Target> - -<!-- ********************************************************************************************** Targets For Package *********************************************************************************************** --> - - <Target Name="_CleanOutputDirectory"> - <RemoveDir Directories="$(BuildOutputPackage)" ContinueOnError="true" /> - <RemoveDir Directories="$(BuildOutputDirectory)" ContinueOnError="true" /> - <MakeDir Directories="$(BuildOutputDirectory)" ContinueOnError="true" /> - </Target> - - <Target Name="_PreparePackageComponent"> - <Copy SourceFiles="@(DynamicPackageItem)" DestinationFolder="$(BuildOutputPackage)\$(BuildConfiguration)\$(TargetVersion)\%(DynamicPackageItem.TargetDirectory)\%(DynamicPackageItem.RecursiveDir)" /> + + <Target Name="_PackageAll"> + <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=_Publish;" Targets="_BuildAllConfigurations" /> </Target> <Target Name="_GeneratePackage"> <Copy SourceFiles="@(StaticPackageItem)" DestinationFolder="$(BuildOutputPackage)\%(StaticPackageItem.TargetDirectory)\%(StaticPackageItem.RecursiveDir)" /> - <Exec Command=""$(ZipExePath)" a -tzip ..\$(PackageName).zip * -r" WorkingDirectory="$(BuildOutputPackage)" /> + <Exec Command=""$(ZipExePath)" a -tzip ..\$(PackageName)-binaries.zip * -x!*.pdb -r" WorkingDirectory="$(BuildOutputPackage)" /> + <Exec Command=""$(ZipExePath)" a -tzip ..\$(PackageName)-symbols.zip * -r" WorkingDirectory="$(BuildOutputPackage)" /> </Target> - <Target Name="_CompletePackages"> - <ItemGroup> - <ReleasePackageItem Include="$(BuildOutputDirectory)\ProtoGen\*"> - <TargetDirectory>\Protoc</TargetDirectory> - </ReleasePackageItem> - <!-- RELEASE --> - <ReleasePackageItem Include="$(BuildOutputDirectory)\v2.0\Release\*"> - <TargetDirectory>\Release\v2.0</TargetDirectory> - </ReleasePackageItem> - <ReleasePackageItem Include="$(BuildOutputDirectory)\v2.0\Release_Silverlight\*"> - <TargetDirectory>\Release_Silverlight\v2.0</TargetDirectory> - </ReleasePackageItem> - <ReleasePackageItem Include="$(BuildOutputDirectory)\v3.5\Release\*"> - <TargetDirectory>\Release\v3.5</TargetDirectory> - </ReleasePackageItem> - <ReleasePackageItem Include="$(BuildOutputDirectory)\v3.5\Release_Silverlight\*"> - <TargetDirectory>\Release_Silverlight\v3.0</TargetDirectory> - </ReleasePackageItem> - <ReleasePackageItem Include="$(BuildOutputDirectory)\v4.0\Release\*"> - <TargetDirectory>\Release\v4.0</TargetDirectory> - </ReleasePackageItem> - <ReleasePackageItem Include="$(BuildOutputDirectory)\v4.0\Release_Silverlight\*"> - <TargetDirectory>\Release_Silverlight\v4.0</TargetDirectory> - </ReleasePackageItem> - <!-- DEBUG --> - <DebugPackageItem Include="$(BuildOutputDirectory)\v2.0\Debug\*"> - <TargetDirectory>\Debug\v2.0</TargetDirectory> - </DebugPackageItem> - <DebugPackageItem Include="$(BuildOutputDirectory)\v2.0\Debug_Silverlight\*"> - <TargetDirectory>\Debug_Silverlight\v2.0</TargetDirectory> - </DebugPackageItem> - <DebugPackageItem Include="$(BuildOutputDirectory)\v3.5\Debug\*"> - <TargetDirectory>\Debug\v3.5</TargetDirectory> - </DebugPackageItem> - <DebugPackageItem Include="$(BuildOutputDirectory)\v3.5\Debug_Silverlight\*"> - <TargetDirectory>\Debug_Silverlight\v3.0</TargetDirectory> - </DebugPackageItem> - <DebugPackageItem Include="$(BuildOutputDirectory)\v4.0\Debug\*"> - <TargetDirectory>\Debug\v4.0</TargetDirectory> - </DebugPackageItem> - <DebugPackageItem Include="$(BuildOutputDirectory)\v4.0\Debug_Silverlight\*"> - <TargetDirectory>\Debug_Silverlight\v4.0</TargetDirectory> - </DebugPackageItem> - </ItemGroup> - - <RemoveDir Directories="$(BuildOutputDirectory)\Release;$(BuildOutputDirectory)\Full" ContinueOnError="true" /> - <MakeDir Directories="$(BuildOutputDirectory)\Release;$(BuildOutputDirectory)\Full" ContinueOnError="true" /> - - <!-- Copy files for Release --> - <Copy SourceFiles="@(StaticPackageItem)" DestinationFolder="$(BuildOutputDirectory)\Release\%(StaticPackageItem.TargetDirectory)\%(StaticPackageItem.RecursiveDir)" /> - <Copy SourceFiles="@(ReleasePackageItem)" DestinationFolder="$(BuildOutputDirectory)\Release\%(ReleasePackageItem.TargetDirectory)\%(ReleasePackageItem.RecursiveDir)" /> - <Exec Command=""$(ZipExePath)" a -tzip $(BuildOutputDirectory)\release-binaries.zip * -r" WorkingDirectory="$(BuildOutputDirectory)\Release" /> - - <!-- Copy files for Debug --> - <Copy SourceFiles="@(StaticPackageItem)" DestinationFolder="$(BuildOutputDirectory)\Full\%(StaticPackageItem.TargetDirectory)\%(StaticPackageItem.RecursiveDir)" /> - <Copy SourceFiles="@(ReleasePackageItem)" DestinationFolder="$(BuildOutputDirectory)\Full\%(ReleasePackageItem.TargetDirectory)\%(ReleasePackageItem.RecursiveDir)" /> - <Copy SourceFiles="@(DebugPackageItem)" DestinationFolder="$(BuildOutputDirectory)\Full\%(DebugPackageItem.TargetDirectory)\%(DebugPackageItem.RecursiveDir)" /> - <Exec Command=""$(ZipExePath)" a -tzip $(BuildOutputDirectory)\full-binaries.zip * -r" WorkingDirectory="$(BuildOutputDirectory)\Full" /> - - </Target> - <!-- ********************************************************************************************** Targets For Benchmark *********************************************************************************************** --> - <Target Name="_GenerateBenchmarkSource"> - <PropertyGroup> - <Args>$(BenchmarkProtosDirectory)\google_size.proto $(BenchmarkProtosDirectory)\google_speed.proto</Args> - </PropertyGroup> - - <Exec Command="$(ProtocExePath) --proto_path=$(BenchmarkProtosDirectory);$(ProtosDirectory) --include_imports=compiled.pb --descriptor_set_out=compiled.pb $(Args)" WorkingDirectory="$(SourceTempDirectory)" /> - <Exec Command="$(ProtogenExePath) compiled.pb" WorkingDirectory="$(SourceTempDirectory)" /> - </Target> - - <Target Name="_CompileBenchmarkAssemblyInFramework20" Condition=" '$(MSBuildToolsVersion)' != '2.0' "> - <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="SolutionTarget=Rebuild;BuildConfiguration=$(BuildConfiguration);Platform=$(Platform)" - Targets="_CompileBenchmarkAssembly" ToolsVersion="2.0" /> - </Target> - - <Target Name="_CompileBenchmarkAssembly" DependsOnTargets="_GenerateBenchmarkSource"> - <Error Text="Must be run with Framework 2.0" Condition=" '$(MSBuildToolsVersion)' != '2.0' " /> - - <ItemGroup> - <BenchmarkSources Include="$(SourceTempDirectory)\GoogleSizeProtoFile.cs" /> - <BenchmarkSources Include="$(SourceTempDirectory)\GoogleSpeedProtoFile.cs" /> - <BenchmarkSources Include="$(SourceDirectory)\ProtoBench\Properties\AssemblyInfo.cs" /> - </ItemGroup> - - <Csc - TargetType="library" - OutputAssembly="$(BuildTempDirectory)\BenchmarkTypes.dll" - Optimize="true" - Sources="@(BenchmarkSources)" - References="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffers.dll" - /> - </Target> - - <Target Name="_PrepareBenchmarkEnvironment" DependsOnTargets="_CompileBenchmarkAssemblyInFramework20"> - <ItemGroup> - <BenchmarkResources Include="$(BenchmarkProtosDirectory)\google_message1.dat" /> - <BenchmarkResources Include="$(BenchmarkProtosDirectory)\google_message2.dat" /> - <BenchmarkResources Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffers.dll" /> - <BenchmarkResources Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Serialization.dll" /> - <BenchmarkResources Include="$(SourceDirectory)\ProtoBench\bin\$(BuildConfiguration)\ProtoBench.exe" /> - </ItemGroup> - - <Copy SourceFiles="@(BenchmarkResources)" DestinationFolder="$(BuildTempDirectory)" /> - </Target> - - <Target Name="_RunBenchmarks" DependsOnTargets="_PrepareBenchmarkEnvironment"> + <Target Name="_RunBenchmarks"> <ItemGroup> - <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SizeMessage1,BenchmarkTypes" /> + <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SizeMessage1,ProtoBench" /> <BenchmarkParameter Include="google_message1.dat" /> - <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SpeedMessage1,BenchmarkTypes" /> + <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SpeedMessage1,ProtoBench" /> <BenchmarkParameter Include="google_message1.dat" /> - <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SizeMessage2,BenchmarkTypes" /> + <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SizeMessage2,ProtoBench" /> <BenchmarkParameter Include="google_message2.dat" /> - <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SpeedMessage2,BenchmarkTypes" /> + <BenchmarkParameter Include="Google.ProtocolBuffers.ProtoBench.SpeedMessage2,ProtoBench" /> <BenchmarkParameter Include="google_message2.dat" /> </ItemGroup> - <Message Text="Running $(ProtoBenchExePath) from $(BuildTempDirectory)" /> - <Exec Command=""$(ProtoBenchExePath)" $(BenchmarkArgs) @(BenchmarkParameter->'%(Identity)', ' ') "/log:$(BenchmarkOutputFile)"" - WorkingDirectory="$(BuildTempDirectory)" /> + <Message Text="Running ProtoBench.exe" /> + <Exec Command="ProtoBench.exe $(BenchmarkArgs) @(BenchmarkParameter->'%(Identity)', ' ') "/log:$(BenchmarkOutputFile)"" + WorkingDirectory="$(SourceDirectory)\ProtoBench\bin\NET35\Release" /> </Target> diff --git a/build/build.csproj b/build/build.csproj index a2db97cf..31d12631 100644 --- a/build/build.csproj +++ b/build/build.csproj @@ -1,15 +1,22 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- build targets --> + <Target Name="CleanAll" DependsOnTargets="_CleanAll" /> + <Target Name="BuildTools" DependsOnTargets="_BuildTools" /> + <Target Name="GenerateSource" DependsOnTargets="_GenerateSource;_CopyGeneratedSource" /> + <Target Name="BuildAll" DependsOnTargets="BuildTools;GenerateSource;_CompileAll" /> + <Target Name="RebuildAll" DependsOnTargets="CleanAll;BuildAll" /> + <Target Name="GeneratePackage" DependsOnTargets="_PackageAll;_GeneratePackage" /> + <Target Name="FullBuild" DependsOnTargets="RebuildAll;GeneratePackage" /> + <!-- misc targets --> + <Target Name="RunBenchmarks" DependsOnTargets="_CleanAll;_BuildTools;_RunBenchmarks" /> + <PropertyGroup> <ProjectName>Protocol Buffers</ProjectName> - <BuildConfiguration Condition=" '$(BuildConfiguration)' == '' ">Error</BuildConfiguration> - <Platform>Any CPU</Platform> - <!-- TargetFrameworkVersion --> - <TargetVersion Condition=" '$(TargetVersion)' == '' ">NET40</TargetVersion> - <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> - <TargetFrameworkVersion Condition=" '$(TargetVersion)' == 'NET35' ">v3.5</TargetFrameworkVersion> - <TargetFrameworkVersion Condition=" '$(TargetVersion)' == 'NET40' ">v4.0</TargetFrameworkVersion> + <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration> + <Platform Condition=" '$(Platform)' == '' ">Any CPU</Platform> + <!--Directory Paths--> <ProjectDirectory>$(MSBuildProjectDirectory)\..</ProjectDirectory> <SourceDirectory>$(ProjectDirectory)\src</SourceDirectory> @@ -17,7 +24,7 @@ <ProtosDirectory>$(ProjectDirectory)\protos</ProtosDirectory> <SourceTempDirectory>$(ProjectDirectory)\build_temp\GeneratedSource</SourceTempDirectory> - <BuildTempDirectory>$(ProjectDirectory)\build_temp\$(BuildConfiguration)\$(TargetVersion)</BuildTempDirectory> + <BuildTempDirectory>$(ProjectDirectory)\build_temp</BuildTempDirectory> <BuildOutputDirectory>$(ProjectDirectory)\build_output</BuildOutputDirectory> <BuildOutputPackage>$(BuildOutputDirectory)</BuildOutputPackage> @@ -25,26 +32,19 @@ <BenchmarkOutputFile>$(BuildTempDirectory)\..\BenchmarkResults.txt</BenchmarkOutputFile> <BenchmarkProtosDirectory>$(ProjectDirectory)\benchmarks</BenchmarkProtosDirectory> - <PackageName Condition=" '$(PackageName)' == '' ">$(BuildConfiguration)</PackageName> + <PackageName Condition=" '$(PackageName)' == '' ">$(Configuration)</PackageName> - <!--File Paths--> - <SolutionFile>$(SourceDirectory)\ProtocolBuffersLibrary.$(TargetVersion).sln</SolutionFile> - <!--Tool Paths--> - <ProtocExePath>$(LibDirectory)\protoc.exe</ProtocExePath> - <ProtogenExePath>$(BuildOutputDirectory)\ProtoGen\protogen.exe</ProtogenExePath> - <ProtoBenchExePath>$(BuildTempDirectory)\ProtoBench.exe</ProtoBenchExePath> + <ProtocExePath>$(BuildOutputDirectory)\tools\protoc.exe</ProtocExePath> + <ProtogenExePath>$(BuildOutputDirectory)\tools\protogen.exe</ProtogenExePath> <NUnitExePath>$(LibDirectory)\NUnit\tools\nunit-console.exe</NUnitExePath> - <NUnitExeConfig>$(LibDirectory)\NUnit-config\nunit-console.$(TargetFrameworkVersion).config</NUnitExeConfig> - <StatLightExePath>$(LibDirectory)\StatLight\tools\StatLight.exe</StatLightExePath> <ZipExePath>$(LibDirectory)\7-Zip 9.20\7za.exe</ZipExePath> </PropertyGroup> <Import Project="Common.targets"/> + <!-- Proto Files --> <ItemGroup> - <WorkingDirectories Include="$(BuildTempDirectory)" /> - <Protos Include="$(ProtosDirectory)\extest\unittest_issues.proto" /> <Protos Include="$(ProtosDirectory)\extest\unittest_extras.proto" /> <Protos Include="$(ProtosDirectory)\extest\unittest_extras_full.proto" /> @@ -70,7 +70,12 @@ <Protos Include="$(ProtosDirectory)\google\test\google_size.proto" /> <Protos Include="$(ProtosDirectory)\google\test\google_speed.proto" /> <Protos Include="$(ProtosDirectory)\tutorial\addressbook.proto" /> - + <!-- for benchmark --> + <Protos Include="$(ProtosDirectory)\benchmarks\google_size.proto" /> + <Protos Include="$(ProtosDirectory)\benchmarks\google_speed.proto" /> + </ItemGroup> + <!-- Generated Source --> + <ItemGroup> <!-- Main protos --> <GeneratedSource Include="$(SourceTempDirectory)\CSharpOptions.cs"> <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory> @@ -160,26 +165,21 @@ <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSpeedProtoFile.cs"> <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory> </GeneratedSource> - - <TestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.Test.dll" /> - <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.dll" /> - <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersMixedLite.Test.dll" /> - <TestContainer Condition=" '$(TargetVersion)' == '' " - Include="$(SourceDirectory)\ProtoGen.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.ProtoGen.Test.dll" /> - - <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.Test.xap" /> - <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.xap" /> - <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLiteMixed.Test.xap" /> - - <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.Serialization.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.Serialization.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtoGen\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoGen.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtoMunge\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoMunge.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtoDump\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoDump.*" /> - <DynamicPackageItem Include="$(SourceDirectory)\ProtoBench\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoBench.*" /> - + <GeneratedSource Include="$(SourceTempDirectory)\GoogleSizeProtoFile.cs"> + <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory> + </GeneratedSource> + <GeneratedSource Include="$(SourceTempDirectory)\GoogleSpeedProtoFile.cs"> + <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory> + </GeneratedSource> + <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs"> + <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory> + </GeneratedSource> + <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs"> + <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory> + </GeneratedSource> + </ItemGroup> + <!-- Package Items --> + <ItemGroup> <StaticPackageItem Include="$(ProjectDirectory)\CHANGES.txt" /> <StaticPackageItem Include="$(ProjectDirectory)\license.txt" /> <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\descriptor.proto"> @@ -191,23 +191,44 @@ <StaticPackageItem Include="$(ProjectDirectory)\protos\tutorial\addressbook.proto"> <TargetDirectory>\protos\tutorial</TargetDirectory> </StaticPackageItem> - <StaticPackageItem Include="$(LibDirectory)\Protoc*"> - <TargetDirectory>\Protoc</TargetDirectory> - </StaticPackageItem> - </ItemGroup> + <!-- Tools --> + <ItemGroup> + <ToolsTestContainer Include="$(SourceDirectory)\ProtoGen.Test\bin\NET35\Release\Google.ProtocolBuffers.ProtoGen.Test.dll" /> - <!-- targets --> - <Target Name="Clean" DependsOnTargets="_Clean" /> - <Target Name="Build" DependsOnTargets="GenerateSource;_Compile;_Test" /> - <Target Name="Test" DependsOnTargets="_Test" /> - <Target Name="Rebuild" DependsOnTargets="Clean;Build" /> - <Target Name="GenerateSource" DependsOnTargets="_BuildProtoGen;_GenerateSource;_CopyGeneratedSource" /> - <Target Name="BuildPackage" DependsOnTargets="PrepareOutputDirectory;PreparePackageComponent;GeneratePackage" /> - <Target Name="PrepareOutputDirectory" DependsOnTargets="_CleanOutputDirectory" /> - <Target Name="PreparePackageComponent" DependsOnTargets="_PreparePackageComponent" /> - <Target Name="GeneratePackage" DependsOnTargets="_GeneratePackage" /> - <Target Name="RunBenchmarks" DependsOnTargets="Requires20;RequiresRelease;Rebuild;_RunBenchmarks" /> - <Target Name="FullBuild" DependsOnTargets="_FullBuild" /> - + <ToolsOutputItem Include="$(SourceDirectory)\ProtocolBuffers\bin\NET35\Release\Google.ProtocolBuffers.dll" /> + <ToolsOutputItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\NET35\Release\Google.ProtocolBuffers.Serialization.dll" /> + <ToolsOutputItem Include="$(SourceDirectory)\ProtoGen\bin\NET35\Release\ProtoGen.exe" /> + <ToolsOutputItem Include="$(SourceDirectory)\ProtoGen\bin\NET35\Release\ProtoGen.exe.config" /> + <ToolsOutputItem Include="$(SourceDirectory)\ProtoMunge\bin\NET35\Release\ProtoMunge.exe" /> + <ToolsOutputItem Include="$(SourceDirectory)\ProtoDump\bin\NET35\Release\ProtoDump.exe" /> + <ToolsOutputItem Include="$(SourceDirectory)\ProtoBench\bin\NET35\Release\ProtoBench.exe" /> + <ToolsOutputItem Include="$(LibDirectory)\protoc.exe" /> + <ToolsOutputItem Include="$(LibDirectory)\protoc-license.txt" /> + </ItemGroup> + <!-- Temporary Directories --> + <ItemGroup> + <TempBuildFolder Include="$(BuildTempDirectory)" /> + <TempBuildFolder Include="$(BuildOutputDirectory)" /> + <TempBuildFolder Include="$(SourceDirectory)\AddressBook\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\AddressBook\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoBench\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoBench\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Serialization\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Test\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Test\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffersLite.Test\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoDump\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoDump\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoGen\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoGen\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoGen.Test\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoGen.Test\bin" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoMunge\obj" /> + <TempBuildFolder Include="$(SourceDirectory)\ProtoMunge\bin" /> + </ItemGroup> </Project> diff --git a/build/target.csproj b/build/target.csproj new file mode 100644 index 00000000..0436b83d --- /dev/null +++ b/build/target.csproj @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + +<!-- ********************************************************************************************** +High-level Targets +*********************************************************************************************** --> + + <Target Name="Clean" DependsOnTargets="_Clean" /> + <Target Name="Build" DependsOnTargets="_Compile;_Test" /> + <Target Name="Test" DependsOnTargets="_Test" /> + <Target Name="Rebuild" DependsOnTargets="Clean;Build" /> + <Target Name="Publish" DependsOnTargets="Clean;Build;_Publish" /> + + <!-- ********************************************************************************************** +Properties +*********************************************************************************************** --> + + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">Any CPU</Platform> + <TargetVersion Condition=" '$(TargetVersion)' == '' ">NET20</TargetVersion> + <BuildParams></BuildParams> + + <!--Directory Paths--> + <ProjectDirectory>$(MSBuildProjectDirectory)\..</ProjectDirectory> + <SourceDirectory>$(ProjectDirectory)\src</SourceDirectory> + <LibDirectory>$(ProjectDirectory)\lib</LibDirectory> + + <!--File Paths--> + <BuildTempDirectory>$(ProjectDirectory)\build_temp\$(Configuration)\$(TargetVersion)</BuildTempDirectory> + <BuildOutputDirectory>$(ProjectDirectory)\build_output\$(Configuration)\$(TargetVersion)</BuildOutputDirectory> + <SolutionFile>$(SourceDirectory)\ProtocolBuffersLibrary.$(TargetVersion).sln</SolutionFile> + + <!--Tool Paths--> + <NUnitExePath>$(LibDirectory)\NUnit\tools\nunit-console.exe</NUnitExePath> + <StatLightExePath>$(LibDirectory)\StatLight\tools\StatLight.exe</StatLightExePath> + </PropertyGroup> + +<!-- ********************************************************************************************** +Target Versions +*********************************************************************************************** --> + + <PropertyGroup Condition=" '$(TargetVersion)' == 'NET20' "> + <BuildTools>3.5</BuildTools> + <TestFramework>NUNIT</TestFramework> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'NET35' "> + <BuildTools>3.5</BuildTools> + <TestFramework>NUNIT</TestFramework> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'NET40' "> + <BuildTools>4.0</BuildTools> + <TestFramework>NUNIT</TestFramework> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'CF20' "> + <BuildTools>3.5</BuildTools> + <TestFramework>NONE</TestFramework> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'CF35' "> + <BuildTools>3.5</BuildTools> + <TestFramework>NONE</TestFramework> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'SL20' "> + <BuildTools>3.5</BuildTools> + <TestFramework>SILVERLIGHT</TestFramework> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'SL30' "> + <BuildTools>3.5</BuildTools> + <TestFramework>SILVERLIGHT</TestFramework> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'SL40' "> + <BuildTools>4.0</BuildTools> + <TestFramework>SILVERLIGHT</TestFramework> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition=" '$(TargetVersion)' == 'PL40' "> + <BuildTools>4.0</BuildTools> + <TestFramework>NONE</TestFramework> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <BuildOutputDirectory>$(ProjectDirectory)\build_output\$(Configuration)\portable-net40+sl4+sl5+wp7+wp8+win8</BuildOutputDirectory> + </PropertyGroup> + +<!-- ********************************************************************************************** +File Groups +*********************************************************************************************** --> + + <ItemGroup> + <WorkingDirectories Include="$(BuildTempDirectory)" /> + <WorkingDirectories Include="$(BuildOutputDirectory)" /> + + <TestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.Test.dll" /> + <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.Test.dll" /> + <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersMixedLite.Test.dll" /> + + <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.Test.xap" /> + <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.Test.xap" /> + <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLiteMixed.Test.xap" /> + + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.dll" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.pdb" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.xml" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.dll" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.pdb" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.xml" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.Serialization.dll" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.Serialization.pdb" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffers.Serialization.xml" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.Serialization.dll" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.Serialization.pdb" /> + <PublishItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(Configuration)\Google.ProtocolBuffersLite.Serialization.xml" /> + </ItemGroup> + +<!-- ********************************************************************************************** +Targets For Build +*********************************************************************************************** --> + + <Target Name="_Configured"> + <Message Text="Building $(TargetVersion) for configuration $(Configuration), platform $(Platform)" Importance="normal" /> + <Error Text="Unknown or missing value for TargetVersion=[value]" Condition=" '$(BuildTools)' == '' " /> + </Target> + + <Target Name="_Clean" DependsOnTargets="_Configured"> + <RemoveDir Directories="@(WorkingDirectories)" Condition="Exists(%(WorkingDirectories.Identity))" /> + <MSBuild Targets="Clean" Projects="$(SolutionFile)" ToolsVersion="$(BuildTools)" + Properties="Configuration=$(Configuration);Platform=$(Platform);" + /> + </Target> + + <Target Name="_Compile" DependsOnTargets="_Configured"> + <MSBuild Targets="Build" Projects="$(SolutionFile)" ToolsVersion="$(BuildTools)" + Properties="Configuration=$(Configuration);Platform=$(Platform);$(BuildParams)" + /> + </Target> + + <Target Name="_Publish" DependsOnTargets="_Configured"> + <MakeDir Directories="$(BuildOutputDirectory)" /> + <Copy SourceFiles="@(PublishItem)" DestinationFolder="$(BuildOutputDirectory)" /> + </Target> + +<!-- ********************************************************************************************** +Targets For Test +*********************************************************************************************** --> + + <Target Name="_Test" DependsOnTargets="_Configured"> + <MakeDir Directories="$(BuildTempDirectory)" /> + <CallTarget Targets="_RunNunit" Condition=" '$(TestFramework)'=='NUNIT' " /> + <CallTarget Targets="_RunStatLight" Condition=" '$(TestFramework)'=='SILVERLIGHT' " /> + </Target> + + <Target Name="_RunNunit"> + <Copy SourceFiles="$(LibDirectory)\NUnit-config\nunit-console.$(TargetFrameworkVersion).config" DestinationFiles="$(NUnitExePath).config" /> + <Exec Command=""$(NUnitExePath)" /nologo /noshadow %(TestContainer.Identity) /xml:$(BuildTempDirectory)\%(TestContainer.Filename).xml" /> + </Target> + + <Target Name="_RunStatLight"> + <Exec Condition=" 'a' == 'b' " + Command=""$(StatLightExePath)" -x %(StatLightTestContainer.Identity) --ReportOutputFileType=NUnit --ReportOutputFile=$(BuildTempDirectory)\%(StatLightTestContainer.Filename).xml" /> + </Target> + +</Project> |