tree ca3662a7138ab25d9c6795a8066b57ca52540f54
parent f698198dbbb465e802cdb1db5c5914c8aa224ecb
author Philipp Wagner <phw@lowrisc.org> 1590755261 +0100
committer Garret Kelly <Garret.Kelly@gmail.com> 1590972395 -0400

[vendor.py] Enable overriding of desc keys

The vendor tool uses configuration in `*.vendor.hjson` files, organized
as nested dicts. This patch enables the overriding of some configuration
entries with values on the command line.

Usage example: `vendor.py -Dpatch_repo.url=/home/user/src/patch_repo`

This feature makes it easier to make temporary or development changes to
a vendored-in code by pointing to local copies of the patch or upstream
repositories instead of remote ones. Achieving the same effect without
this change would require changes to the `*.vendor.hjson` file, and a
commit of those changes, as the vendor tool checks for a clean working
directory before performing its work.

Users of this functionality need to be aware that it can lead to
mismatches between a local run with overridden configuration options,
and a run on another machine, where those overrides are not present. In
OpenTitan, we catch those cases with CI integrations. If there is no
such CI check present, users need to be aware of the power of the tool
they're using.

Signed-off-by: Philipp Wagner <phw@lowrisc.org>
