dep
Status
WARNING: This is currently a draft and WIP. The concept and the tools are in pre-alpha state and not meant to be used in production. You may break your installation.
Go Version
works with go >= go1.1
it should not be too hard to make it work with go 1.0
What does it do?
Manages Go package dependencies with the help of the
Go Dependency Format (GDF)
that is based on the exports of a package.
The idea is described here.
here is a screencast (bad audio) to show you the basic concept:
http://www.youtube.com/watch?v=X0o7BViYQXQ
dep is a commandline tool that helps you discover problems with
package dependencies before they affect your development environment.
Help on the subcommands is available via
dep -h
Prerequisites:
- A functional GOPATH. If GOPATH is set to multiple paths,
separated by ':', only the first one is considered
- The environment variable DEP_TMP set to a temporary directory.
- Make sure no package you have uses relative import paths, since
they are not supported and a bad habit anyway.
- You need a working github.com/mattn/go-sqlite3 package.
WARNING: Currently dep is not production ready and may break in
several ways. So by now it should only be used for testing purposes.
Setup a seperate GOPATH to do the testing of dep without affecting
your real packages.
Rules for package developers
In order to get the best experience with these tools the package developers have to follow some rules.
Rules for package users
In order to get the best experience with these tools we have rules for the package users too.
Tests
cd depcore && go test
Issues or how you can help
- only tested on linux, needs testers and code changes (mainly paths)
for MacOSX and Windows, but should be no big deal
must be gained by evalution
- improve documentation
- improve code
- more test cases
- currently only tested with git. needs testing for bzr and hg.