# This list is processed using FileSystemName.MatchesSimpleExpression
#
# Format
#   Exclude the path entirely:
#     <path> [# comment]
#   Exclude a path from a specific sdk:
#     <path>|{msft|sb} [# comment]
#   msft = Microsoft built SDK
#   sb   = source-built SDK
#
# '*' in exclusions match zero or more characters.
# '*' will match files and directory names but it will not match separator characters.
# '/' will be evaluated as '/**' if it is the last character.
#
# Examples
# 'folder/*' matches all files and directories in 'folder/'. It will not match 'folder/abc/def'
# 'folder/' is equivalent to 'folder/**. It matches 'folder/', 'folder/abc', and 'folder/abc/def/'

./sdk/x.y.z/TestHostNetFramework/|msft   # Intentional - MSFT build includes test-host that targets netcoreapp3.1
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/|msft   # Intentional - netfx excluded from source-build

# netfx tooling and tasks, not building in source-build - https://github.com/dotnet/source-build/issues/3514
./sdk/x.y.z/Sdks/Microsoft.Build.Tasks.Git/tools/netframework/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/tasks/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Web/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Web.ProjectSystem/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WebAssembly/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Worker/tools/net472/|msft
./sdk/x.y.z/Sdks/Microsoft.SourceLink.AzureRepos.Git/tools/netframework/|msft
./sdk/x.y.z/Sdks/Microsoft.SourceLink.Bitbucket.Git/tools/netframework/|msft
./sdk/x.y.z/Sdks/Microsoft.SourceLink.Common/tools/netframework/|msft
./sdk/x.y.z/Sdks/Microsoft.SourceLink.GitHub/tools/netframework/|msft
./sdk/x.y.z/Sdks/Microsoft.SourceLink.GitLab/tools/netframework/|msft

# CodeCoverage is excluded from source-build (old component) - https://github.com/microsoft/vstest/pull/15239
./sdk/x.y.z/Microsoft.CodeCoverage.IO.dll
./sdk/x.y.z/*/Microsoft.CodeCoverage.IO.resources.dll|msft

# EventLogCollector is excluded from source-build (Windows only collector) - https://github.com/microsoft/vstest/pull/15239
./sdk/x.y.z/Extensions/Microsoft.TestPlatform.Extensions.EventLogCollector.dll|msft
./sdk/x.y.z/Extensions/*/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll|msft

# nuget has multiple copies and inconsistencies between MSFT and SB - https://github.com/dotnet/sdk/issues/50218
./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/

# linux runtimes are included in source-build for self-contained apps - https://github.com/dotnet/source-build/issues/3507
./packs/Microsoft.AspNetCore.App.Runtime.*/|sb
./packs/Microsoft.NETCore.App.Runtime.*/|sb

./sdk/x.y.z/*/dump/|msft

# Needed for source-built NativeAOT with the source-built SDK
./library-packs/|sb
./packs/runtime.banana-rid.Microsoft.DotNet.ILCompiler/|sb

# Exclude format and watch tools due to too much noise
./sdk/x.y.z/DotnetTools/dotnet-format/
./sdk/x.y.z/DotnetTools/dotnet-watch/

# Exclude bincore directory due to too much noise - https://github.com/dotnet/source-build/issues/4534
./sdk/x.y.z/Roslyn/bincore/
