Skip to content

Commit 1dd79b2

Browse files
committed
Add support for binary distribution zip file.
Rename help file.
1 parent 8071d00 commit 1dd79b2

File tree

1 file changed

+33
-4
lines changed

1 file changed

+33
-4
lines changed

build/build.proj

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="4.0" DefaultTargets="Clean;CreatePackage;GenerateHelpFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Project ToolsVersion="4.0" DefaultTargets="Clean;CreateNuGetPackage;CreateBinPackage;GenerateHelpFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<UsingTask TaskName="Zip" AssemblyFile="$(MSBuildThisFileDirectory)target\nuget\packages\$(MSBuildTasksPackageId).$(MSBuildTasksPackageVersion)\tools\MSBuild.Community.Tasks.dll"/>
34
<PropertyGroup>
45
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
56
<BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
67
<NuGetExe>$(BuildRoot)target\nuget\nuget.exe</NuGetExe>
8+
<MSBuildTasksPackageId>MSBuildTasks</MSBuildTasksPackageId>
9+
<MSBuildTasksPackageVersion>1.5.0.214</MSBuildTasksPackageVersion>
710
</PropertyGroup>
811
<ItemGroup>
912
<VisualStudioVersion Include="2012">
@@ -76,7 +79,7 @@
7679
</ItemGroup>
7780
<MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
7881
</Target>
79-
<Target Name="CreatePackage" DependsOnTargets="CopyBuildOutputToPackage">
82+
<Target Name="CreateNuGetPackage" DependsOnTargets="CopyBuildOutputToPackage">
8083
<Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory &quot;$(MSBuildThisFileDirectory)target&quot; -BasePath &quot;$(MSBuildThisFileDirectory)target\package&quot; -NonInteractive"/>
8184
</Target>
8285
<Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
@@ -87,11 +90,37 @@
8790
</ItemGroup>
8891
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
8992
</Target>
90-
<Target Name="GenerateHelpFile" DependsOnTargets="Build">
93+
<Target Name="GenerateHelpFile" DependsOnTargets="Build;CheckReleaseVersion">
9194
<Error Text="Please install Sandcastle, and ensure the SHFBFolder environment variable is set." Condition="'$(SHFBFolder)'==''"/>
9295
<MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
96+
<Move SourceFiles="$(MSBuildThisFileDirectory)target\help\SshNet.Help.chm" DestinationFiles="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-help.chm"/>
97+
</Target>
98+
<Target Name="CopyBuildOutputToBin" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
99+
<ItemGroup>
100+
<BuildOutput Remove="@(BuildOutput)"/>
101+
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\*.dll"/>
102+
<BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\*.xml"/>
103+
</ItemGroup>
104+
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\bin\lib\%(TargetFramework.Moniker)"/>
105+
</Target>
106+
<Target Name="CreateBinPackage" DependsOnTargets="PrepareMSBuildTasksPackage;CopyBuildOutputToBin;CheckReleaseVersion">
107+
<ItemGroup>
108+
<Files Remove="@(Files)"/>
109+
<Files Include="$(MSBuildThisFileDirectory)..\LICENSE"/>
110+
</ItemGroup>
111+
<Copy SourceFiles="@(Files)" DestinationFolder="$(MSBuildThisFileDirectory)target\bin\%(RecursiveDir)"/>
112+
<ItemGroup>
113+
<Files Remove="@(Files)"/>
114+
<Files Include="$(MSBuildThisFileDirectory)target\bin\**"/>
115+
</ItemGroup>
116+
<Zip ZipFileName="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-bin.zip" Files="@(Files)" WorkingDirectory="$(MSBuildThisFileDirectory)target\bin"/>
117+
</Target>
118+
<Target Name="PrepareMSBuildTasksPackage" DependsOnTargets="DownloadNuGet">
119+
<Exec Command="$(NuGetExe) install $(MSBuildTasksPackageId) -Version $(MSBuildTasksPackageVersion) -OutputDirectory &quot;$(MSBuildThisFileDirectory)target\nuget\packages&quot; -Verbosity quiet"/>
120+
</Target>
121+
<Target Name="CheckReleaseVersion" Condition="'$(ReleaseVersion)'==''">
122+
<Error Text= "Please specify the version number of the release (using the &quot;ReleaseVersion&quot; property)."/>
93123
</Target>
94-
95124
<UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
96125
<ParameterGroup>
97126
<Address ParameterType="System.String" Required="true"/>

0 commit comments

Comments
 (0)