gb, the project based build tool for Go
Go Other
Clone or download
Latest commit f11784c May 11, 2017
davecheney committed May 11, 2017 gb: remove support for Go 1.5 and earlier (#717)
The minimum version is Go 1.6 because that is what appengine supports.
Permalink
Failed to load latest commit information.
bin Add codecov.io (#664) Dec 13, 2016
cmd gb: remove support for Go 1.5 and earlier (#717) May 11, 2017
internal gb: remove support for Go 1.5 and earlier (#717) May 11, 2017
test cmd/gb: add -d to enable debug (#720) May 11, 2017
testdata/src tests mostly pass Dec 31, 2015
.appveyor.yml gb: remove support for Go 1.5 and earlier (#717) May 11, 2017
.gitignore Add gitignore May 23, 2015
.travis.yml gb: remove support for Go 1.5 and earlier (#717) May 11, 2017
LICENSE Initial commit Feb 27, 2015
README.md Add codecov.io (#664) Dec 13, 2016
action_test.go Cleanup go vet warnings (#662) Nov 20, 2016
build.go cmd/gb: add -d to enable debug (#720) May 11, 2017
build_test.go remove old go1.8 NoGoError change (#692) Feb 21, 2017
cgo.go gb: remove support for Go 1.5 and earlier (#717) May 11, 2017
context.go cmd/gb: add -d to enable debug (#720) May 11, 2017
context_test.go Slide go/build.Package under importer.Package (#668) Nov 30, 2016
defaultcc.go Refactor gcc/gxx cgo invocation in gccld Sep 17, 2015
defaultcc_bsd.go Refactor gcc/gxx cgo invocation in gccld Sep 17, 2015
depfile.go cmd/gb: add -d to enable debug (#720) May 11, 2017
example_test.go Rewrite gb.Project to be an interface (#614) Jun 21, 2016
executor.go Use pkg/errors (#603) Jun 20, 2016
executor_test.go Cleanup goreportcard warnings (#663) Dec 13, 2016
gb.go integrate ExtraIncludes into pkg.IncludePaths (#674) Dec 12, 2016
gb_test.go Cleanup go vet warnings (#661) Nov 20, 2016
gc.go gb: remove support for Go 1.5 and earlier (#717) May 11, 2017
package.go cmd/gb: add -d to enable debug (#720) May 11, 2017
package_test.go remove fmt.Errorf Dec 13, 2016
project.go Unexport Package.Bindir (#676) Dec 12, 2016
project_test.go Rewrite TestStale to use temporary files (#627) Jun 28, 2016
resolver.go remove fmt.Errorf Dec 13, 2016

README.md

gb

Build status

Unix: travis-cs status

Windows: Build status

codecov.io

gb is a proof of concept replacement build tool for the Go programming language.

I gave a talk about gb and the rational for its creation at GDG Berlin in April 2015, video and slides.

Project based

gb operates on the concept of a project. A gb project is a workspace for all the Go code that is required to build your project.

A gb project is a folder on disk that contains a subdirectory named src/. That's it, no environment variables to set. For the rest of this document we'll refer to your gb project as $PROJECT.

You can create as many projects as you like and move between them simply by changing directories.

Installation

go get github.com/constabulary/gb/...

Read more

gb has its own site, getgb.io, head over there for more information.

Contributing

Contribution guidelines

We welcome pull requests, bug fixes and issue reports.

Before proposing a large change, please discuss your change by raising an issue.

Road map

Completed

  • Cross Compilation
  • Tag handling, unify -tags, ENVVARS and GOOS/GOARCH into a single format for binary names and pkg cache
  • gb test improvements, test output, test flag handling
  • Race detector support

Todo

  • 0.4 series: gb vendor updates and bug fixes
  • 0.5 series: new package resolver (replace go/build)

Big ticket items

Big ticket items that are not on the road map yet

  • Package BuildID support (make stale detection work like the Go 1.5)
  • gccgo toolchain support.