Files
linuxkit/docs/vendoring.md
Rolf Neugebauer 677edf8e15 Update uses of go-compile to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00

58 lines
1.4 KiB
Markdown

Vendoring
=========
The Go code in this repo depends on a number of Go libraries.
Theses are vendored in to the `vendor` directory using [`vndr`](https://github.com/lk4d4/vndr)
The `vendor.conf` file contains a list of the repositories and the git SHA or branch name that should be vendored
## Updating dependencies
Update `vendor.conf` with the dependency that you would like to add.
Details of usage of the `vndr` tool and the format of `vendor.conf` can be found [here](https://github.com/LK4D4/vndr/blob/master/README.md)
Once done, you must run the `vndr` tool to add the necessary files to the `vendor` directory.
The easiest way to do this is in a container.
## Updating in a container
To update all dependencies:
```
docker run -it --rm \
-v $(PWD):/go/src/github.com/docker/moby \
-w /go/src/github.com/docker/moby \
--entrypoint /go/bin/vndr \
linuxkit/go-compile:6579a00b44686d0e504d513fc4860094769fe7df
```
To update a single dependency:
```
docker run -it --rm \
-v $(PWD):/go/src/github.com/docker/moby \
-w /go/src/github.com/docker/moby \
--entrypoint /go/bin/vndr \
linuxkit/go-compile:6579a00b44686d0e504d513fc4860094769fe7df \
github.com/docker/docker
```
## Updating locally
First you must install `vndr` and ensure that `$GOPATH/bin` is on your `$PATH`
```
go get -u github.com/LK4D4/vndr
```
To update all dependencies:
```
vndr
```
To update a single dependency:
```
vndr github.com/docker/docker
```