dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
https://docs.microsoft.com/visualstudio/msbuild/msbuild
MIT License
5.17k stars 1.34k forks source link

Analyzers prototyping - Configuration module #9628

Open JanKrivanek opened 5 months ago

JanKrivanek commented 5 months ago

Context

9627

Configuration module will be responsible for loading user settings from .editorconfigs in a structured form. The OM for configuration will yet be determined - we should be able to support strongly typed configuration, but it will be known at compile time and can be assumed 'hardcoded'. It should as well be possible to pass-through a custome key-value pairs as configuration - basically anything that is not recognized by existing OM will be stuffed to a lookup and provided to the analyzer. Note .editorconfig files are hierarchical - more details https://editorconfig.org/#file-location Plus .editorconfig might be included in nuget packages and written to source location during restore phase. Thiough for a V1 we might just decide to ignore configuration changes upon build start.

Things to be investigated and decided

References

Followup work in scope of this epic:

f-alizada commented 4 months ago

@JanKrivanek thanks for the detailed description! I have few clarification questions:

JanKrivanek commented 4 months ago