5 instantiations of FileMatcher
Microsoft.Build (1)
Evaluation\Context\EvaluationContext.cs (1)
71
FileMatcher = new
FileMatcher
(FileSystem, FileEntryExpansionCache);
Microsoft.Build.Framework (1)
Utilities\FileMatcher.cs (1)
90
public static FileMatcher Default = new
FileMatcher
(FileSystems.Default, null);
Microsoft.Build.Framework.UnitTests (3)
FileMatcher_Tests.cs (3)
132
var fileMatcherWithCache = new
FileMatcher
(FileSystems.Default, new ConcurrentDictionary<string, IReadOnlyList<string>>());
2422
var fileMatcher = new
FileMatcher
(new FileSystemAdapter(mockFileSystem), mockFileSystem.GetAccessibleFileSystemEntries);
2492
private static FileMatcher loopBackFileMatcher = new
FileMatcher
(FileSystems.Default, GetFileSystemEntriesLoopBack);
135 references to FileMatcher
Microsoft.Build (37)
BackEnd\BuildManager\BuildManager.cs (1)
3019
FileMatcher
.ClearCaches();
Construction\ProjectItemElement.cs (1)
349
_includeHasWildcards = (Include != null) &&
FileMatcher
.HasWildcards(_include);
Definition\BuiltInMetadata.cs (2)
107
FileMatcher
.Result match =
FileMatcher
.Default.FileMatch(evaluatedIncludeBeforeWildcardExpansion, evaluatedInclude);
Definition\Project.cs (7)
1707
var hasCharactersThatRequireSplitting =
FileMatcher
.HasWildcardsSemicolonItemOrPropertyReferences(itemElement.Include);
3103
FileMatcher
.HasWildcardsSemicolonItemOrPropertyReferences(unevaluatedInclude) ||
3442
var hasCharactersThatRequireSplitting =
FileMatcher
.HasWildcardsSemicolonItemOrPropertyReferences(itemElement.Include);
3475
if (!
FileMatcher
.HasWildcards(existingIncludePiece))
3480
FileMatcher
.Result match =
FileMatcher
.Default.FileMatch(existingIncludePiece, unevaluatedInclude);
3863
if (
FileMatcher
.HasWildcardsSemicolonItemOrPropertyReferences(unevaluatedInclude))
Definition\ProjectItem.cs (1)
700
if (_xml.Count == 0 /* no metadata */ && _project.IsSuitableExistingItemXml(_xml, name, null /* no metadata */) && !
FileMatcher
.HasWildcardsSemicolonItemOrPropertyReferences(name))
Evaluation\Context\EvaluationContext.cs (1)
56
internal
FileMatcher
FileMatcher { get; }
Evaluation\Evaluator.cs (1)
1589
bool containsWildcards =
FileMatcher
.HasWildcards(importElement.Project);
Evaluation\ItemSpec.cs (1)
228
if (!
FileMatcher
.HasWildcards(splitEscaped))
Evaluation\LazyItemEvaluator.cs (1)
50
protected
FileMatcher
FileMatcher => EvaluationContext.FileMatcher;
Evaluation\LazyItemEvaluator.LazyItemOperation.cs (1)
54
protected
FileMatcher
FileMatcher => _lazyEvaluator.FileMatcher;
FileSystem\DirectoryCacheFileSystemWrapper.cs (2)
86
return
FileMatcher
.IsAllFilesWildcard(searchPattern) ||
FileMatcher
.IsMatch(fileName, searchPattern);
Globbing\MSBuildGlob.cs (4)
128
FileMatcher
.GetRegexMatchInfo(
185
FileMatcher
.Default.GetFileSpecInfo(
202
string matchFileExpression =
FileMatcher
.RegularExpressionFromFileSpec(fixedDirectoryPart, wildcardDirectoryPart, filenamePart);
211
RegexOptions regexOptions =
FileMatcher
.DefaultRegexOptions;
Utilities\EngineFileUtilities.cs (10)
70
fileMatcher:
FileMatcher
.Default,
106
FileMatcher
? fileMatcher = null,
121
fileMatcher ??
FileMatcher
.Default,
133
if (!
FileMatcher
.HasWildcards(filespecEscaped))
178
FileMatcher
fileMatcher,
219
FileMatcher
.Default.GetFileSpecInfo(filespecUnescaped, out string directoryPart, out string wildcardPart, out string filenamePart, out bool needsRecursion, out bool isLegalFileSpec);
222
bool logDriveEnumeratingWildcard =
FileMatcher
.IsDriveEnumeratingWildcardPattern(directoryPart, wildcardPart);
229
FileMatcher
.Default.GetFileSpecInfo(excludeSpec, out directoryPart, out wildcardPart, out filenamePart, out needsRecursion, out isLegalFileSpec);
230
bool logDriveEnumeratingWildcardFromExludeSpec =
FileMatcher
.IsDriveEnumeratingWildcardPattern(directoryPart, wildcardPart);
561
var hasBothWildcardsAndEscapedWildcards =
FileMatcher
.HasWildcards(exclude) && EscapingUtilities.ContainsEscapedWildcards(exclude);
Utilities\FileSpecMatchTester.cs (4)
91
if (!
FileMatcher
.IsMatch(filename, _filenamePattern))
108
FileMatcher
.Default.SplitFileSpec(
122
if (string.IsNullOrEmpty(fixedDirPart) &&
FileMatcher
.IsRecursiveDirectoryMatch(wildcardDirectoryPart))
139
FileMatcher
.Default.GetFileSpecInfoWithRegexObject(
Microsoft.Build.Engine.UnitTests (1)
Evaluation\ItemEvaluation_Tests.cs (1)
697
FileMatcher
.ClearCaches();
Microsoft.Build.Framework (2)
Utilities\FileMatcher.cs (2)
90
public static
FileMatcher
Default = new FileMatcher(FileSystems.Default, null);
578
fixedDirectoryPart =
FileMatcher
.GetLongPathName(fixedDirectoryPart, _getFileSystemEntries);
Microsoft.Build.Framework.UnitTests (77)
FileMatcher_Tests.cs (77)
67
string[] fileMatches =
FileMatcher
.Default.GetFiles(testFolder.Path, pattern).FileList;
83
string[] fileMatches =
FileMatcher
.Default.GetFiles(testFolder.Path, "**").FileList;
110
void VerifyImpl(
FileMatcher
fileMatcher, string include, string[] excludes, bool shouldHaveNoMatches = false, string customMessage = null)
132
var
fileMatcherWithCache = new FileMatcher(FileSystems.Default, new ConcurrentDictionary<string, IReadOnlyList<string>>());
137
VerifyImpl(
FileMatcher
.Default, include, excludes, shouldHaveNoMatches, customMessage);
592
Assert.Equal(input.Item3,
FileMatcher
.IsMatch(input.Item1, input.Item2));
593
Assert.Equal(input.Item3,
FileMatcher
.IsMatch(input.Item1.ToUpperInvariant(), input.Item2));
594
Assert.Equal(input.Item3,
FileMatcher
.IsMatch(input.Item1, input.Item2.ToUpperInvariant()));
610
private static IReadOnlyList<string> GetFileSystemEntries(
FileMatcher
.FileSystemEntity entityType, string path, string pattern, string projectDirectory, bool stripProjectDirectory)
776
FileMatcher
.Normalize(inputString).ShouldBe(expectedString);
828
string longPath =
FileMatcher
.GetLongPathName(
830
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
844
string longPath =
FileMatcher
.GetLongPathName(
846
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
860
string longPath =
FileMatcher
.GetLongPathName(
862
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
876
string longPath =
FileMatcher
.GetLongPathName(
878
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
892
string longPath =
FileMatcher
.GetLongPathName(
894
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
908
string longPath =
FileMatcher
.GetLongPathName(
910
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
924
string longPath =
FileMatcher
.GetLongPathName(
926
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
940
string longPath =
FileMatcher
.GetLongPathName(
942
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
957
string longPath =
FileMatcher
.GetLongPathName(
959
new
FileMatcher
.GetFileSystemEntries(FileMatcherTest.GetFileSystemEntries));
1256
files =
FileMatcher
.Default.GetFiles(workingPath, offendingPattern).FileList;
1268
var files =
FileMatcher
.Default.GetFiles(workingPath, offendingPattern).FileList;
1288
var files =
FileMatcher
.Default.GetFiles(workingPath, offendingPattern).FileList;
1313
var files =
FileMatcher
.Default.GetFiles(testProject.TestRoot, "**/*.cs").FileList;
1317
files =
FileMatcher
.Default.GetFiles(testProject.TestRoot, "**/*.cs", new List<string> { "a.cs" }).FileList;
1321
files =
FileMatcher
.Default.GetFiles(testProject.TestRoot, "**/*.cs", new List<string> { "a.cs", "c.cs" }).FileList;
1328
FileMatcher
.ClearCaches();
1356
FileMatcher
.IsDriveEnumeratingWildcardPattern(directoryPart, wildcardPart).ShouldBeTrue();
1380
(string[] fileList,
FileMatcher
.SearchAction action, string excludeFileSpec, _) =
FileMatcher
.Default.GetFiles(
1384
action.ShouldBe(
FileMatcher
.SearchAction.FailOnDriveEnumeratingWildcard);
1389
(fileList, action, excludeFileSpec, _) =
FileMatcher
.Default.GetFiles(
1394
action.ShouldBe(
FileMatcher
.SearchAction.FailOnDriveEnumeratingWildcard);
1421
(_,
FileMatcher
.SearchAction action, string excludeFileSpec, _) =
FileMatcher
.Default.GetFiles(
1425
action.ShouldBe(
FileMatcher
.SearchAction.LogDriveEnumeratingWildcard);
1429
(_, action, excludeFileSpec, _) =
FileMatcher
.Default.GetFiles(
1434
action.ShouldBe(
FileMatcher
.SearchAction.LogDriveEnumeratingWildcard);
1465
FileMatcher
.IsDriveEnumeratingWildcardPattern(directoryPart, wildcardPart).ShouldBeFalse();
1471
strings =
FileMatcher
.RemoveProjectDirectory(strings, NativeMethodsShared.IsWindows ? "c:\\" : "/").ToArray();
1475
strings =
FileMatcher
.RemoveProjectDirectory(strings, NativeMethodsShared.IsWindows ? "c:\\" : "/").ToArray();
1479
strings =
FileMatcher
.RemoveProjectDirectory(strings, NativeMethodsShared.IsWindows ? "c:\\directory" : "/directory").ToArray();
1483
strings =
FileMatcher
.RemoveProjectDirectory(strings, NativeMethodsShared.IsWindows ? "c:\\directory" : "/directory").ToArray();
1487
strings =
FileMatcher
.RemoveProjectDirectory(strings, NativeMethodsShared.IsWindows ? "c:\\directory" : "/directory").ToArray();
1493
strings =
FileMatcher
.RemoveProjectDirectory(strings, "\\Machine").ToArray();
1497
strings =
FileMatcher
.RemoveProjectDirectory(strings, "\\Machine").ToArray();
1501
strings =
FileMatcher
.RemoveProjectDirectory(strings, "\\Machine\\directory").ToArray();
1505
strings =
FileMatcher
.RemoveProjectDirectory(strings, "\\Machine\\directory").ToArray();
1509
strings =
FileMatcher
.RemoveProjectDirectory(strings, "\\Machine\\directory").ToArray();
1973
FileMatcher
.Default.GetFileSpecInfo(
1981
?
FileMatcher
.RegularExpressionFromFileSpec(fixedDirectoryPart, wildcardDirectoryPart, filenamePart)
2091
if (normalizedCandidate.IndexOfAny(
FileMatcher
.directorySeparatorCharacters) != -1)
2106
files.Add(
FileMatcher
.Normalize(candidate));
2115
files.Add(
FileMatcher
.Normalize(candidate));
2129
files.Add(
FileMatcher
.Normalize(candidate));
2133
else if (!
FileMatcher
.HasWildcards(pattern))
2169
int nextSlash = normalizedCandidate.IndexOfAny(
FileMatcher
.directorySeparatorCharacters, path.Length + 1);
2184
directories.Add(
FileMatcher
.Normalize(match));
2195
directories.Add(
FileMatcher
.Normalize(match));
2216
internal IReadOnlyList<string> GetAccessibleFileSystemEntries(
FileMatcher
.FileSystemEntity entityType, string path, string pattern, string projectDirectory, bool stripProjectDirectory)
2221
if (entityType ==
FileMatcher
.FileSystemEntity.Files || entityType ==
FileMatcher
.FileSystemEntity.FilesAndDirectories)
2228
if (entityType ==
FileMatcher
.FileSystemEntity.Directories || entityType ==
FileMatcher
.FileSystemEntity.FilesAndDirectories)
2422
var
fileMatcher = new FileMatcher(new FileSystemAdapter(mockFileSystem), mockFileSystem.GetAccessibleFileSystemEntries);
2483
private static IReadOnlyList<string> GetFileSystemEntriesLoopBack(
FileMatcher
.FileSystemEntity entityType, string path, string pattern, string projectDirectory, bool stripProjectDirectory)
2492
private static
FileMatcher
loopBackFileMatcher = new FileMatcher(FileSystems.Default, GetFileSystemEntriesLoopBack);
2624
FileMatcher
.Result match =
FileMatcher
.Default.FileMatch(filespec, fileToMatch);
Microsoft.Build.Tasks.Core (15)
AssemblyDependency\TaskItemSpecFilenameComparer.cs (2)
58
int xFilenameStart = xItemSpec.LastIndexOfAny(
FileMatcher
.directorySeparatorCharacters);
64
int yFilenameStart = yItemSpec.LastIndexOfAny(
FileMatcher
.directorySeparatorCharacters);
Copy.cs (1)
859
(string[] filesInFolder, _, _, string globFailure) =
FileMatcher
.Default.GetFiles(src, "**");
CreateItem.cs (6)
156
if (
FileMatcher
.HasWildcards(i.ItemSpec))
158
FileMatcher
.Default.GetFileSpecInfo(i.ItemSpec, out string directoryPart, out string wildcardPart, out string filenamePart, out bool needsRecursion, out bool isLegalFileSpec);
159
bool logDriveEnumeratingWildcard =
FileMatcher
.IsDriveEnumeratingWildcardPattern(directoryPart, wildcardPart);
181
(files, _, _, string? globFailure) =
FileMatcher
.Default.GetFiles(null /* use current directory */, i.ItemSpec);
192
FileMatcher
.Result match =
FileMatcher
.Default.FileMatch(i.ItemSpec, file);
Unzip.cs (6)
307
result = _includePatterns.All(pattern => !
FileMatcher
.IsMatch(
FileMatcher
.Normalize(zipArchiveEntry.FullName), pattern));
312
result |= _excludePatterns.Any(pattern =>
FileMatcher
.IsMatch(
FileMatcher
.Normalize(zipArchiveEntry.FullName), pattern));
343
if (
FileMatcher
.HasPropertyOrItemReferences(pattern))
355
? pattern.Split([';'], StringSplitOptions.RemoveEmptyEntries).Select(
FileMatcher
.Normalize).ToArray()
Microsoft.Build.Utilities.Core (3)
TrackedDependencies\TrackedDependencies.cs (3)
36
if (
FileMatcher
.HasWildcards(item.ItemSpec))
45
if (!
FileMatcher
.HasWildcards(directoryName) && FileSystems.Default.DirectoryExists(directoryName))
51
(files, _, _, string? globFailure) =
FileMatcher
.Default.GetFiles(null, item.ItemSpec);