Skip to content

Commit 17a58c0

Browse files
committed
Added support for UAP10
Added support for UAP10 Combine build output of VS 20112 and VS 2015 builds. Use downloaded nuget.
1 parent f03b899 commit 17a58c0

File tree

1 file changed

+60
-17
lines changed

1 file changed

+60
-17
lines changed

build/build.proj

Lines changed: 60 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,61 +3,90 @@
33
<PropertyGroup>
44
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
55
<BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
6-
<NuGetExe>$(BuildRoot)nuget\nuget.exe</NuGetExe>
6+
<NuGetExe>$(BuildRoot)target\nuget\nuget.exe</NuGetExe>
77
<MSBuildCommunityTasksPath>$(MSBuildThisFileDirectory)msbuild</MSBuildCommunityTasksPath>
88
</PropertyGroup>
9+
<ItemGroup>
10+
<VisualStudioVersion Include="2012">
11+
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2012.sln</SolutionFile>
12+
</VisualStudioVersion>
13+
<VisualStudioVersion Include="2015">
14+
<SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2015.sln</SolutionFile>
15+
</VisualStudioVersion>
16+
</ItemGroup>
917
<ItemGroup>
1018
<TargetFramework Include=".NET Framework 3.5">
11-
<Project>Renci.SshNet.NET35</Project>
19+
<OutputDirectory>Renci.SshNet.NET35\bin\$(Configuration)</OutputDirectory>
1220
<Moniker>net35</Moniker>
1321
</TargetFramework>
1422
<TargetFramework Include=".NET Framework 4.0">
15-
<Project>Renci.SshNet</Project>
23+
<OutputDirectory>Renci.SshNet\bin\$(Configuration)</OutputDirectory>
1624
<Moniker>net40</Moniker>
1725
</TargetFramework>
18-
<TargetFramework Include="Windows Phone 7.1">
19-
<Project>Renci.SshNet.WindowsPhone</Project>
20-
<Moniker>sl4-windowsphone71</Moniker>
26+
<TargetFramework Include="Windows Phone Silverlight 7.1">
27+
<OutputDirectory>Renci.SshNet.WindowsPhone\bin\$(Configuration)</OutputDirectory>
28+
<Moniker>wp71</Moniker>
2129
</TargetFramework>
22-
<TargetFramework Include="Windows Phone 8.0">
23-
<Project>Renci.SshNet.WindowsPhone8</Project>
24-
<Moniker>windowsphone8</Moniker>
30+
<TargetFramework Include="Windows Phone Silverlight 8.0">
31+
<OutputDirectory>Renci.SshNet.WindowsPhone8\bin\$(Configuration)</OutputDirectory>
32+
<Moniker>wp8</Moniker>
2533
</TargetFramework>
2634
<TargetFramework Include="Silverlight 4">
27-
<Project>Renci.SshNet.Silverlight</Project>
35+
<OutputDirectory>Renci.SshNet.Silverlight\bin\$(Configuration)</OutputDirectory>
2836
<Moniker>sl4</Moniker>
2937
</TargetFramework>
3038
<TargetFramework Include="Silverlight 5">
31-
<Project>Renci.SshNet.Silverlight5</Project>
39+
<OutputDirectory>Renci.SshNet.Silverlight5\bin\$(Configuration)</OutputDirectory>
3240
<Moniker>sl5</Moniker>
3341
</TargetFramework>
42+
<TargetFramework Include="Universal Windows Platform 10">
43+
<OutputDirectory>Renci.SshNet.UAP10\bin\$(Configuration)</OutputDirectory>
44+
<Moniker>uap10</Moniker>
45+
</TargetFramework>
3446
</ItemGroup>
3547
<Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets"/>
3648
<Target Name="Clean">
3749
<RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
50+
<ItemGroup>
51+
<ProjectToBuild Remove="@(ProjectToBuild)"/>
52+
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)">
53+
<Properties>Configuration=Release</Properties>
54+
</ProjectToBuild>
55+
</ItemGroup>
56+
<MSBuild Projects="@(ProjectToBuild)" Targets="Clean"/>
3857
</Target>
39-
40-
<Target Name="Build">
58+
<Target Name="DownloadNuGet">
59+
<MakeDir Directories="$(MSBuildThisFileDirectory)target\nuget"/>
60+
<DownloadFile
61+
Address="https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
62+
FileName="$(MSBuildThisFileDirectory)target\nuget\nuget.exe"/>
63+
</Target>
64+
<Target Name="RestoreNuGetPackages" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersion.Identity)">
65+
<Message Text="Restoring nuget packages for '%(VisualStudioVersion.SolutionFile)'..." Importance="High"/>
66+
<Exec Command="$(NuGetExe) restore &quot;%(VisualStudioVersion.SolutionFile)&quot;"/>
67+
</Target>
68+
<Target Name="Build" DependsOnTargets="RestoreNuGetPackages" Outputs="%(VisualStudioVersion.Identity)">
4169
<ItemGroup>
42-
<ProjectToBuild Include="$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2012.sln">
70+
<ProjectToBuild Remove="@(ProjectToBuild)"/>
71+
<ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)">
4372
<Properties>Configuration=Release</Properties>
4473
</ProjectToBuild>
4574
</ItemGroup>
4675
<MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
4776
</Target>
48-
4977
<Target Name="CreatePackage" DependsOnTargets="CopyBuildOutputToPackage">
5078
<Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory &quot;$(MSBuildThisFileDirectory)target&quot; -BasePath &quot;$(MSBuildThisFileDirectory)target\package&quot; -NonInteractive"/>
5179
</Target>
5280
<Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
5381
<ItemGroup>
5482
<BuildOutput Remove="@(BuildOutput)"/>
55-
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.dll"/>
56-
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.xml"/>
83+
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.dll"/>
84+
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.xml"/>
5785
</ItemGroup>
5886
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
5987
</Target>
6088
<Target Name="GenerateHelpFile" DependsOnTargets="Build">
89+
<Error Text="Please install Sandcastle, and ensure the SHFBFolder environment variable is set." Condition="'$(SHFBFolder)'==''"/>
6190
<MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
6291
</Target>
6392

@@ -72,4 +101,18 @@
72101
ZipFileName="$(MSBuildThisFileDirectory)target\Renci.SshNet.zip"
73102
ZipLevel="9" />
74103
</Target>
104+
<UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
105+
<ParameterGroup>
106+
<Address ParameterType="System.String" Required="true"/>
107+
<FileName ParameterType="System.String" Required="true" />
108+
</ParameterGroup>
109+
<Task>
110+
<Reference Include="System" />
111+
<Code Type="Fragment" Language="cs">
112+
<![CDATA[
113+
new System.Net.WebClient().DownloadFile(Address, FileName);
114+
]]>
115+
</Code>
116+
</Task>
117+
</UsingTask>
75118
</Project>

0 commit comments

Comments
 (0)