Should I use stack to build and upload to Hackage?

1.1k views Asked by At

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?

1

There are 1 answers

0
ppb On BEST ANSWER

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.