-
-
Notifications
You must be signed in to change notification settings - Fork 355
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
POC: push plugin enablement into plugin components #4156
base: master
Are you sure you want to change the base?
Conversation
As a downstream consumer I like this a lot. It will make things easier for us. In regard to the code I just wonder how good this scales. Does this mean that every file in every plugin contains a big CPP statement. I wonder if that is annoying to maintain? |
I pushed an alternative version that instead has multiple different source directories. |
WDYT @fendor ? It turns one module into four, which is not that nice... |
Will it improve the build time if most of the plugins are disabled. |
* Mark plugins as not buildable if the flag is disabled This ensures that cabal does not consider them at all, and won't try to solve for their dependencies. So if we turn off the fourmolu plugin, cabal really won't consider fourmolu at all. This gets us some of the benefits of #4156 with much less work. Fixes #4100. * Stick to no space after flag for consistency
This implements a version of what I describe in [this comment] on the
fourmolu
plugin as a POC. The goal here is that:I haven't tried to make "being disabled" a first-class status or anything, a disabled plugin is just a plugin with no handlers and a description that calls that out. Maybe that's a mistake? I'm not sure.