|
188 | 188 | </PublishContainerDependsOn>
|
189 | 189 | </PropertyGroup>
|
190 | 190 |
|
191 |
| - <!-- TODO: change this comparison to include $(EnableSdkContainerSupport) == true when console apps Import the Publish SDK --> |
| 191 | + <Target Name="_CheckContainersPackage" AfterTargets="Build"> |
| 192 | + <PropertyGroup> |
| 193 | + <!-- facts to base on comparisons on --> |
| 194 | + <_ContainersPackageIdentity>Microsoft.NET.Build.Containers</_ContainersPackageIdentity> |
| 195 | + <_WebDefaultSdkVersion>7.0.300</_WebDefaultSdkVersion> |
| 196 | + <_WorkerDefaultSdkVersion>8.0.100</_WorkerDefaultSdkVersion> |
| 197 | + <_ConsoleDefaultSdkVersion>8.0.200</_ConsoleDefaultSdkVersion> |
| 198 | + |
| 199 | + <!-- capability detection for the executing SDK --> |
| 200 | + <_SdkCanPublishWeb>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '$(_WebDefaultSdkVersion)'))</_SdkCanPublishWeb> |
| 201 | + <_SdkCanPublishWorker>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '$(_WorkerDefaultSdkVersion)'))</_SdkCanPublishWorker> |
| 202 | + <_SdkCanPublishConsole>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '$(_ConsoleDefaultSdkVersion)'))</_SdkCanPublishConsole> |
| 203 | + |
| 204 | + <!-- capability detection for the executing project --> |
| 205 | + <_ContainerPackageIsPresent>false</_ContainerPackageIsPresent> |
| 206 | + <_ContainerPackageIsPresent Condition="@(PackageReference->AnyHaveMetadataValue('Identity', '$(_ContainersPackageIdentity)'))">true</_ContainerPackageIsPresent> |
| 207 | + <_IsWebProject>false</_IsWebProject> |
| 208 | + <_IsWebProject Condition="@(ProjectCapability->AnyHaveMetadataValue('Identity', 'DotNetCoreWeb'))">true</_IsWebProject> |
| 209 | + <_IsWorkerProject>false</_IsWorkerProject> |
| 210 | + <_IsWorkerProject Condition="@(ProjectCapability->AnyHaveMetadataValue('Identity', 'DotNetCoreWorker'))">true</_IsWorkerProject> |
| 211 | + </PropertyGroup> |
| 212 | + |
| 213 | + <Warning |
| 214 | + Condition="$(_ContainerPackageIsPresent) |
| 215 | + and ( |
| 216 | + ($(_SdkCanPublishWeb) and $(_IsWebProject)) or |
| 217 | + ($(_SdkCanPublishWorker) and $(_IsWorkerProject)) or |
| 218 | + ($(_SdkCanPublishConsole) and '$(EnableSdkContainerSupport)' == 'true') |
| 219 | + )" |
| 220 | + Text="The $(_ContainersPackageIdentity) NuGet package is explicitly referenced but the current SDK can natively publish the project as a container. Consider removing the package reference to $(_ContainersPackageIdentity) because it is no longer needed." /> |
| 221 | + |
| 222 | + <PropertyGroup> |
| 223 | + <EnableSdkContainerSupport Condition="'@(ContainersPackage)' != ''">true</EnableSdkContainerSupport> |
| 224 | + </PropertyGroup> |
| 225 | + </Target> |
| 226 | + |
192 | 227 | <Target Name="PublishContainer"
|
193 | 228 | DependsOnTargets="$(PublishContainerDependsOn)"
|
194 | 229 | Condition="'$(IsPublishable)' == 'true'">
|
|
0 commit comments