d87a4c35b9
Introducing glide-vc caused us to unknowingly removed our Go protobuf compiler (since it's a main). Add flags to glide-vc usage to remedy this. Since we now require several glide and glide-vc flags, add a Makfile target and tests to catch when PRs don't use the correct flags.
1.4 KiB
1.4 KiB
Managing dependencies
Dex uses glide and glide-vc to manage its vendor
directory. A recent version of these are preferred but dex doesn't require any bleeding edge features. Either install these tools using go get
or take an opportunity to update to a more recent version.
go get -u github.com/Masterminds/glide
go get -u github.com/sgotti/glide-vc
To add a new dependency to dex or update an existing one:
- Make changes to dex's source code importing the new dependency.
- Edit
glide.yaml
to include the new dependency at a given commit SHA or change a SHA. - Add all transitive dependencies of the package to prevent unpinned packages.
Tests will fail if transitive dependencies aren't included.
Once glide.yaml
describes the desired state use make
to update glide.lock
and vendor
. This calls both glide
and glide-vc
with the set of flags that dex requires.
make revendor
When composing commits make sure that updates to vendor
are in a separate commit from the main changes. GitHub's UI makes commits with a large number of changes unreviewable.
Commit histories should look like the following:
connector/ldap: add a LDAP connector
vendor: revendor