nut

Vendor Go dependencies


WINNER: Fifth Prize

nut is a tool that allows Go projects to declare dependencies, download dependencies, rewrite their import paths and ensure that dependencies are properly vendored.

To accomplish this goal, nut does three things:

  • Introduces a metadata file with dependency information.
  • Fetches your project's dependencies and rewrite their import paths.
  • Introduces conventions for managing vendored dependencies.

nut is specifically designed to manage dependencies for a binary program. If you are making a library, please follow the standard Go way.

The inspiration of making nut comes from some of the problems I met when building hub. I'm looking for a way to properly vendor dependencies so that the project can be built repeatedly with just go build. Tools like godep help to a certain degree but it requires the extra godep command line to build a project.

Details see https://github.com/gophergala/nut

Try it out