# 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/|msft   # Intentional - explicitly 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

# vstest localization is disabled in Linux builds - https://github.com/dotnet/source-build/issues/3517
./sdk/x.y.z/*/Microsoft.CodeCoverage.IO.resources.dll|msft

# nuget localization is not available for Linux builds - https://github.com/NuGet/Home/issues/12440
./sdk/x.y.z/*/NuGet.*.resources.dll|msft

# ILMerge is not supported in Linux builds - excluding the whole NuGet.Build.Tasks.Pack directory, to avoid a noisy diff
./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/

# missing workload manifests - https://github.com/dotnet/source-build/issues/3242
./sdk-manifests/x.y.z/microsoft.net.sdk.android/|msft
./sdk-manifests/x.y.z/microsoft.net.sdk.ios/|msft
./sdk-manifests/x.y.z/microsoft.net.sdk.maccatalyst/|msft
./sdk-manifests/x.y.z/microsoft.net.sdk.macos/|msft
./sdk-manifests/x.y.z/microsoft.net.sdk.maui/|msft
./sdk-manifests/x.y.z/microsoft.net.sdk.tvos/|msft

# 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

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

./sdk/x.y.z/Extensions/cs/|msft
./sdk/x.y.z/Extensions/de/|msft
./sdk/x.y.z/Extensions/es/|msft
./sdk/x.y.z/Extensions/fr/|msft
./sdk/x.y.z/Extensions/it/|msft
./sdk/x.y.z/Extensions/ja/|msft
./sdk/x.y.z/Extensions/ko/|msft
./sdk/x.y.z/Extensions/pl/|msft
./sdk/x.y.z/Extensions/pt-BR/|msft
./sdk/x.y.z/Extensions/ru/|msft
./sdk/x.y.z/Extensions/tr/|msft
./sdk/x.y.z/Extensions/zh-Hans/|msft
./sdk/x.y.z/Extensions/zh-Hant/|msft

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

# https://github.com/dotnet/source-build/issues/4079
./sdk/x.y.z/*/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll|sb
./sdk/x.y.z/*/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll|sb
./sdk/x.y.z/*/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll|sb
./sdk/x.y.z/*/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll|sb
./sdk/x.y.z/*/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll|sb

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

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