|
1 | 1 | <Project>
|
2 | 2 |
|
| 3 | + <PropertyGroup> |
| 4 | + <UseCompilerGeneratedDocXmlFile Condition="'$(UseCompilerGeneratedDocXmlFile)' == ''">true</UseCompilerGeneratedDocXmlFile> |
| 5 | + </PropertyGroup> |
| 6 | + |
3 | 7 | <PropertyGroup Condition="'$(UseCompilerGeneratedDocXmlFile)' != 'true'">
|
4 | 8 | <IntellisensePackageXmlRootFolder>$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.private.intellisense', '$(MicrosoftPrivateIntellisenseVersion)', 'IntellisenseFiles'))</IntellisensePackageXmlRootFolder>
|
5 | 9 | <IntellisensePackageXmlFilePathFromNetFolder>$([MSBuild]::NormalizePath('$(IntellisensePackageXmlRootFolder)', 'net', '1033', '$(AssemblyName).xml'))</IntellisensePackageXmlFilePathFromNetFolder>
|
|
10 | 14 | <IntermediateDocFileItemFromIntellisensePackage>$(IntermediateOutputPath)$(TargetName).intellisense-package.xml</IntermediateDocFileItemFromIntellisensePackage>
|
11 | 15 |
|
12 | 16 | <!-- Suppress "CS1591 - Missing XML comment for publicly visible type or member" compiler errors when the intellisense package xml file is used. -->
|
13 |
| - <NoWarn Condition="'$(SkipIntellisenseNoWarnCS1591)' != 'true'">$(NoWarn);1591</NoWarn> |
| 17 | + <NoWarn Condition="'$(SkipIntellisenseNoWarnCS1591)' != 'true'">$(NoWarn);CS1591</NoWarn> |
14 | 18 | </PropertyGroup>
|
15 | 19 |
|
16 | 20 | <!-- Flow these properties to consuming projects for Microsoft.Internal.Runtime.DotNetApiDocs.Transport.proj to only
|
|
20 | 24 | <UseCompilerGeneratedDocXmlFile>$(UseCompilerGeneratedDocXmlFile)</UseCompilerGeneratedDocXmlFile>
|
21 | 25 | <IsPartialFacadeAssembly>$(IsPartialFacadeAssembly)</IsPartialFacadeAssembly>
|
22 | 26 | <IsPlatformNotSupportedAssembly Condition="'$(GeneratePlatformNotSupportedAssemblyMessage)' != ''">true</IsPlatformNotSupportedAssembly>
|
| 27 | + <SuppressPlatformNotSupportedAssemblyDocXmlError>$(SuppressPlatformNotSupportedAssemblyDocXmlError)</SuppressPlatformNotSupportedAssemblyDocXmlError> |
23 | 28 | </TargetPathWithTargetPlatformMoniker>
|
24 | 29 | </ItemDefinitionGroup>
|
25 | 30 |
|
26 | 31 | <ItemGroup>
|
27 | 32 | <PackageDownload Include="Microsoft.Private.Intellisense" Version="[$(MicrosoftPrivateIntellisenseVersion)]" />
|
28 | 33 | </ItemGroup>
|
29 | 34 |
|
| 35 | + <!-- Warn if the docs team provided package doesn't have an intellisense file for a given library and the library explicitly |
| 36 | + opts out from using the compiler generated xml file. --> |
| 37 | + <Target Name="ValidateIntellisensePackageXmlFilePathExists" |
| 38 | + Condition="'$(UseCompilerGeneratedDocXmlFile)' != 'true' and |
| 39 | + '$(IntellisensePackageXmlFilePath)' == ''" |
| 40 | + BeforeTargets="CoreCompile"> |
| 41 | + <Warning Text="The 'UseCompilerGeneratedDocXmlFile' property was set to '$(UseCompilerGeneratedDocXmlFile)', but the doc team doesn't provide a file for this assembly. Remove the 'UseCompilerGeneratedDocXmlFile' property to let the compiler generate the file." /> |
| 42 | + </Target> |
| 43 | + |
30 | 44 | <!-- Prepare the intellisense package xml file by copying it to the project's intermediate folder and update its file timestamp.
|
31 | 45 | This is necessary so that all project outputs are newer than all project inputs. Directly copying from the intellisense package
|
32 | 46 | would violate that and break fast up-to-date check. -->
|
|
0 commit comments