Skip to content

tianon/gb

 
 

Repository files navigation

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.

About

gb, the project based build tool for Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.9%
  • C++ 0.1%