build.proj 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project ToolsVersion="4.0" DefaultTargets="Clean;CreatePackage;GenerateHelpFile;GenerateSourceZip" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <PropertyGroup>
  4. <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
  5. <BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
  6. <NuGetExe>$(BuildRoot)nuget\nuget.exe</NuGetExe>
  7. <MSBuildCommunityTasksPath>$(MSBuildThisFileDirectory)msbuild</MSBuildCommunityTasksPath>
  8. </PropertyGroup>
  9. <ItemGroup>
  10. <TargetFramework Include=".NET Framework 3.5">
  11. <Project>Renci.SshNet.NET35</Project>
  12. <Moniker>net35</Moniker>
  13. </TargetFramework>
  14. <TargetFramework Include=".NET Framework 4.0">
  15. <Project>Renci.SshNet</Project>
  16. <Moniker>net40</Moniker>
  17. </TargetFramework>
  18. <TargetFramework Include="Windows Phone 7.1">
  19. <Project>Renci.SshNet.WindowsPhone</Project>
  20. <Moniker>sl4-windowsphone71</Moniker>
  21. </TargetFramework>
  22. <TargetFramework Include="Windows Phone 8.0">
  23. <Project>Renci.SshNet.WindowsPhone8</Project>
  24. <Moniker>windowsphone8</Moniker>
  25. </TargetFramework>
  26. <TargetFramework Include="Silverlight 4">
  27. <Project>Renci.SshNet.Silverlight</Project>
  28. <Moniker>sl4</Moniker>
  29. </TargetFramework>
  30. <TargetFramework Include="Silverlight 5">
  31. <Project>Renci.SshNet.Silverlight5</Project>
  32. <Moniker>sl5</Moniker>
  33. </TargetFramework>
  34. </ItemGroup>
  35. <Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets"/>
  36. <Target Name="Clean">
  37. <RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
  38. </Target>
  39. <Target Name="Build">
  40. <ItemGroup>
  41. <ProjectToBuild Include="$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2012.sln">
  42. <Properties>Configuration=Release</Properties>
  43. </ProjectToBuild>
  44. </ItemGroup>
  45. <MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
  46. </Target>
  47. <Target Name="CreatePackage" DependsOnTargets="CopyBuildOutputToPackage">
  48. <Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory &quot;$(MSBuildThisFileDirectory)target&quot; -BasePath &quot;$(MSBuildThisFileDirectory)target\package&quot; -NonInteractive"/>
  49. </Target>
  50. <Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
  51. <ItemGroup>
  52. <BuildOutput Remove="@(BuildOutput)"/>
  53. <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.dll"/>
  54. <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.xml"/>
  55. </ItemGroup>
  56. <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
  57. </Target>
  58. <Target Name="GenerateHelpFile" DependsOnTargets="Build">
  59. <MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
  60. </Target>
  61. <Target Name="GenerateSourceZip">
  62. <ItemGroup>
  63. <SourceFiles Include="$(MSBuildThisFileDirectory)..\src\Renci.SshNet\**" Exclude="$(MSBuildThisFileDirectory)..\src\Renci.SshNet\bin\**;$(MSBuildThisFileDirectory)..\src\Renci.SshNet\obj\**"/>
  64. <SourceFiles Include="$(MSBuildThisFileDirectory)..\src\Renci.SshNet.snk"/>
  65. </ItemGroup>
  66. <Zip
  67. Files="@(SourceFiles)"
  68. WorkingDirectory="$(MSBuildThisFileDirectory).."
  69. ZipFileName="$(MSBuildThisFileDirectory)target\Renci.SshNet.zip"
  70. ZipLevel="9" />
  71. </Target>
  72. </Project>