-
-
Notifications
You must be signed in to change notification settings - Fork 370
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
Merge plugins into the HLS package #3976
Conversation
One huge draw back is that it prevent us from working on a single plugin along opening just the plugin dir. I am wondering is there a workaround for this? |
I don't think it does? You can still just build the component for the plugin and it won't build anything else. |
But we can no longer open an single editor containing just one plugin dir and get hls support 🤔 |
I don't see why not? We do support single components of packages just fine? And it'll be better as the multi-component stuff rolls out (but that's already bad if you try to edit multiple packages today) |
Thanx for clearing out my concern on this. |
Another downside: stack supports building packages with internal libraries (the CI run succeeded!), but it doesn't do per-component builds, so the dev experience using stack will probably suck. I'm not sure how much we care about that these days 🤷 |
dc1349d
to
f49450a
Compare
No longer a POC! There is still plenty to do here with cleaning up the now rather monolithic cabal file, making better use of common stanzas etc, but I'm keen to land this before too long since it's very conflict-y. |
f49450a
to
427297b
Compare
Follow up todos:
|
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 like this approach more than the previous.
Few nitpicks about ghc-options - warnings, but I will work on those anyway in followup PRs, so feel free to ignore.
DataKinds | ||
TypeOperators | ||
|
||
ghc-options: -Wno-unticked-promoted-constructors |
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.
Can be removed - is now in common warnings.
, apply-refact | ||
|
||
cpp-options: -DHLINT_ON_GHC_LIB | ||
ghc-options: |
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.
You can import common warnings for this lib and remove this.
2a3755b
to
7a064d8
Compare
It was tasty-rerun, turning it off makes the tests run. I don't know whether it's doing something dodgy, but it seems to be orthogonal to this PR at least. |
@michaelpj - it looks like this change broke |
That seems like a question for the Nix Haskell folks? It builds with cabal, so if it doesn't build with the Nix setup then that's a bug in the Nix setup, I think. |
This is a POC for merging all the plugin packages into the HLS package, as discussed in #3556.
I just did the first two plugins alphabetically to show what it looks like, it's pretty mechanical.
To reiterate, the advantages are:
Things seem to still work fine. The main annoyances are:
cd
into a plugin directory andcabal build
/cabal test
cabal test <plugin-name>
, instead needcabal test <plugin-name>-tests
I think overall it's still going to be a pretty big improvement