unplugged-system/external/openscreen/third_party
2025-10-06 13:59:42 +00:00
..
abseil Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
aomedia Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
boringssl Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
chromium_quic Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
googletest Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
jsoncpp Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libfuzzer Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libprotobuf-mutator Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
mozilla Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
protobuf Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
quiche Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
tinycbor Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
valijson Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
zlib Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
README.md Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00

Third-Party Dependencies

The Open Screen library includes its dependencies as DEPS in the source tree under the //third_party/ directory. They are structured as follows:

  //third_party/<library>
   BUILD.gn
   ...other necessary adapter files...
   src/
     <library>'s source

Adding a new dependency

When adding a new dependency to the project, you should first add an entry to the DEPS file. For example, let's say we want to add a new library called alpha. Opening up DEPS, you would add

  deps = {
    ...
    'src/third_party/alpha/src': 'https://repo.com/path/to/alpha.git'
        + '@' + '<revision>'

Then you need to add a BUILD.gn file for it under //third_party/alpha, assuming it doesn't already provide its own BUILD.gn.

Finally, add a new entry for the "src" directory of your dependency to the //third_party/.gitignore.

Roll a dependency to a new version

Rolling a dependency forward (or to any different version really) consists of two steps:

  1. Update the revision string for the dependency in the DEPS file.
  2. git add the DEPS file and commit, then run gclient sync.

Of course, you should also make sure that the new change is still compatible with the rest of the project, including any adapter files under //third_party/<library> (e.g. BUILD.gn). Any necessary updates to make the rest of the project work with the new dependency version should happen in the same change.

Build Failures

If after running gclient sync, your build starts failing due to errors in //third_party/, then do the following:

  1. Delete the //out/ directory.
  2. Delete the src/ directory of the failing //third_party library.
  3. Re-run gclient sync.

This will remove any directories and files which were removed in the updated library but not deleted by gclient sync.