|
1 | 1 | <?xml version="1.0" encoding="utf-8"?>
|
2 |
| -<Project ToolsVersion="14.0" DefaultTargets="Clean;Build;Package" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| 2 | +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
3 | 3 | <UsingTask TaskName="Zip" AssemblyFile="$(MSBuildThisFileDirectory)target\nuget\packages\$(MSBuildTasksPackageId).$(MSBuildTasksPackageVersion)\tools\MSBuild.Community.Tasks.dll"/>
|
4 | 4 | <PropertyGroup>
|
5 | 5 | <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
|
|
8 | 8 | <MSBuildTasksPackageId>MSBuildTasks</MSBuildTasksPackageId>
|
9 | 9 | <MSBuildTasksPackageVersion>1.5.0.214</MSBuildTasksPackageVersion>
|
10 | 10 | </PropertyGroup>
|
| 11 | + |
11 | 12 | <ItemGroup>
|
12 |
| - <VisualStudioVersion Include="2012"> |
| 13 | + <VisualStudioVersionClassic Include="2012"> |
13 | 14 | <SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2012.sln</SolutionFile>
|
14 | 15 | <ToolsVersion>14.0</ToolsVersion>
|
15 | 16 | <VisualStudioVersion>14.0</VisualStudioVersion>
|
16 |
| - </VisualStudioVersion> |
17 |
| - <VisualStudioVersion Include="2015"> |
| 17 | + </VisualStudioVersionClassic> |
| 18 | + <VisualStudioVersionClassic Include="2015"> |
18 | 19 | <SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2015.sln</SolutionFile>
|
19 | 20 | <ToolsVersion>14.0</ToolsVersion>
|
20 | 21 | <VisualStudioVersion>14.0</VisualStudioVersion>
|
21 |
| - </VisualStudioVersion> |
22 |
| - <VisualStudioVersion Include="2017"> |
23 |
| - <SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2017.sln</SolutionFile> |
24 |
| - <ToolsVersion>15.0</ToolsVersion> |
25 |
| - <VisualStudioVersion>15.0</VisualStudioVersion> |
26 |
| - </VisualStudioVersion> |
| 22 | + </VisualStudioVersionClassic> |
27 | 23 | </ItemGroup>
|
| 24 | + |
28 | 25 | <ItemGroup>
|
29 |
| - <TargetFramework Include=".NET Framework 3.5"> |
30 |
| - <OutputDirectory>Renci.SshNet.NET35\bin\$(Configuration)</OutputDirectory> |
31 |
| - <Moniker>net35</Moniker> |
32 |
| - </TargetFramework> |
33 |
| - <TargetFramework Include=".NET Framework 4.0"> |
34 |
| - <OutputDirectory>Renci.SshNet\bin\$(Configuration)</OutputDirectory> |
35 |
| - <Moniker>net40</Moniker> |
36 |
| - </TargetFramework> |
37 |
| - <TargetFramework Include=".NETStandard 1.3"> |
38 |
| - <OutputDirectory>Renci.SshNet.NETCore\bin\$(Configuration)\netstandard1.3</OutputDirectory> |
39 |
| - <Moniker>netstandard1.3</Moniker> |
40 |
| - </TargetFramework> |
41 |
| - <TargetFramework Include=".NETStandard 2.0"> |
42 |
| - <OutputDirectory>Renci.SshNet.NETCore\bin\$(Configuration)\netstandard2.0</OutputDirectory> |
43 |
| - <Moniker>netstandard2.0</Moniker> |
44 |
| - </TargetFramework> |
45 |
| - <TargetFramework Include="Windows Phone Silverlight 7.1"> |
| 26 | + <VisualStudioVersionModern Include="2019"> |
| 27 | + <SolutionFile>$(MSBuildThisFileDirectory)..\src\Renci.SshNet.VS2019.sln</SolutionFile> |
| 28 | + <VisualStudioVersion>16.0</VisualStudioVersion> |
| 29 | + </VisualStudioVersionModern> |
| 30 | + </ItemGroup> |
| 31 | + |
| 32 | + <ItemGroup> |
| 33 | + <TargetFrameworkClassic Include="Windows Phone Silverlight 7.1"> |
46 | 34 | <OutputDirectory>Renci.SshNet.WindowsPhone\bin\$(Configuration)</OutputDirectory>
|
47 | 35 | <Moniker>wp71</Moniker>
|
48 |
| - </TargetFramework> |
49 |
| - <TargetFramework Include="Windows Phone Silverlight 8.0"> |
| 36 | + </TargetFrameworkClassic> |
| 37 | + <TargetFrameworkClassic Include="Windows Phone Silverlight 8.0"> |
50 | 38 | <OutputDirectory>Renci.SshNet.WindowsPhone8\bin\$(Configuration)</OutputDirectory>
|
51 | 39 | <Moniker>wp8</Moniker>
|
52 |
| - </TargetFramework> |
53 |
| - <TargetFramework Include="Silverlight 4"> |
| 40 | + </TargetFrameworkClassic> |
| 41 | + <TargetFrameworkClassic Include="Silverlight 4"> |
54 | 42 | <OutputDirectory>Renci.SshNet.Silverlight\bin\$(Configuration)</OutputDirectory>
|
55 | 43 | <Moniker>sl4</Moniker>
|
56 |
| - </TargetFramework> |
57 |
| - <TargetFramework Include="Silverlight 5"> |
| 44 | + </TargetFrameworkClassic> |
| 45 | + <TargetFrameworkClassic Include="Silverlight 5"> |
58 | 46 | <OutputDirectory>Renci.SshNet.Silverlight5\bin\$(Configuration)</OutputDirectory>
|
59 | 47 | <Moniker>sl5</Moniker>
|
60 |
| - </TargetFramework> |
61 |
| - <TargetFramework Include="Universal Windows Platform 10"> |
| 48 | + </TargetFrameworkClassic> |
| 49 | + <TargetFrameworkClassic Include="Universal Windows Platform 10"> |
62 | 50 | <OutputDirectory>Renci.SshNet.UAP10\bin\$(Configuration)</OutputDirectory>
|
63 | 51 | <Moniker>uap10</Moniker>
|
64 |
| - </TargetFramework> |
| 52 | + </TargetFrameworkClassic> |
| 53 | + </ItemGroup> |
| 54 | + |
| 55 | + <ItemGroup> |
| 56 | + <TargetFrameworkModern Include=".NET Framework 3.5"> |
| 57 | + <OutputDirectory>Renci.SshNet\bin\$(Configuration)\net35</OutputDirectory> |
| 58 | + <Moniker>net35</Moniker> |
| 59 | + </TargetFrameworkModern> |
| 60 | + <TargetFrameworkModern Include=".NET Framework 4.0"> |
| 61 | + <OutputDirectory>Renci.SshNet\bin\$(Configuration)\net40</OutputDirectory> |
| 62 | + <Moniker>net40</Moniker> |
| 63 | + </TargetFrameworkModern> |
| 64 | + <TargetFrameworkModern Include=".NETStandard 1.3"> |
| 65 | + <OutputDirectory>Renci.SshNet\bin\$(Configuration)\netstandard1.3</OutputDirectory> |
| 66 | + <Moniker>netstandard1.3</Moniker> |
| 67 | + </TargetFrameworkModern> |
| 68 | + <TargetFrameworkModern Include=".NETStandard 2.0"> |
| 69 | + <OutputDirectory>Renci.SshNet\bin\$(Configuration)\netstandard2.0</OutputDirectory> |
| 70 | + <Moniker>netstandard2.0</Moniker> |
| 71 | + </TargetFrameworkModern> |
65 | 72 | </ItemGroup>
|
66 |
| - <Target Name="Clean" DependsOnTargets="CleanSolution"> |
| 73 | + |
| 74 | + <Target Name="CleanClassic" DependsOnTargets="CleanSolutionClassic"> |
67 | 75 | <RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
|
68 | 76 | </Target>
|
69 |
| - <Target Name="CleanSolution" Outputs="%(VisualStudioVersion.Identity)"> |
70 |
| - |
| 77 | + |
| 78 | + <Target Name="CleanModern" DependsOnTargets="CleanSolutionModern"> |
| 79 | + <RemoveDir Directories="$(MSBuildThisFileDirectory)target"/> |
| 80 | + </Target> |
| 81 | + |
| 82 | + <Target Name="CleanSolutionClassic" Outputs="%(VisualStudioVersionClassic.Identity)"> |
71 | 83 | <ItemGroup>
|
72 | 84 | <ProjectToBuild Remove="@(ProjectToBuild)"/>
|
73 |
| - <ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)"> |
74 |
| - <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersion.VisualStudioVersion)</Properties> |
| 85 | + <ProjectToBuild Include="%(VisualStudioVersionClassic.SolutionFile)"> |
| 86 | + <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersionClassic.VisualStudioVersion)</Properties> |
75 | 87 | </ProjectToBuild>
|
76 | 88 | </ItemGroup>
|
77 |
| - <MSBuild Projects="@(ProjectToBuild)" ToolsVersion="%(VisualStudioVersion.ToolsVersion)" Targets="Clean"/> |
| 89 | + <MSBuild Projects="@(ProjectToBuild)" ToolsVersion="%(VisualStudioVersionClassic.ToolsVersion)" Targets="Clean"/> |
78 | 90 | </Target>
|
79 |
| - <Target Name="DownloadNuGet"> |
80 |
| - <MakeDir Directories="$(MSBuildThisFileDirectory)target\nuget"/> |
81 |
| - <DownloadFile |
82 |
| - Address="https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" |
83 |
| - FileName="$(MSBuildThisFileDirectory)target\nuget\nuget.exe"/> |
| 91 | + |
| 92 | + <Target Name="CleanSolutionModern" Outputs="%(VisualStudioVersionModern.Identity)"> |
| 93 | + <ItemGroup> |
| 94 | + <ProjectToBuild Remove="@(ProjectToBuild)"/> |
| 95 | + <ProjectToBuild Include="%(VisualStudioVersionModern.SolutionFile)"> |
| 96 | + <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersionModern.VisualStudioVersion)</Properties> |
| 97 | + </ProjectToBuild> |
| 98 | + </ItemGroup> |
| 99 | + <MSBuild Projects="@(ProjectToBuild)" Targets="Clean"/> |
84 | 100 | </Target>
|
85 |
| - <Target Name="RestoreNuGetPackages" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersion.Identity)"> |
86 |
| - <Message Text="Restoring nuget packages for '%(VisualStudioVersion.SolutionFile)'..." Importance="High"/> |
87 |
| - <Exec Command="$(NuGetExe) restore "%(VisualStudioVersion.SolutionFile)""/> |
| 101 | + |
| 102 | + <Target Name="RestoreNuGetPackagesClassic" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersionClassic.Identity)"> |
| 103 | + <Message Text="Restoring nuget packages for '%(VisualStudioVersionClassic.SolutionFile)'..." Importance="High"/> |
| 104 | + <Exec Command="$(NuGetExe) restore "%(VisualStudioVersionClassic.SolutionFile)""/> |
88 | 105 | </Target>
|
89 |
| - <Target Name="Build" DependsOnTargets="RestoreNuGetPackages" Outputs="%(VisualStudioVersion.Identity)"> |
| 106 | + |
| 107 | + <Target Name="RestoreNuGetPackagesModern" DependsOnTargets="DownloadNuGet" Outputs="%(VisualStudioVersionModern.Identity)"> |
| 108 | + <Message Text="Restoring nuget packages for '%(VisualStudioVersionModern.SolutionFile)'..." Importance="High"/> |
| 109 | + <Exec Command="$(NuGetExe) restore "%(VisualStudioVersionModern.SolutionFile)""/> |
| 110 | + </Target> |
| 111 | + |
| 112 | + <Target Name="BuildClassic" DependsOnTargets="RestoreNuGetPackagesClassic" Outputs="%(VisualStudioVersionClassic.Identity)"> |
90 | 113 | <ItemGroup>
|
91 | 114 | <ProjectToBuild Remove="@(ProjectToBuild)"/>
|
92 |
| - <ProjectToBuild Include="%(VisualStudioVersion.SolutionFile)"> |
93 |
| - <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersion.VisualStudioVersion)</Properties> |
| 115 | + <ProjectToBuild Include="%(VisualStudioVersionClassic.SolutionFile)"> |
| 116 | + <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersionClassic.VisualStudioVersion)</Properties> |
94 | 117 | </ProjectToBuild>
|
95 | 118 | </ItemGroup>
|
96 |
| - <MSBuild Projects="@(ProjectToBuild)" ToolsVersion="%(VisualStudioVersion.ToolsVersion)" Targets="Rebuild"/> |
97 |
| - </Target> |
98 |
| - <Target Name="Package" DependsOnTargets="CreateNuGetPackage;CreateBinPackage;GenerateHelpFile"/> |
99 |
| - <Target Name="CreateNuGetPackage" DependsOnTargets="CopyBuildOutputToPackage"> |
100 |
| - <Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory "$(MSBuildThisFileDirectory)target" -BasePath "$(MSBuildThisFileDirectory)target\package" -NonInteractive"/> |
| 119 | + <MSBuild Projects="@(ProjectToBuild)" ToolsVersion="%(VisualStudioVersionClassic.ToolsVersion)" Targets="Rebuild"/> |
101 | 120 | </Target>
|
102 |
| - <Target Name="CopyBuildOutputToPackage" Outputs="%(TargetFramework.Identity)"> |
| 121 | + |
| 122 | + <Target Name="BuildModern" DependsOnTargets="RestoreNuGetPackagesModern" Outputs="%(VisualStudioVersionModern.Identity)"> |
103 | 123 | <ItemGroup>
|
104 |
| - <BuildOutput Remove="@(BuildOutput)"/> |
105 |
| - <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.dll"/> |
106 |
| - <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\Renci.SshNet.xml"/> |
| 124 | + <ProjectToBuild Remove="@(ProjectToBuild)"/> |
| 125 | + <ProjectToBuild Include="%(VisualStudioVersionModern.SolutionFile)"> |
| 126 | + <Properties>Configuration=Release;VisualStudioVersion=%(VisualStudioVersionModern.VisualStudioVersion)</Properties> |
| 127 | + </ProjectToBuild> |
107 | 128 | </ItemGroup>
|
108 |
| - <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/> |
| 129 | + <MSBuild Projects="@(ProjectToBuild)" ToolsVersion="%(VisualStudioVersionModern.ToolsVersion)" Targets="Rebuild"/> |
109 | 130 | </Target>
|
| 131 | + |
| 132 | + <Target Name="Package" DependsOnTargets="CreateNuGetPackage;CreateBinPackage;GenerateHelpFile"/> |
| 133 | + |
| 134 | + <Target Name="ValidatePackage" DependsOnTargets="ValidatePackageClassic;ValidatePackageModern"/> |
| 135 | + |
| 136 | + <Target Name="ValidatePackageClassic" DependsOnTargets="CheckNuGetPackageDirectory;CheckBinaryZipPackageDirectory" Outputs="%(TargetFrameworkClassic.Identity)"> |
| 137 | + <Error Text="The 'Renci.SshNet.dll' file is not available for %(TargetFrameworkClassic.Identity) in $(NuGetPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)." Condition="!Exists('$(NuGetPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)\Renci.SshNet.dll')"/> |
| 138 | + <Error Text="The 'Renci.SshNet.xml' file is not available for %(TargetFrameworkClassic.Identity) in $(NuGetPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)." Condition="!Exists('$(NuGetPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)\Renci.SshNet.xml')"/> |
| 139 | + <Error Text="The 'Renci.SshNet.dll' file is not available for %(TargetFrameworkClassic.Identity) in $(BinaryZipPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)" Condition="!Exists('$(BinaryZipPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)\Renci.SshNet.dll')"/> |
| 140 | + <Error Text="The 'Renci.SshNet.xml' file is not available for %(TargetFrameworkClassic.Identity) in $(BinaryZipPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)" Condition="!Exists('$(BinaryZipPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)\Renci.SshNet.xml')"/> |
| 141 | + </Target> |
| 142 | + |
| 143 | + <Target Name="ValidatePackageModern" DependsOnTargets="CheckNuGetPackageDirectory;CheckBinaryZipPackageDirectory" Outputs="%(TargetFrameworkModern.Identity)"> |
| 144 | + <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')"/> |
| 145 | + <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')"/> |
| 146 | + <Error Text="The 'Renci.SshNet.dll' file is not available for %(TargetFrameworkModern.Identity) in $(BinaryZipPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)." Condition="!Exists('$(BinaryZipPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)\Renci.SshNet.dll')"/> |
| 147 | + <Error Text="The 'Renci.SshNet.xml' file is not available for %(TargetFrameworkModern.Identity) in $(BinaryZipPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)." Condition="!Exists('$(BinaryZipPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)\Renci.SshNet.xml')"/> |
| 148 | + </Target> |
| 149 | + |
| 150 | + <Target Name="CreateNuGetPackage" DependsOnTargets="ValidatePackage;CheckNuGetPackageDirectory;CheckReleaseVersion"> |
| 151 | + <Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory "$(MSBuildThisFileDirectory)target" -Version "$(ReleaseVersion)" -Properties "copyright=2012-$([System.DateTime]::Now.Year), RENCI" -BasePath "$(NuGetPackageDirectory)" -NonInteractive"/> |
| 152 | + </Target> |
| 153 | + |
110 | 154 | <Target Name="GenerateHelpFile" DependsOnTargets="CheckReleaseVersion">
|
111 | 155 | <Error Text="Please install Sandcastle, and ensure the SHFBFolder environment variable is set." Condition="'$(SHFBFolder)'==''"/>
|
112 | 156 | <MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
|
113 | 157 | <Move SourceFiles="$(MSBuildThisFileDirectory)target\help\SshNet.Help.chm" DestinationFiles="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-help.chm"/>
|
114 | 158 | </Target>
|
115 |
| - <Target Name="CopyBuildOutputToBin" Outputs="%(TargetFramework.Identity)"> |
| 159 | + |
| 160 | + <Target Name="PreparePackageClassic" DependsOnTargets="BuildClassic;CheckNuGetPackageDirectory;CheckBinaryZipPackageDirectory" Outputs="%(TargetFrameworkClassic.Identity)"> |
| 161 | + <ItemGroup> |
| 162 | + <BuildOutput Remove="@(BuildOutput)"/> |
| 163 | + <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFrameworkClassic.OutputDirectory)\Renci.SshNet.dll"/> |
| 164 | + <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFrameworkClassic.OutputDirectory)\Renci.SshNet.xml"/> |
| 165 | + </ItemGroup> |
| 166 | + <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(NuGetPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)"/> |
| 167 | + <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(BinPackageDirectory)\lib\%(TargetFrameworkClassic.Moniker)"/> |
| 168 | + </Target> |
| 169 | + |
| 170 | + <Target Name="PreparePackageModern" DependsOnTargets="BuildModern;CheckNuGetPackageDirectory" Outputs="%(TargetFrameworkModern.Identity)"> |
116 | 171 | <ItemGroup>
|
117 | 172 | <BuildOutput Remove="@(BuildOutput)"/>
|
118 |
| - <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\*.dll"/> |
119 |
| - <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFramework.OutputDirectory)\*.xml"/> |
| 173 | + <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFrameworkModern.OutputDirectory)\Renci.SshNet.dll"/> |
| 174 | + <BuildOutput Include="$(MSBuildThisFileDirectory)..\src\%(TargetFrameworkModern.OutputDirectory)\Renci.SshNet.xml"/> |
120 | 175 | </ItemGroup>
|
121 |
| - <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\bin\lib\%(TargetFramework.Moniker)"/> |
| 176 | + <Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(NuGetPackageDirectory)\lib\%(TargetFrameworkModern.Moniker)"/> |
122 | 177 | </Target>
|
123 |
| - <Target Name="CreateBinPackage" DependsOnTargets="PrepareMSBuildTasksPackage;CopyBuildOutputToBin;CheckReleaseVersion"> |
| 178 | + |
| 179 | + <Target Name="CreateBinPackage" DependsOnTargets="PrepareMSBuildTasksPackage;ValidatePackage;CheckReleaseVersion;CheckBinaryZipPackageDirectory"> |
124 | 180 | <ItemGroup>
|
125 | 181 | <Files Remove="@(Files)"/>
|
126 | 182 | <Files Include="$(MSBuildThisFileDirectory)..\LICENSE"/>
|
| 183 | + <Files Include="$(MSBuildThisFileDirectory)..\THIRD-PARTY-NOTICES.TXT"/> |
127 | 184 | </ItemGroup>
|
128 |
| - <Copy SourceFiles="@(Files)" DestinationFolder="$(MSBuildThisFileDirectory)target\bin\%(RecursiveDir)"/> |
| 185 | + <Copy SourceFiles="@(Files)" DestinationFolder="$(BinaryZipPackageDirectory)\%(RecursiveDir)"/> |
129 | 186 | <ItemGroup>
|
130 | 187 | <Files Remove="@(Files)"/>
|
131 |
| - <Files Include="$(MSBuildThisFileDirectory)target\bin\**"/> |
| 188 | + <Files Include="$(BinaryZipPackageDirectory)\**"/> |
132 | 189 | </ItemGroup>
|
133 |
| - <Zip ZipFileName="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-bin.zip" Files="@(Files)" WorkingDirectory="$(MSBuildThisFileDirectory)target\bin"/> |
| 190 | + <Zip ZipFileName="$(MSBuildThisFileDirectory)target\SSH.NET-$(ReleaseVersion)-bin.zip" Files="@(Files)" WorkingDirectory="$(BinaryZipPackageDirectory)"/> |
| 191 | + </Target> |
| 192 | + |
| 193 | + <Target Name="DownloadNuGet"> |
| 194 | + <MakeDir Directories="$(MSBuildThisFileDirectory)target\nuget"/> |
| 195 | + <DownloadFile |
| 196 | + Address="https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" |
| 197 | + FileName="$(MSBuildThisFileDirectory)target\nuget\nuget.exe"/> |
134 | 198 | </Target>
|
135 | 199 | <Target Name="PrepareMSBuildTasksPackage" DependsOnTargets="DownloadNuGet">
|
136 | 200 | <Exec Command="$(NuGetExe) install $(MSBuildTasksPackageId) -Version $(MSBuildTasksPackageVersion) -OutputDirectory "$(MSBuildThisFileDirectory)target\nuget\packages" -Verbosity quiet"/>
|
137 | 201 | </Target>
|
| 202 | + |
138 | 203 | <Target Name="CheckReleaseVersion" Condition="'$(ReleaseVersion)'==''">
|
139 | 204 | <Error Text= "Please specify the version number of the release (using the "ReleaseVersion" property)."/>
|
140 | 205 | </Target>
|
| 206 | + |
| 207 | + <Target Name="CheckNuGetPackageDirectory" DependsOnTargets="CheckReleaseVersion"> |
| 208 | + <PropertyGroup> |
| 209 | + <NuGetPackageDirectory>$(MSBuildThisFileDirectory)target\nuget-$(ReleaseVersion)</NuGetPackageDirectory> |
| 210 | + </PropertyGroup> |
| 211 | + </Target> |
| 212 | + |
| 213 | + <Target Name="CheckBinaryZipPackageDirectory" DependsOnTargets="CheckReleaseVersion"> |
| 214 | + <PropertyGroup> |
| 215 | + <BinaryZipPackageDirectory>$(MSBuildThisFileDirectory)target\bin-$(ReleaseVersion)</BinaryZipPackageDirectory> |
| 216 | + </PropertyGroup> |
| 217 | + </Target> |
| 218 | + |
141 | 219 | <UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
142 | 220 | <ParameterGroup>
|
143 | 221 | <Address ParameterType="System.String" Required="true"/>
|
|
0 commit comments