|
|
@@ -1,163 +0,0 @@
|
|
|
-<?xml version="1.0" encoding="utf-8"?>
|
|
|
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
- <UsingTask TaskName="Zip" AssemblyFile="$(MSBuildThisFileDirectory)target\nuget\packages\$(MSBuildTasksPackageId).$(MSBuildTasksPackageVersion)\tools\MSBuild.Community.Tasks.dll"/>
|
|
|
- <PropertyGroup>
|
|
|
- <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
|
|
|
- <BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
|
|
|
- <NuGetExe>$(BuildRoot)target\nuget\nuget.exe</NuGetExe>
|
|
|
- <MSBuildTasksPackageId>MSBuildTasks</MSBuildTasksPackageId>
|
|
|
- <MSBuildTasksPackageVersion>1.5.0.214</MSBuildTasksPackageVersion>
|
|
|
- </PropertyGroup>
|
|
|
-
|
|
|
- <ItemGroup>
|
|
|
- <VisualStudioVersionModern Include="2022">
|
|
|
- <SolutionFile>$(MSBuildThisFileDirectory)..\Renci.SshNet.sln</SolutionFile>
|
|
|
- <VisualStudioVersion>17.0</VisualStudioVersion>
|
|
|
- </VisualStudioVersionModern>
|
|
|
- </ItemGroup>
|
|
|
-
|
|
|
- <ItemGroup>
|
|
|
- <TargetFrameworkModern Include=".NET Framework 4.6.2">
|
|
|
- <OutputDirectory>Renci.SshNet\bin\$(Configuration)\net462</OutputDirectory>
|
|
|
- <Moniker>net462</Moniker>
|
|
|
- </TargetFrameworkModern>
|
|
|
- <TargetFrameworkModern Include=".NETStandard 2.0">
|
|
|
- <OutputDirectory>Renci.SshNet\bin\$(Configuration)\netstandard2.0</OutputDirectory>
|
|
|
- <Moniker>netstandard2.0</Moniker>
|
|
|
- </TargetFrameworkModern>
|
|
|
- <TargetFrameworkModern Include=".NETStandard 2.1">
|
|
|
- <OutputDirectory>Renci.SshNet\bin\$(Configuration)\netstandard2.1</OutputDirectory>
|
|
|
- <Moniker>netstandard2.1</Moniker>
|
|
|
- </TargetFrameworkModern>
|
|
|
- <TargetFrameworkModern Include=".NET 6.0">
|
|
|
- <OutputDirectory>Renci.SshNet\bin\$(Configuration)\net6.0</OutputDirectory>
|
|
|
- <Moniker>net6.0</Moniker>
|
|
|
- </TargetFrameworkModern>
|
|
|
- <TargetFrameworkModern Include=".NET 7.0">
|
|
|
- <OutputDirectory>Renci.SshNet\bin\$(Configuration)\net7.0</OutputDirectory>
|
|
|
- <Moniker>net7.0</Moniker>
|
|
|
- </TargetFrameworkModern>
|
|
|
- <TargetFrameworkModern Include=".NET 8.0">
|
|
|
- <OutputDirectory>Renci.SshNet\bin\$(Configuration)\net8.0</OutputDirectory>
|
|
|
- <Moniker>net8.0</Moniker>
|
|
|
- </TargetFrameworkModern>
|
|
|
- </ItemGroup>
|
|
|
-
|
|
|
- <Target Name="CleanModern" DependsOnTargets="CleanSolutionModern">
|
|
|
- <RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
-
|
|
|
- <Target Name="CleanSolutionModern" Outputs="%(VisualStudioVersionModern.Identity)">
|
|
|
- <ItemGroup>
|
|
|
- <ProjectToBuild Remove="@(ProjectToBuild)"/>
|
|
|
- <ProjectToBuild Include="%(VisualStudioVersionModern.SolutionFile)">
|
|
|
- <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersionModern.VisualStudioVersion)</Properties>
|
|
|
- </ProjectToBuild>
|
|
|
- </ItemGroup>
|
|
|
- <MSBuild Projects="@(ProjectToBuild)" Targets="Clean"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="RestoreNuGetPackagesModern" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersionModern.Identity)">
|
|
|
- <Message Text="Restoring nuget packages for '%(VisualStudioVersionModern.SolutionFile)'..." Importance="High"/>
|
|
|
- <Exec Command="$(NuGetExe) restore "%(VisualStudioVersionModern.SolutionFile)""/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="BuildModern" DependsOnTargets="RestoreNuGetPackagesModern" Outputs="%(VisualStudioVersionModern.Identity)">
|
|
|
- <ItemGroup>
|
|
|
- <ProjectToBuild Remove="@(ProjectToBuild)"/>
|
|
|
- <ProjectToBuild Include="%(VisualStudioVersionModern.SolutionFile)">
|
|
|
- <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersionModern.VisualStudioVersion)</Properties>
|
|
|
- </ProjectToBuild>
|
|
|
- </ItemGroup>
|
|
|
- <MSBuild Projects="@(ProjectToBuild)" ToolsVersion="%(VisualStudioVersionModern.ToolsVersion)" Targets="Rebuild"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="Package" DependsOnTargets="CreateNuGetPackage;CreateBinPackage;GenerateHelpFile"/>
|
|
|
-
|
|
|
- <Target Name="ValidatePackage" DependsOnTargets="ValidatePackageModern"/>
|
|
|
-
|
|
|
- <Target Name="ValidatePackageModern" DependsOnTargets="CheckNuGetPackageDirectory" Outputs="%(TargetFrameworkModern.Identity)">
|
|
|
- <Error Text="The 'Renci.SshNet.dll' file is not available for %(TargetFrameworkModern.Identity) in $(NuGetPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)." Condition="!Exists('$(NuGetPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)\Renci.SshNet.dll')"/>
|
|
|
- <Error Text="The 'Renci.SshNet.xml' file is not available for %(TargetFrameworkModern.Identity) in $(NuGetPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)." Condition="!Exists('$(NuGetPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)\Renci.SshNet.xml')"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="CreateNuGetPackage" DependsOnTargets="ValidatePackage;CheckNuGetPackageDirectory;CheckReleaseVersion">
|
|
|
- <Exec Command="dotnet pack $(MSBuildThisFileDirectory)..\src\Renci.SshNet\Renci.SshNet.csproj --no-build --output "$(MSBuildThisFileDirectory)target""/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="GenerateHelpFile" DependsOnTargets="CheckReleaseVersion">
|
|
|
- <Error Text="Please install Sandcastle, and ensure the SHFBROOT environment variable is set." Condition="'$(SHFBROOT)'==''"/>
|
|
|
- <MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
|
|
|
- <Move SourceFiles="$(MSBuildThisFileDirectory)target\help\SshNet.Help.chm" DestinationFiles="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-help.chm"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="PreparePackageModern" DependsOnTargets="BuildModern;CheckNuGetPackageDirectory" Outputs="%(TargetFrameworkModern.Identity)">
|
|
|
- <ItemGroup>
|
|
|
- <BuildOutput Remove="@(BuildOutput)"/>
|
|
|
- <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFrameworkModern.OutputDirectory)\Renci.SshNet.dll"/>
|
|
|
- <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFrameworkModern.OutputDirectory)\Renci.SshNet.xml"/>
|
|
|
- </ItemGroup>
|
|
|
- <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(NuGetPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="CreateBinPackage" DependsOnTargets="PrepareMSBuildTasksPackage;ValidatePackage;CheckReleaseVersion;CheckBinaryZipPackageDirectory">
|
|
|
- <ItemGroup>
|
|
|
- <Files Remove="@(Files)"/>
|
|
|
- <Files Include="$(NuGetPackageDirectory)\lib\**\*.*"/>
|
|
|
- <Files Include="$(MSBuildThisFileDirectory)..\LICENSE"/>
|
|
|
- <Files Include="$(MSBuildThisFileDirectory)..\THIRD-PARTY-NOTICES.TXT"/>
|
|
|
- </ItemGroup>
|
|
|
- <Copy SourceFiles="@(Files)" DestinationFolder="$(BinaryZipPackageDirectory)\%(RecursiveDir)"/>
|
|
|
- <ItemGroup>
|
|
|
- <Files Remove="@(Files)"/>
|
|
|
- <Files Include="$(BinaryZipPackageDirectory)\**"/>
|
|
|
- </ItemGroup>
|
|
|
- <Zip ZipFileName="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-bin.zip" Files="@(Files)" WorkingDirectory="$(BinaryZipPackageDirectory)"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="DownloadNuGet">
|
|
|
- <MakeDir Directories="$(MSBuildThisFileDirectory)target\nuget"/>
|
|
|
- <DownloadFile
|
|
|
- Address="https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
|
|
|
- FileName="$(MSBuildThisFileDirectory)target\nuget\nuget.exe"/>
|
|
|
- </Target>
|
|
|
- <Target Name="PrepareMSBuildTasksPackage" DependsOnTargets="DownloadNuGet">
|
|
|
- <Exec Command="$(NuGetExe) install $(MSBuildTasksPackageId) -Version $(MSBuildTasksPackageVersion) -OutputDirectory "$(MSBuildThisFileDirectory)target\nuget\packages" -Verbosity quiet"/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="CheckReleaseVersion" Condition="'$(ReleaseVersion)'==''">
|
|
|
- <Error Text= "Please specify the version number of the release (using the "ReleaseVersion" property)."/>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="CheckNuGetPackageDirectory" DependsOnTargets="CheckReleaseVersion">
|
|
|
- <PropertyGroup>
|
|
|
- <NuGetPackageDirectory>$(MSBuildThisFileDirectory)target\nuget-$(ReleaseVersion)</NuGetPackageDirectory>
|
|
|
- </PropertyGroup>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <Target Name="CheckBinaryZipPackageDirectory" DependsOnTargets="CheckReleaseVersion">
|
|
|
- <PropertyGroup>
|
|
|
- <BinaryZipPackageDirectory>$(MSBuildThisFileDirectory)target\bin-$(ReleaseVersion)</BinaryZipPackageDirectory>
|
|
|
- </PropertyGroup>
|
|
|
- </Target>
|
|
|
-
|
|
|
- <UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
|
|
- <ParameterGroup>
|
|
|
- <Address ParameterType="System.String" Required="true"/>
|
|
|
- <FileName ParameterType="System.String" Required="true" />
|
|
|
- </ParameterGroup>
|
|
|
- <Task>
|
|
|
- <Reference Include="System" />
|
|
|
- <Code Type="Fragment" Language="cs">
|
|
|
- <![CDATA[
|
|
|
- // Workaround 'Could not create SSL/TLS secure channel' issue due to TLS 1.1 being
|
|
|
- // the default on earlier versions of .NET
|
|
|
- System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
|
|
|
- // Download file
|
|
|
- new System.Net.WebClient().DownloadFile(Address, FileName);
|
|
|
- ]]>
|
|
|
- </Code>
|
|
|
- </Task>
|
|
|
- </UsingTask>
|
|
|
-</Project>
|