Microsoft.Extensions.ApiDescription.Server.targets 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <Project>
  3. <PropertyGroup>
  4. <!-- Default value may lead to an inner build error if $(OpenApiGenerateDocuments) is explicitly set to 'true'. -->
  5. <_OpenApiGenerateDocumentsTFM>$(TargetFrameworks.Trim(';').Split(';')[0])</_OpenApiGenerateDocumentsTFM>
  6. <!-- Prefer first TFM of those the tool supports. -->
  7. <_Temporary>$(TargetFrameworks
  8. .Replace('netcoreapp1.0', '')
  9. .Replace('netcoreapp1.1', '')
  10. .Replace('netcoreapp2.0', '')
  11. .Trim(';'))</_Temporary>
  12. <_OpenApiGenerateDocumentsTFM
  13. Condition=" '$(_Temporary)' != '' ">$(_Temporary.Split(';')[0])</_OpenApiGenerateDocumentsTFM>
  14. <OpenApiGenerateDocuments
  15. Condition=" '$(OpenApiGenerateDocuments)' == '' AND '$(_Temporary)' != '' ">true</OpenApiGenerateDocuments>
  16. <OpenApiGenerateDocumentsOnBuild
  17. Condition=" '$(OpenApiGenerateDocumentsOnBuild)' == '' ">$(OpenApiGenerateDocuments)</OpenApiGenerateDocumentsOnBuild>
  18. <_Temporary />
  19. </PropertyGroup>
  20. <ItemGroup Condition=" '$(OpenApiGenerateDocuments)' == 'true' ">
  21. <ProjectCapability Include="OpenApiGenerateDocuments" />
  22. </ItemGroup>
  23. <Target Name="GenerateOpenApiDocuments">
  24. <MSBuild Projects="$(MSBuildProjectFile)"
  25. Targets="GenerateOpenApiDocuments"
  26. Properties="TargetFramework=$(_OpenApiGenerateDocumentsTFM)"
  27. RemoveProperties="RuntimeIdentifier" />
  28. </Target>
  29. <Target Name="_GenerateOpenApiDocuments"
  30. BeforeTargets="Build"
  31. Condition=" '$(OpenApiGenerateDocumentsOnBuild)' == 'true' "
  32. DependsOnTargets="GenerateOpenApiDocuments" />
  33. <Target Name="OpenApiGetDocuments" Returns="@(_OpenApiProjectDocuments)">
  34. <MSBuild Projects="$(MSBuildProjectFile)"
  35. Targets="OpenApiGetDocuments"
  36. Properties="TargetFramework=$(_OpenApiGenerateDocumentsTFM)"
  37. RemoveProperties="RuntimeIdentifier">
  38. <Output TaskParameter="TargetOutputs" ItemName="_OpenApiProjectDocuments" />
  39. </MSBuild>
  40. </Target>
  41. </Project>