|
6 | 6 | <_FunctionsExtensionsTasksDir Condition=" '$(_FunctionsExtensionsTasksDir)'=='' ">$(MSBuildThisFileDirectory)..\tools\$(_FunctionsExtensionsTaskFramework)</_FunctionsExtensionsTasksDir> |
7 | 7 | <_FunctionsExtensionsTaskAssemblyFullPath Condition=" '$(_FunctionsExtensionsTaskAssemblyFullPath)'=='' ">$(_FunctionsExtensionsTasksDir)\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.dll</_FunctionsExtensionsTaskAssemblyFullPath> |
8 | 8 | <_FunctionsExtensionsDir>$(TargetDir)</_FunctionsExtensionsDir> |
| 9 | + <_FunctionsExtensionsDir Condition="$(_IsFunctionsSdkBuild) == 'true'">$(_FunctionsExtensionsDir)bin</_FunctionsExtensionsDir> |
9 | 10 | <_ExtensionsMetadataGeneratorTargetsImported>true</_ExtensionsMetadataGeneratorTargetsImported> |
10 | 11 | <IsPackable>false</IsPackable> |
11 | | - </PropertyGroup> |
12 | | - |
13 | | - <!-- |
14 | | - These properties must be overwritten in a Target because they depend on the |
15 | | - Microsoft.NET.Sdk.Functions.targets properties being evaluated first. This cannot |
16 | | - be guaranteed if a direct reference is added to the ExtensionsMetadataGenerator |
17 | | - package. Running this after _InitializeFunctionsSdk (which exists in the Microsoft.Net.Sdk.Functions |
18 | | - package) ensures that properties from that file are already evaluated. |
19 | | - --> |
20 | | - <Target Name="_InitializeExtensionMetadataGeneratorProps" AfterTargets="_InitializeFunctionsSdk"> |
21 | | - <PropertyGroup> |
22 | | - <_IsFunctionsSdkBuild Condition="$(_FunctionsTaskFramework) != ''">true</_IsFunctionsSdkBuild> |
23 | | - <_FunctionsExtensionsDir Condition="$(_IsFunctionsSdkBuild) == 'true'">$(_FunctionsExtensionsDir)bin</_FunctionsExtensionsDir> |
24 | | - </PropertyGroup> |
25 | | - </Target> |
| 12 | + |
| 13 | + <!-- If the Sdk is present, we want to make sure that we generate extension metadata (extensions.json) and clean the output after |
| 14 | + the function metdata (function.json) has been generated. If not, we may delete files that function generation needs. |
| 15 | + If the Sdk is not present, we need this to run after Build, as there is no function metadata generation step. --> |
| 16 | + <_GenerateFunctionsExtensionsMetadataPostBuildAfterTargets>Build</_GenerateFunctionsExtensionsMetadataPostBuildAfterTargets> |
| 17 | + <_GenerateFunctionsExtensionsMetadataPostBuildAfterTargets Condition="$(_IsFunctionsSdkBuild) != ''">_GenerateFunctionsPostBuild</_GenerateFunctionsExtensionsMetadataPostBuildAfterTargets> |
| 18 | + </PropertyGroup> |
26 | 19 |
|
27 | 20 | <UsingTask TaskName="RemoveRuntimeDependencies" |
28 | 21 | AssemblyFile="$(_FunctionsExtensionsTaskAssemblyFullPath)"/> |
|
39 | 32 | AssemblyFile="$(_FunctionsExtensionsTaskAssemblyFullPath)"/> |
40 | 33 |
|
41 | 34 | <Target Name="_GenerateFunctionsExtensionsMetadataPostBuild" |
42 | | - AfterTargets="Build"> |
| 35 | + AfterTargets="$(_GenerateFunctionsExtensionsMetadataPostBuildAfterTargets)"> |
43 | 36 |
|
44 | 37 | <GenerateFunctionsExtensionsMetadata |
45 | 38 | SourcePath="$(_FunctionsExtensionsDir)" |
|
0 commit comments