Skip to content

Commit afd1006

Browse files
authored
Add worker extension validation to CI (#2764)
1 parent f249435 commit afd1006

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

Directory.Build.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,8 @@
1111
<TargetsRoot>$(EngRoot)build/</TargetsRoot>
1212
</PropertyGroup>
1313

14+
<PropertyGroup Condition="'$(TF_BUILD)' == 'true'">
15+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
16+
</PropertyGroup>
17+
1418
</Project>

eng/build/WorkerExtensions.targets

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
<Project>
2+
<PropertyGroup>
3+
<_ExtensionProjectTemplate>$(MSBuildThisFileDirectory)/extensionValidationProjectTemplate.txt</_ExtensionProjectTemplate>
4+
<_ExtensionValidationLocation>$(IntermediateOutputPath)ExtensionValidation/</_ExtensionValidationLocation>
5+
</PropertyGroup>
6+
27
<Target Name="AddWebJobsExtensionInformation" BeforeTargets="GetAssemblyAttributes" Condition="'@(WebJobsExtension)' != ''">
38
<ItemGroup>
49
<_ExtensionInformationAttribute Include="@(WebJobsExtension->'Microsoft.Azure.Functions.Worker.Extensions.Abstractions.ExtensionInformationAttribute')">
@@ -8,4 +13,18 @@
813
<AssemblyAttribute Include="@(_ExtensionInformationAttribute)" RemoveMetadata="Version" />
914
</ItemGroup>
1015
</Target>
16+
17+
<Target Name="GenerateExtensionProject" AfterTargets="Compile" Condition="'@(WebJobsExtension)' != '' and '$(ContinuousIntegrationBuild)' == 'true'">
18+
<MakeDir Directories="$(_ExtensionValidationLocation)" />
19+
<WriteLinesToFile
20+
File="$(_ExtensionValidationLocation)ExtensionValidation.csproj"
21+
Lines="$([System.IO.File]::ReadAllText($(_ExtensionProjectTemplate))
22+
.Replace('$PackageName$', '%(WebJobsExtension.Identity)')
23+
.Replace('$PackageVersion$', '%(WebJobsExtension.Version)'))"
24+
Overwrite="true" />
25+
</Target>
26+
27+
<Target Name="RestoreGeneratedExtensionProject" AfterTargets="GenerateExtensionProject" Condition="'@(WebJobsExtension)' != '' and '$(ContinuousIntegrationBuild)' == 'true'">
28+
<MSBuild Projects="$(_ExtensionValidationLocation)ExtensionValidation.csproj" Targets="Restore" />
29+
</Target>
1130
</Project>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>net8.0</TargetFramework>
4+
<OutputType>Library</OutputType>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<PackageReference Include="$PackageName$" Version="$PackageVersion$" />
9+
</ItemGroup>
10+
</Project>

0 commit comments

Comments
 (0)