The Open Screen Library uses several external libraries that are compiled from
source and fetched from additional git repositories into folders below
third_party/
. These libraries are listed in the DEPS
file in the root of
the repository. (DEPS
listed with dep_type: cipd
are not managed through git.)
Periodically the versions of these libraries are updated to pick up bug and security fixes from upstream repositories.
Note that depot_tools is in the process of migrating dependency management from
DEPS
to git submodules.
The process is roughly as follows:
- Identify the git commit for the new version of the library that you want to roll.
- For libraries that are also used by Chromium, prefer rolling to the same version
listed in
Chromium DEPS
. These libraries are listed below. - For other libraries, prefer the most recent stable or general availability release.
- For libraries that are also used by Chromium, prefer rolling to the same version
listed in
- Use the
roll-dep
script to update the git hashes inDEPS
and the corresponding git submodule.- This will generate and upload a CL to Gerrit.
- Example:
roll-dep -r jophba --roll-to 229b04537a191ce272a96734b0f4ddcccc31f241 third_party/quiche/src
- More documentation in Rolling Dependencies
- Update your CL if needed, such as updating the
BUILD.gn
file for the corresponding library to handle files moving around, compiler flag adjustments, etc. - Use a tryjob to verify that nothing is broken and send for code review.
third_party/libprotobuf-mutator/src
third_party/jsoncpp/src
third_party/googletest/src
(not kept in sync with Chromium, see comment inDEPS
)third_party/quiche/src
third_party/abseil/src
(not kept in sync with Chromium, see comment inDEPS
)third_party/libfuzzer/src
third_party/googleurl/src
(not kept in sync with Chromium, see comment inDEPS
)
third_party/protobuf
: See instructions inthird-party/protobuf/README.chromium
third_party/boringssl/src
: See instructions inthird_party/boringssl/README.openscreen.md
third_party/mozilla
: See README.md