nicolas
nicolas

Reputation: 9825

How to build sequentially each haskell package using stack/cabal?

I am trying to debug some compilation problem and I would like to know if it is possible to have non interleaving build steps, like displayed here.

$ stack build
string-conv-0.1: configure
string-conv-0.1: build
dotnet-timespan-0.0.1.0: configure
dotnet-timespan-0.0.1.0: build
servant-0.7: configure
string-conv-0.1: copy/register
dotnet-timespan-0.0.1.0: copy/register
servant-0.7: build
control-monad-omega-0.3.1: configure
control-monad-omega-0.3.1: build
swagger2-2.0.1: configure
control-monad-omega-0.3.1: copy/register
swagger2-2.0.1: build
eventstore-0.12.0.0: configure
eventstore-0.12.0.0: build
servant-0.7: copy/register
servant-client-0.7: configure
servant-client-0.7: build
servant-docs-0.7: configure
servant-docs-0.7: build
servant-client-0.7: copy/register
servant-server-0.7: configure
servant-server-0.7: build
servant-server-0.7: copy/register
servant-docs-0.7: copy/register
swagger2-2.0.1: copy/register
servant-swagger-1.0.3: configure
servant-swagger-1.0.3: build
servant-swagger-1.0.3: copy/register
eventstore-0.12.0.0: copy/register
pl-cqrs-0.1.0.0: configure
pl-cqrs-0.1.0.0: build
pl-cqrs-0.1.0.0: copy/register
pl-server-0.1.0.0: configure
pl-server-0.1.0.0: build
pl-server-0.1.0.0: copy/register
pl-wrapper-0.0.0: configure
pl-wrapper-0.0.0: build
pl-wrapper-0.0.0: copy/register
Completed 13 action(s).

Upvotes: 3

Views: 93

Answers (1)

josejuan
josejuan

Reputation: 9566

You could override the number of jobs used to compile with

stack build --jobs=1

Without it

$ stack build
hnexus-models-0.1.0.0: configure
hnexus-models-0.1.0.0: build
key-doc-schema-0.1.0.0: configure
key-doc-schema-0.1.0.0: build
key-doc-schema-0.1.0.0: copy/register
key-doc-client-0.1.0.0: configure
hnexus-models-0.1.0.0: copy/register
key-doc-client-0.1.0.0: build
hnexus-mschema-0.1.0.0: configure
hnexus-mschema-0.1.0.0: build
...

with it

$ stack build --jobs=1
hnexus-models-0.1.0.0: configure
hnexus-models-0.1.0.0: build
hnexus-models-0.1.0.0: copy/register
hnexus-mschema-0.1.0.0: configure
hnexus-mschema-0.1.0.0: build
hnexus-mschema-0.1.0.0: copy/register
bnexus-mschema-0.1.0.0: configure
bnexus-mschema-0.1.0.0: build
bnexus-mschema-0.1.0.0: copy/register
bnexus-client-0.1.0.0: configure
bnexus-client-0.1.0.0: build
...

Upvotes: 5

Related Questions