1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 06:46:36 +01:00
Files
installer/docs/dev/dependencies.md

49 lines
1.3 KiB
Markdown
Raw Normal View History

# Managing Dependencies
## Build Dependencies
The following dependencies must be installed on your system before you can build the installer.
### Fedora, CentOS, RHEL
```sh
sudo yum install golang-bin gcc-c++
```
2018-10-19 15:05:20 -07:00
If you need support for [libvirt destroy](libvirt-howto.md#cleanup), you should also install `libvirt-devel`.
### Go
We follow a hard flattening approach; i.e. direct and inherited dependencies are installed in the base `vendor/`.
2018-09-29 00:04:38 -07:00
Dependencies are managed with [dep](https://golang.github.io/dep/) but committed directly to the repository. If you don't have dep, install the latest release from [Installation](https://golang.github.io/dep/docs/installation.html) link.
2019-01-17 17:29:22 +08:00
We require at least following version for dep:
2018-09-29 00:04:38 -07:00
```console
$ dep version
2018-09-29 00:04:38 -07:00
dep:
version : v0.5.0
build date : 2018-07-26
git hash : 224a564
go version : go1.10.3
```
To add a new dependency:
2018-09-29 00:04:38 -07:00
- Edit the `Gopkg.toml` file to add your dependency.
2018-09-29 00:04:38 -07:00
- Ensure you add a `version` field for the tag or the `revision` field for commit id you want to pin to.
- Revendor the dependencies:
```sh
2018-09-29 00:04:38 -07:00
dep ensure
```
2018-09-29 00:04:38 -07:00
This [guide](https://golang.github.io/dep/docs/daily-dep.html) a great source to learn more about using `dep` is .
For the sake of your fellow reviewers, commit vendored code separately from any other changes.
## Tests
See [tests/README.md](../../tests/README.md).