-
Notifications
You must be signed in to change notification settings - Fork 81
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
Make Bazel no longer manage modules #383
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There are still a couple of things to check experimentally though, so don't merge just yet. |
496df30
to
68fbc5a
Compare
OK, this is good to go. |
mboes
approved these changes
Aug 2, 2018
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.
Looks great.
Resolve conflicts and merge. |
It used to be that we would infer modules from the names of source files, and then create a dependency graph based on these module names. But this is, 1. unnecessary and somewhat more complicated, 2. incorrect in the general case, because GHC knows module names better than we do. Both #375 and #168 are cases where module names don't match what we expect. The solution is to stay out of the business of managing modules, and manage only packages. Rather than create individual outputs for each module, we can use `declare_directory` to create a single output for all the interface files of a library, another for all the object files etc.
68fbc5a
to
3d0c4a9
Compare
thufschmitt
pushed a commit
that referenced
this pull request
Sep 20, 2018
Probably due to #383, calling `haskell_doctest` without a `module` argument resulted in doctest being run on no module at all instead of all the modules.
thufschmitt
pushed a commit
that referenced
this pull request
Sep 20, 2018
Probably due to #383, calling `haskell_doctest` without a `module` argument resulted in doctest being run on no module at all instead of all the modules.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Close #375, close #168.
It used to be that we would infer modules from the names of source
files, and then create a dependency graph based on these module names.
But this is,
better than we do.
Both #375 and #168 are cases where module names don't match what we
expect. The solution is to stay out of the business of managing
modules, and manage only packages. Rather than create individual
outputs for each module, we can use
declare_directory
to createa single output for all the interface files of a library, another for
all the object files etc.