-
Notifications
You must be signed in to change notification settings - Fork 842
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
Allow --pvp-bounds to use multiple stack.yaml configurations #2262
Comments
I'm very much in favour of this. It'd be super useful when uploading |
Squash of `bounds` branch: - https://github.com/wincent/docvim/tree/bounds (commit 22e92335248334b33d791c179b25fc53a16aafb2) Based on discussion here: http://stackoverflow.com/a/37876041/2103996 Trying this: - (Almost) no constraints in docvim.cabal file. - Upload using --pvp-bounds, which produces a docvim.cabal file something like this: https://gist.github.com/wincent/145d35bbc75cff2a491fd33fe81d39b0 This effectively means we'll upload something more constrained than what we tested in Travis, and that is probably OK. Note that I had to add base upper bounds as noted here: https://travis-ci.org/wincent/docvim/jobs/138374403 > ++cabal check > The following errors will cause portability problems on other environments: * > The dependency 'build-depends: base' does not specify an upper bound on the > version number. Each major release of the 'base' package changes the API in > various ways and most packages will need some changes to compile with it. The > recommended practise is to specify an upper bound on the version of the 'base' > package. This ensures your package will continue to build when a new major > version of the 'base' package is released. If you are not sure what upper > bound to use then use the next major version. For example if you have tested > your package with 'base' version 2 and 3 then use 'build-depends: base > >= 2 && < 4'. > > Hackage would reject this package. See also: commercialhaskell/stack#2262
+1 looks like a very sensible user interface to add needed flexibility to |
I'm wondering if we could get away without having a separate With the current feature idea, if I had a simple library, I'd create a directory So what I'm currently thinking, is that it should be possible to pass both
Thoughts on that, anyone? Ideally it would also be easy to run tests with the same list of dependency configurations. |
@sjakobi Seems like a good approach to me! Perhaps we should allow |
Well, there can be a lot more config than just the |
Assume that there's a file
and a file
Which packages would I think I agree with @DanBurton that you sometimes want to use the standard config ( As I've written in #2238 I would though like to be able to specify a resolver manually and ignore any extra-deps that are specified in the BTW, I've started implementing this issue. In this context |
Right now I'm thinking that this could be the basis for a "test-driven version bounds" style of package management. What's missing is a command If the If the author then creates their sdist with Thoughts? You may BTW chime in on the various open design issues in my PR. |
Add multi-config pvp-bounds generation (#2262)
This is split off from #1568, which focused on having multiple configurations in a single stack.yaml file.
As @sjakobi suggests, it's quite reasonable to still have a
--pvp-bounds
flag which uses multiple configs:Folks would probably want to automate this via a Makefile or script.
The text was updated successfully, but these errors were encountered: