https://github.com/alevinval/vendor-go
Highly customisable dependency vendoring tool
https://github.com/alevinval/vendor-go
cli dependency-manager go grpc protobuf vendor vendoring
Last synced: about 2 months ago
JSON representation
Highly customisable dependency vendoring tool
- Host: GitHub
- URL: https://github.com/alevinval/vendor-go
- Owner: alevinval
- License: mit
- Created: 2022-09-11T08:20:56.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-19T11:35:06.000Z (about 1 year ago)
- Last Synced: 2025-05-19T12:24:35.138Z (about 1 year ago)
- Topics: cli, dependency-manager, go, grpc, protobuf, vendor, vendoring
- Language: Go
- Homepage:
- Size: 218 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# The Vending CLI
This tool allows users to install, manage and update dependencies. See the
[example](example/) to see how it works.
## Features
* Local caching of repositories: speeds up the installation and update commands
since a full clone is not required every time.
* Highly customizable tool: develop your custom presets, adapt, and standardize the
vendoring process to your needs.
* Parallelized vendoring process: dependencies are vendored in parallel during install
or update operations, this further enhances speed due to the I/O required to clone or
fetch the upstreams.
## Usage
* `vending init` initializes a `.vendor.yml` file in the working directory
* `vending add` adds a dependency in the `.vendor.yml` file
* `vending install` downloads and vendors the vendor the specified dependencies
* The first time this command is executed, it will generate a `.vendor-lock.yml`
which keeps track of the locked reference that has been vendored (eg. a specific commit)
* Once the lock file already exists, it vendors dependencies at the
specified locked reference.
* `vending update` ignores the `vendor-lock.yml` and fetches newest dependencies
according to the refname that is specified in the `.vendor.yml` file