mirror of https://github.com/kubernetes/kops.git
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Vendoring Go dependencies
|
|
|
|
kops uses [dep](https://github.com/golang/dep) to manage vendored
|
|
dependencies.
|
|
|
|
## Prerequisites
|
|
|
|
The following software must be installed prior to running the
|
|
update commands:
|
|
|
|
* [bazel](https://github.com/bazelbuild/bazel)
|
|
* [dep](https://github.com/golang/dep)
|
|
* [hg](https://www.mercurial-scm.org/wiki/Download)
|
|
|
|
## Adding a dependency to the vendor directory
|
|
|
|
The `dep` tool will manage required dependencies based on the imports
|
|
found in the source code. Follow these steps to run the update process:
|
|
|
|
1. Add the desired import to a `.go` file.
|
|
1. Run `make dep-ensure` to start the update process. If this step is
|
|
successful, the imported dependency will be added to the `vendor`
|
|
subdirectory.
|
|
1. Commit any changes, including changes to the `vendor` directory,
|
|
`Gopkg.lock` and `Gopkg.toml`.
|
|
1. Open a pull request with these changes separately from other work
|
|
so that it is easier to review.
|
|
|
|
## Updating a dependency in the vendor directory (e.g. aws-sdk-go)
|
|
|
|
1. Update the locked version as specified in Gopkg.toml
|
|
1. Run `make dep-ensure`.
|
|
1. Review the changes to ensure that they are as intended / trustworthy.
|
|
1. Commit any changes, including changes to the `vendor` directory,
|
|
`Gopkg.lock` and `Gopkg.toml`.
|
|
1. Open a pull request with these changes separately from other work so that it
|
|
is easier to review. Please include any significant changes you observed.
|