374035e756
Co-authored-by: omegaleo <5655201+omegaleo@users.noreply.github.com>
46 lines
2.4 KiB
XML
46 lines
2.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
This file provides local development support for XML documentation generation.
|
|
Import this file in projects that use DocumentationAttribute during development.
|
|
For NuGet consumers, the XmlDocGenerator package will provide this automatically.
|
|
-->
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<PropertyGroup>
|
|
<!-- Enable XML documentation generation from DocumentationAttribute by default -->
|
|
<GenerateXmlDocFromDocumentationAttribute Condition="'$(GenerateXmlDocFromDocumentationAttribute)' == ''">true</GenerateXmlDocFromDocumentationAttribute>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="GenerateXmlDocFromDocumentationAttribute_Local"
|
|
AfterTargets="Build"
|
|
Condition="'$(GenerateXmlDocFromDocumentationAttribute)' == 'true' And '$(TargetFramework)' != ''">
|
|
|
|
<PropertyGroup>
|
|
<!-- For local development, use the built tool from the sibling project -->
|
|
<XmlDocGenToolPath_Local>$(MSBuildThisFileDirectory)OmegaLeo.HelperLib.XmlDocGenerator/bin/$(Configuration)/net9.0/OmegaLeo.HelperLib.XmlDocGenerator.dll</XmlDocGenToolPath_Local>
|
|
<!-- Target the final output assembly and XML, not intermediate -->
|
|
<TargetAssemblyPath>$(TargetDir)$(TargetFileName)</TargetAssemblyPath>
|
|
<TargetXmlDocPath>$(TargetDir)$(TargetName).xml</TargetXmlDocPath>
|
|
</PropertyGroup>
|
|
|
|
<Message Text="[DocumentationAttribute] Generating XML documentation from DocumentationAttribute for $(TargetName)"
|
|
Importance="high"
|
|
Condition="Exists('$(XmlDocGenToolPath_Local)') And Exists('$(TargetAssemblyPath)')" />
|
|
|
|
<Message Text="[DocumentationAttribute] Local tool not found at: $(XmlDocGenToolPath_Local)"
|
|
Importance="high"
|
|
Condition="!Exists('$(XmlDocGenToolPath_Local)')" />
|
|
|
|
<Message Text="[DocumentationAttribute] Target assembly not found at: $(TargetAssemblyPath)"
|
|
Importance="high"
|
|
Condition="!Exists('$(TargetAssemblyPath)')" />
|
|
|
|
<!-- Run the XmlDocGenerator tool -->
|
|
<Exec Command="dotnet "$(XmlDocGenToolPath_Local)" "$(TargetAssemblyPath)" "$(TargetXmlDocPath)""
|
|
Condition="Exists('$(XmlDocGenToolPath_Local)') And Exists('$(TargetAssemblyPath)')"
|
|
IgnoreExitCode="true"
|
|
ContinueOnError="true" />
|
|
</Target>
|
|
|
|
</Project>
|