What's new in gb, 2015-08-19

An update on the changes that have landed in gb in the last week.

  • cgo and pkg-config
  • Actions, Tasks, and Executors
  • New build flags
  • Bug fixes
  • Stickers

cgo and pkg-config

Many cgo bugs related to pkg-config have been closed over the past week. If you have experienced issues related to cgo in the past, please take the opportunity to try again and send feedback.

Actions, Tasks, and Executors

Internal to gb, the method of describing the dependencies between build (and test) steps, previously known as Targets, has been completely rewritten. This rewrite makes it easier to understand how the steps involved in a build plan fit together and in turn will make it easier to address issue #32 which is part of the cross compilation milestone.

New build flags

gb has grown two new flags for build and test:

  • -P n controls the number of parallel build jobs to run, this includes tests. The value of -P defaults to the value of runtime.NumCPU, which mirrors the behaviour of the similar flag from the go tool.
  • -dotfile $filename, if present, will cause a graphviz dot file to be written to the file. The dot file represents the steps that were taking in the current build or test invocation. The shape of this graph is influenced by conditional compilation (only steps that need to be done will appear in the graph), and can become very large quickly making the dot file difficult to graph. Here is an example.

Bug fixes

  • a bug that prevented gb list from working anywhere but in the project root has been fixed.


Tweet a link to your gb project and tag it with #gb and #golang and we’ll send you some stickers. Offer is good until we run out of stickers, or postage money, whichever the sooner.