Description
Summary
Currently have a custom implementation of globbing, exposed in the API as:
We should investigate the use of Microsoft.Extensions.FileSystemGlobbing as an alternative implementation of IMSBuildGlob
to evaluate performance and maintainability benefits.
Background and Motivation
We should only own code that is uniquely valueble to MSBuild - globbing is something we can probably safely outsource.
Proposed Feature
We should:
- have an alternative implementation of IMSBuildGlob backed by Microsoft.Extensions.FileSystemGlobbing
- have a trait/changewave/extensibility point that can be used to choose our built-in implementation or the Microsoft.Extensions.FileSystemGlobbing-based implementation
- update globbing tests to test both implementations, ensuring that behavior is the same for M.E.FSG and our built-in globs
- have PerfStar runs added that evaluate this from a memory and time perspective to evaluate benefits and prevent regressions
Alternative Designs
No response