-
-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Making the library language/compiler agnostic #279
base: main
Are you sure you want to change the base?
Conversation
@@ -1,17 +0,0 @@ | |||
namespace Buildalyzer; | |||
|
|||
/// <summary>The compiler language.</summary> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree with dropping this. I would propose to keep CompilerLanguage
but convert it to a (Single Value Object) readonly struct. That was not needed yet, but with your proposed solution, it will be.
I really like the idea of opening up Buildalizer for different languages. I'm not sure yet about the proposed solution. There are a lot of changes in here, all requiring attention. It ols means a lot of breaking changes. We should investigate how we reduce the pain for users when they have to migrate. |
@LPeter1997 It's a big change, as I mentioned in the issue, I like the idea, but we need to evaluate this PR very carefully to ensure the next steps. |
I tried an alternative approach, that involves less drastic changes. See #285 |
Description
As I have raised in #278 , it would be nice to make the library extensible and language-agnostic, since it's pretty easy to develop .NET languages. Long story short, as I've started fleshing out the idea, basically implemented my proposed solution. Users can register
ICompilerOptionsParser
s throughAnalyzerManagerOptions
to extend with a compiler. The 3 compilers already supported (Roslyns C# and VB, FSC) are in the list by default.