Reputation: 48516
Over time I've developed a messy system level Haskell installation that I'm not sure how to completely clean up. But for the most part this isn't of much concern as I simply use stack to manage per-project Haskell configurations. However as my project requirements diverge from my system Haskell setup, I wonder what the best way is to build and upload packages for Hackage.
Specifically (1) should I be using
stack exec -- cabal sdist
stack exec -- cabal upload
instead of simply
cabal sdist
cabal upload
and (2) should is there any reason to install a project version of cabal (with stack build cabal
?)
Or is there some better stack-based approach to building and distributing to Hackage that doesn't involve invoking cabal
directly?
Upvotes: 9
Views: 1127
Reputation: 925
Adding an answer based on my earlier comment.
stack
offers equivalent functionality via its
stack sdist
stack upload
commands, which don't require interfacing with cabal
directly in stack-based projects.
A full list of commands supported by stack can be obtained via:
$ stack --help
and the official documentation.
Individual commands also support --help
to see what command line flags they support.
Upvotes: 10