-
-
Notifications
You must be signed in to change notification settings - Fork 367
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
ghcide: Add flags to toggle building each executable #2212
Conversation
I'm not supportive of this change as it is:
I understand that you are coming at this from "why do I have to build all these executables if all I want is HLS", however I would only be supportive of a change that solves that problem if it has no negative impact on the ghcide development workflow. |
This package is a transient dependency of `haskell-language-server`. However, only the library is needed. These three flags give the option for those who do not need the executables to disable them. All three are enabled by default. `executable`: * Toggles the `ghcide` executable `test-exe`: * Toggles the `ghcide-test-preprocessor` executable `bench-exe`: * Toggles the `ghcide-bench` executable
I changed it so that all three flags have |
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.
Thanks!
I'm slightly missing the motivation. HLS doesn't depend on these, so if you're just building HLS then cabal won't build them. Is it so that you can run |
hmm cabal builds executable components by default i think |
@michaelpj @jneira Yes, cabal builds all executable components unless you create a mechanism like this to turn them off. I run into this when packaging for Gentoo, which strives to give the end user as much control over their packages as possible (and currently uses
(Just so you know what my personal motivations are.) |
Well, perhaps the question becomes: how are you invoking cabal? If you build the executable component for
|
@michaelpj The way we have been doing it is to convert each |
This package is a transient dependency of `haskell-language-server`. However, only the library is needed. These three flags give the option for those who do not need the executables to disable them. All three are enabled by default. `executable`: * Toggles the `ghcide` executable `test-exe`: * Toggles the `ghcide-test-preprocessor` executable `bench-exe`: * Toggles the `ghcide-bench` executable Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
This package is a transient dependency of
haskell-language-server
.However, only the library is needed. These three flags give the option for
those who do not need the executables to disable them.
executable
:ghcide
executabletest-exe
:ghcide-test-preprocessor
executablebench-exe
:ghcide-bench
executable