gb, the project based build tool for Go
Go Shell
Pull request Compare This branch is 3 commits ahead, 379 commits behind constabulary:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmd
testdata/src
vendor
.gitignore
LICENSE
README.md
action_test.go
build.go
build_test.go
cgo.go
context.go
context_test.go
defaultcc.go
defaultcc_bsd.go
example_test.go
executor.go
executor_test.go
gb.go
gb14.go
gb15.go
gb_test.go
gc.go
install.go
install_test.go
log.go
package.go
package_test.go
project.go
src.go
stdlib.go
version.sh
wercker.yml

README.md

gb

wercker status

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

Road map

In rough order

  • Cross Compilation
  • gb test improvements, test output, flag handling
  • gb vendor updates and bug fixes
  • new package resolver (replace go/build)

Big ticket items

Big ticket items that are not on the road map yet

  • Race detector support
  • Tag handling, unify -tags, ENVVARS and GOOS/GOARCH into a single format for binary names and pkg cache
  • Package BuildID support (make stale detection work like the Go 1.5)
  • gccgo toolchain support.

We welcome pull requests, bug fixes and issue reports.

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