eng/build/Workers.Dotnet.props (21 lines of code) (raw):

<Project> <ItemGroup> <PackageReference Include="Microsoft.Azure.Functions.DotNetIsolatedNativeHost" Version="1.0.12" /> </ItemGroup> <Target Name="CleanDotnetWorkerFiles" BeforeTargets="AssignTargetPaths" Condition="'$(RuntimeIdentifier)' != ''"> <!-- Remove unnecessary dotnet isolated files --> <PropertyGroup> <!-- Using Path.Combine to ensure correct dir separator for the OS. --> <_DotnetWorkerBinFolder>$([System.IO.Path]::Combine('workers', 'dotnet-isolated', 'bin'))</_DotnetWorkerBinFolder> <_DotnetWorkerBinFolder>$([MSBuild]::EnsureTrailingSlash($(_DotnetWorkerBinFolder)))</_DotnetWorkerBinFolder> <_DotnetWorkerManifestFolder>$([System.IO.Path]::Combine('$(_DotnetWorkerBinFolder)', 'prelaunchapps', '_manifest', 'spdx_2.2'))</_DotnetWorkerManifestFolder> <_DotnetWorkerManifestFolder>$([MSBuild]::EnsureTrailingSlash($(_DotnetWorkerManifestFolder)))</_DotnetWorkerManifestFolder> </PropertyGroup> <ItemGroup> <!-- Get all files from the dotnet worker package. --> <_DotnetWorkerFiles Include="@(None)" Condition="'%(None.NuGetPackageId)' == 'Microsoft.Azure.Functions.DotNetIsolatedNativeHost'" /> <!-- Remove 'bin/prelaunchapps/_manifest' folder for all runtimes. --> <_DotnetWorkerToRemove Include="@(_DotnetWorkerFiles)" Condition="'%(DestinationSubDirectory)' == '$(_DotnetWorkerManifestFolder)'" /> <!-- Get files immediately under /bin --> <_DotnetWorkerBinFiles Include="@(_DotnetWorkerFiles)" Condition="'%(DestinationSubDirectory)' == '$(_DotnetWorkerBinFolder)'" /> <!-- For Windows, remove all non .dll and .exe files --> <_DotnetWorkerToRemove Include="@(_DotnetWorkerBinFiles)" Condition="$(RuntimeIdentifier.StartsWith('win')) AND '%(Extension)' != '.dll' AND '%(Extension)' != '.exe'" /> <!-- For Linux, remove all non no-extension and .so files --> <_DotnetWorkerToRemove Include="@(_DotnetWorkerBinFiles)" Condition="$(RuntimeIdentifier.StartsWith('linux')) AND '%(Extension)' != '.so' AND '%(Extension)' != ''" /> <None Remove="@(_DotnetWorkerToRemove)" /> </ItemGroup> </Target> </Project>