|
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