Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 1 | # This file is used to manage the dependencies of the Open Screen repo. It is |
| 2 | # used by gclient to determine what version of each dependency to check out. |
| 3 | # |
| 4 | # For more information, please refer to the official documentation: |
| 5 | # https://sites.google.com/a/chromium.org/dev/developers/how-tos/get-the-code |
| 6 | # |
| 7 | # When adding a new dependency, please update the top-level .gitignore file |
| 8 | # to list the dependency's destination directory. |
| 9 | |
btolsch | b1d095b | 2019-02-28 10:14:26 -0800 | [diff] [blame] | 10 | use_relative_paths = True |
| 11 | |
Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 12 | vars = { |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 13 | 'boringssl_git': 'https://boringssl.googlesource.com', |
| 14 | 'chromium_git': 'https://chromium.googlesource.com', |
mark a. foltz | 3eca605 | 2021-07-13 15:17:39 -0700 | [diff] [blame] | 15 | 'quiche_git': 'https://quiche.googlesource.com', |
Kennan Gumbs | d816f4d | 2021-07-27 16:08:55 -0400 | [diff] [blame] | 16 | 'aomedia_git': 'https://aomedia.googlesource.com', |
Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 17 | |
Jordan Bayles | 3e820a5 | 2020-04-30 00:57:14 -0700 | [diff] [blame] | 18 | # NOTE: we should only reference GitHub directly for dependencies toggled |
| 19 | # with the "not build_with_chromium" condition. |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 20 | 'github': 'https://github.com', |
btolsch | b1d095b | 2019-02-28 10:14:26 -0800 | [diff] [blame] | 21 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 22 | # NOTE: Strangely enough, this will be overridden by any _parent_ DEPS, so |
| 23 | # in Chromium it will correctly be True. |
| 24 | 'build_with_chromium': False, |
Max Yakimakha | 4132b4c | 2019-04-12 15:09:44 -0700 | [diff] [blame] | 25 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 26 | 'checkout_chromium_quic_boringssl': False, |
btolsch | 297e9f7 | 2020-02-06 00:04:01 -0800 | [diff] [blame] | 27 | |
| 28 | # Needed to download additional clang binaries for processing coverage data |
| 29 | # (from binaries with GN arg `use_coverage=true`). |
Ryan Keane | 3c39611 | 2020-04-28 14:24:43 -0700 | [diff] [blame] | 30 | # |
| 31 | # TODO(issuetracker.google.com/155195126): Change this to False and update |
Jordan Bayles | 82a5b2d | 2020-11-09 11:00:51 -0800 | [diff] [blame] | 32 | # buildbot to call tools/download-clang-update-script.py instead. |
Ryan Keane | 3c39611 | 2020-04-28 14:24:43 -0700 | [diff] [blame] | 33 | 'checkout_clang_coverage_tools': True, |
Jordan Bayles | 6e279a0 | 2021-05-27 14:24:12 -0700 | [diff] [blame] | 34 | |
| 35 | # GN CIPD package version. |
| 36 | 'gn_version': 'git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810', |
mark a. foltz | dec3ae5 | 2021-06-01 15:54:50 -0700 | [diff] [blame] | 37 | 'clang_format_revision': '99803d74e35962f63a775f29477882afd4d57d94', |
Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 38 | } |
| 39 | |
| 40 | deps = { |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 41 | # NOTE: This commit hash here references a repository/branch that is a mirror |
| 42 | # of the commits to the buildtools directory in the Chromium repository. This |
| 43 | # should be regularly updated with the tip of the MIRRORED master branch, |
| 44 | # found here: |
Jordan Bayles | 6e279a0 | 2021-05-27 14:24:12 -0700 | [diff] [blame] | 45 | # https://chromium.googlesource.com/chromium/src/buildtools/+/refs/heads/main. |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 46 | 'buildtools': { |
Jordan Bayles | 6e279a0 | 2021-05-27 14:24:12 -0700 | [diff] [blame] | 47 | 'url': Var('chromium_git') + '/chromium/src/buildtools' + |
| 48 | '@' + 'fba2905150c974240f14aa5334c3e5c93f873032', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 49 | 'condition': 'not build_with_chromium', |
| 50 | }, |
mark a. foltz | dec3ae5 | 2021-06-01 15:54:50 -0700 | [diff] [blame] | 51 | 'buildtools/clang_format/script': { |
| 52 | 'url': Var('chromium_git') + |
| 53 | '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + |
| 54 | '@' + Var('clang_format_revision'), |
| 55 | 'condition': 'not build_with_chromium', |
| 56 | }, |
Jordan Bayles | 6e279a0 | 2021-05-27 14:24:12 -0700 | [diff] [blame] | 57 | 'buildtools/linux64': { |
| 58 | 'packages': [ |
| 59 | { |
| 60 | 'package': 'gn/gn/linux-amd64', |
| 61 | 'version': Var('gn_version'), |
| 62 | } |
| 63 | ], |
| 64 | 'dep_type': 'cipd', |
mark a. foltz | dec3ae5 | 2021-06-01 15:54:50 -0700 | [diff] [blame] | 65 | 'condition': 'host_os == "linux" and not build_with_chromium', |
Jordan Bayles | 6e279a0 | 2021-05-27 14:24:12 -0700 | [diff] [blame] | 66 | }, |
| 67 | 'buildtools/mac': { |
| 68 | 'packages': [ |
| 69 | { |
| 70 | 'package': 'gn/gn/mac-${{arch}}', |
| 71 | 'version': Var('gn_version'), |
| 72 | } |
| 73 | ], |
| 74 | 'dep_type': 'cipd', |
mark a. foltz | dec3ae5 | 2021-06-01 15:54:50 -0700 | [diff] [blame] | 75 | 'condition': 'host_os == "mac" and not build_with_chromium', |
Jordan Bayles | 6e279a0 | 2021-05-27 14:24:12 -0700 | [diff] [blame] | 76 | }, |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 77 | 'third_party/protobuf/src': { |
| 78 | 'url': Var('chromium_git') + |
| 79 | '/external/github.com/protocolbuffers/protobuf.git' + |
Jordan Bayles | f3b911c | 2021-06-22 11:28:50 -0700 | [diff] [blame] | 80 | '@' + '909a0f36a10075c4b4bc70fdee2c7e32dd612a72', # version 3.17.3 |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 81 | 'condition': 'not build_with_chromium', |
| 82 | }, |
Jordan Bayles | fa947f0 | 2019-06-05 12:52:56 -0700 | [diff] [blame] | 83 | |
John Williams | 8cce349 | 2020-05-21 15:13:52 -0700 | [diff] [blame] | 84 | 'third_party/libprotobuf-mutator/src': { |
| 85 | 'url': Var('chromium_git') + |
Jordan Bayles | 842767b | 2020-11-23 14:50:17 -0800 | [diff] [blame] | 86 | '/external/github.com/google/libprotobuf-mutator.git' + |
Jordan Bayles | f3b911c | 2021-06-22 11:28:50 -0700 | [diff] [blame] | 87 | '@' + '8942a9ba43d8bb196230c321d46d6a137957a719', |
John Williams | 8cce349 | 2020-05-21 15:13:52 -0700 | [diff] [blame] | 88 | 'condition': 'not build_with_chromium', |
| 89 | }, |
| 90 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 91 | 'third_party/zlib/src': { |
| 92 | 'url': Var('github') + |
| 93 | '/madler/zlib.git' + |
| 94 | '@' + 'cacf7f1d4e3d44d871b605da3b647f07d718623f', # version 1.2.11 |
| 95 | 'condition': 'not build_with_chromium', |
| 96 | }, |
btolsch | 22fa184 | 2019-07-16 21:40:28 -0700 | [diff] [blame] | 97 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 98 | 'third_party/jsoncpp/src': { |
| 99 | 'url': Var('chromium_git') + |
| 100 | '/external/github.com/open-source-parsers/jsoncpp.git' + |
Jordan Bayles | 0f57da1 | 2020-09-25 19:33:36 -0700 | [diff] [blame] | 101 | '@' + '9059f5cad030ba11d37818847443a53918c327b1', # version 1.9.4 |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 102 | 'condition': 'not build_with_chromium', |
| 103 | }, |
btolsch | 22fa184 | 2019-07-16 21:40:28 -0700 | [diff] [blame] | 104 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 105 | 'third_party/googletest/src': { |
| 106 | 'url': Var('chromium_git') + |
| 107 | '/external/github.com/google/googletest.git' + |
Jordan Bayles | 842767b | 2020-11-23 14:50:17 -0800 | [diff] [blame] | 108 | '@' + '36d8eb532022d3b543bf55aa8ffa01b6e9f03490', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 109 | 'condition': 'not build_with_chromium', |
| 110 | }, |
Jordan Bayles | fa947f0 | 2019-06-05 12:52:56 -0700 | [diff] [blame] | 111 | |
Jordan Bayles | 74021fe | 2020-04-29 17:00:07 -0700 | [diff] [blame] | 112 | # Note about updating BoringSSL: after changing this hash, run the update |
| 113 | # script in BoringSSL's util folder for generating build files from the |
| 114 | # <openscreen src-dir>/third_party/boringssl directory: |
| 115 | # python ./src/util/generate_build_files.py gn |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 116 | 'third_party/boringssl/src': { |
| 117 | 'url' : Var('boringssl_git') + '/boringssl.git' + |
David Benjamin | 940f00b | 2021-03-04 15:15:20 -0500 | [diff] [blame] | 118 | '@' + 'f6bd54efbcafcf4625ce99b5f702dc4850b0ca50', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 119 | 'condition': 'not build_with_chromium', |
| 120 | }, |
Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 121 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 122 | 'third_party/chromium_quic/src': { |
| 123 | 'url': Var('chromium_git') + '/openscreen/quic.git' + |
Jordan Bayles | 8a7173a | 2021-06-29 03:59:26 -0700 | [diff] [blame] | 124 | '@' + '79eec3fc28f5c4e1d06c6146825e31def6e3b793', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 125 | 'condition': 'not build_with_chromium', |
| 126 | }, |
Max Yakimakha | 4132b4c | 2019-04-12 15:09:44 -0700 | [diff] [blame] | 127 | |
mark a. foltz | 3eca605 | 2021-07-13 15:17:39 -0700 | [diff] [blame] | 128 | # To roll forward, use quiche_revision from chromium/src/DEPS. |
| 129 | 'third_party/quiche/src': { |
| 130 | 'url': Var('quiche_git') + '/quiche.git' + |
| 131 | '@' + '51f584db29001036c20db3f72f09b00b875ae625', |
| 132 | 'condition': 'not build_with_chromium', |
| 133 | }, |
| 134 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 135 | 'third_party/tinycbor/src': |
| 136 | Var('chromium_git') + '/external/github.com/intel/tinycbor.git' + |
Jordan Bayles | 842767b | 2020-11-23 14:50:17 -0800 | [diff] [blame] | 137 | '@' + 'fc42a049853b802e45f49588f8148fc29d7b4d9c', |
Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 138 | |
mark a. foltz | 9279e57 | 2020-05-05 11:25:45 -0700 | [diff] [blame] | 139 | # Abseil recommends living at head. Chromium takes an Abseil snapshot |
Jordan Bayles | 842767b | 2020-11-23 14:50:17 -0800 | [diff] [blame] | 140 | # irregularly, every 1-2 months. It's OK for us to come out slightly ahead |
| 141 | # of Chrome's copy here. |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 142 | 'third_party/abseil/src': { |
| 143 | 'url': Var('chromium_git') + |
Jordan Bayles | 842767b | 2020-11-23 14:50:17 -0800 | [diff] [blame] | 144 | '/external/github.com/abseil/abseil-cpp.git' + '@' + |
| 145 | 'e19260fd7dbef881492fd73891e0be5bd4a09b95', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 146 | 'condition': 'not build_with_chromium', |
| 147 | }, |
Jordan Bayles | 74021fe | 2020-04-29 17:00:07 -0700 | [diff] [blame] | 148 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 149 | 'third_party/libfuzzer/src': { |
| 150 | 'url': Var('chromium_git') + |
| 151 | '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + |
| 152 | '@' + 'debe7d2d1982e540fbd6bd78604bf001753f9e74', |
| 153 | 'condition': 'not build_with_chromium', |
| 154 | }, |
Jordan Bayles | 12b95e7 | 2020-12-03 09:26:47 -0800 | [diff] [blame] | 155 | |
Jordan Bayles | 79c6ea2 | 2020-12-10 11:12:44 -0800 | [diff] [blame] | 156 | 'third_party/modp_b64': { |
| 157 | 'url': Var('chromium_git') + '/chromium/src/third_party/modp_b64' |
| 158 | '@' + '85754265d3847383704d19232e1ab873547cda9d', |
| 159 | 'condition': 'not build_with_chromium', |
| 160 | }, |
| 161 | |
Jordan Bayles | 12b95e7 | 2020-12-03 09:26:47 -0800 | [diff] [blame] | 162 | 'third_party/valijson/src': { |
| 163 | 'url': Var('github') + '/tristanpenman/valijson.git' + |
| 164 | '@' + 'cf648930313655b19dc07ebae2f9c3fc37966a33', # Tip-of-tree |
Jordan Bayles | 79c6ea2 | 2020-12-10 11:12:44 -0800 | [diff] [blame] | 165 | 'condition': 'not build_with_chromium' |
Kennan Gumbs | d816f4d | 2021-07-27 16:08:55 -0400 | [diff] [blame] | 166 | }, |
| 167 | |
| 168 | # Keep in sync with third_party/libaom/source/libaom in Chromium DEPS |
| 169 | 'third_party/aomedia/src': { |
| 170 | 'url': Var('aomedia_git') + '/aom.git' + |
| 171 | '@' + 'bb20160fbdd8226e7904541c8da70b91703e62b8', |
| 172 | 'condition': 'not build_with_chromium' |
Jordan Bayles | 12b95e7 | 2020-12-03 09:26:47 -0800 | [diff] [blame] | 173 | } |
Jordan Bayles | b5c9ece | 2019-02-22 15:16:44 -0800 | [diff] [blame] | 174 | } |
btolsch | b1d095b | 2019-02-28 10:14:26 -0800 | [diff] [blame] | 175 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 176 | hooks = [ |
| 177 | { |
| 178 | 'name': 'clang_update_script', |
| 179 | 'pattern': '.', |
| 180 | 'condition': 'not build_with_chromium', |
| 181 | 'action': [ 'python', 'tools/download-clang-update-script.py', |
| 182 | '--output', 'tools/clang/scripts/update.py' ], |
| 183 | # NOTE: This file appears in .gitignore, as it is not a part of the |
| 184 | # openscreen repo. |
| 185 | }, |
Jordan Bayles | 82a5b2d | 2020-11-09 11:00:51 -0800 | [diff] [blame] | 186 | { |
| 187 | 'name': 'yajsv_update_script', |
| 188 | 'pattern': '.', |
| 189 | 'condition': 'not build_with_chromium', |
| 190 | 'action': [ 'python', 'tools/download-yajsv.py' ], |
| 191 | }, |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 192 | { |
| 193 | 'name': 'update_clang', |
| 194 | 'pattern': '.', |
| 195 | 'condition': 'not build_with_chromium', |
| 196 | 'action': [ 'python', 'tools/clang/scripts/update.py' ], |
| 197 | }, |
| 198 | { |
btolsch | 297e9f7 | 2020-02-06 00:04:01 -0800 | [diff] [blame] | 199 | 'name': 'clang_coverage_tools', |
| 200 | 'pattern': '.', |
| 201 | 'condition': 'not build_with_chromium and checkout_clang_coverage_tools', |
| 202 | 'action': ['python', 'tools/clang/scripts/update.py', |
| 203 | '--package=coverage_tools'], |
| 204 | }, |
| 205 | { |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 206 | 'name': 'clang_format_linux64', |
| 207 | 'pattern': '.', |
| 208 | 'action': [ 'download_from_google_storage.py', '--no_resume', '--no_auth', |
| 209 | '--bucket', 'chromium-clang-format', |
| 210 | '-s', 'buildtools/linux64/clang-format.sha1' ], |
| 211 | 'condition': 'host_os == "linux" and not build_with_chromium', |
| 212 | }, |
| 213 | { |
| 214 | 'name': 'clang_format_mac', |
| 215 | 'pattern': '.', |
| 216 | 'action': [ 'download_from_google_storage.py', '--no_resume', '--no_auth', |
| 217 | '--bucket', 'chromium-clang-format', |
| 218 | '-s', 'buildtools/mac/clang-format.sha1' ], |
| 219 | 'condition': 'host_os == "mac" and not build_with_chromium', |
| 220 | }, |
| 221 | ] |
| 222 | |
btolsch | b1d095b | 2019-02-28 10:14:26 -0800 | [diff] [blame] | 223 | recursedeps = [ |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 224 | 'third_party/chromium_quic/src', |
Jordan Bayles | 12b95e7 | 2020-12-03 09:26:47 -0800 | [diff] [blame] | 225 | 'cast', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 226 | 'buildtools', |
btolsch | b1d095b | 2019-02-28 10:14:26 -0800 | [diff] [blame] | 227 | ] |
btolsch | 9ba2371 | 2019-04-18 16:36:55 -0700 | [diff] [blame] | 228 | |
| 229 | include_rules = [ |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 230 | '+util', |
| 231 | '+platform/api', |
| 232 | '+platform/base', |
| 233 | '+platform/test', |
| 234 | '+testing/util', |
| 235 | '+third_party', |
btolsch | 9ba2371 | 2019-04-18 16:36:55 -0700 | [diff] [blame] | 236 | |
mark a. foltz | f9715c5 | 2021-07-20 17:00:33 -0700 | [diff] [blame] | 237 | # Inter-module dependencies must be through public APIs. |
| 238 | '-discovery', |
| 239 | '+discovery/common', |
| 240 | '+discovery/dnssd/public', |
| 241 | '+discovery/mdns/public', |
| 242 | '+discovery/public', |
| 243 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 244 | # Don't include abseil from the root so the path can change via include_dirs |
| 245 | # rules when in Chromium. |
| 246 | '-third_party/abseil', |
btolsch | 9ba2371 | 2019-04-18 16:36:55 -0700 | [diff] [blame] | 247 | |
mark a. foltz | 8c11e26 | 2020-07-22 14:29:37 -0700 | [diff] [blame] | 248 | # Abseil allowed headers. |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 249 | '+absl/algorithm/container.h', |
| 250 | '+absl/base/thread_annotations.h', |
| 251 | '+absl/hash/hash.h', |
Ryan Keane | 492f486 | 2020-06-10 10:03:39 -0700 | [diff] [blame] | 252 | '+absl/hash/hash_testing.h', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 253 | '+absl/strings/ascii.h', |
| 254 | '+absl/strings/match.h', |
| 255 | '+absl/strings/numbers.h', |
| 256 | '+absl/strings/str_cat.h', |
| 257 | '+absl/strings/str_join.h', |
Ryan Keane | 7ff4317 | 2020-01-14 14:16:27 -0800 | [diff] [blame] | 258 | '+absl/strings/str_replace.h', |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 259 | '+absl/strings/str_split.h', |
| 260 | '+absl/strings/string_view.h', |
| 261 | '+absl/strings/substitute.h', |
| 262 | '+absl/types/optional.h', |
| 263 | '+absl/types/span.h', |
| 264 | '+absl/types/variant.h', |
Jordan Bayles | 2d01f17 | 2019-06-07 11:11:50 -0700 | [diff] [blame] | 265 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 266 | # Similar to abseil, don't include boringssl using root path. Instead, |
| 267 | # explicitly allow 'openssl' where needed. |
| 268 | '-third_party/boringssl', |
btolsch | aaad6a5 | 2019-08-05 14:05:39 -0700 | [diff] [blame] | 269 | |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 270 | # Test framework includes. |
| 271 | "-third_party/googletest", |
| 272 | "+gtest", |
| 273 | "+gmock", |
btolsch | 9ba2371 | 2019-04-18 16:36:55 -0700 | [diff] [blame] | 274 | ] |
| 275 | |
| 276 | skip_child_includes = [ |
Yuri Wiitala | 50d8abc | 2020-01-09 18:36:09 -0800 | [diff] [blame] | 277 | 'third_party/chromium_quic', |
btolsch | 9ba2371 | 2019-04-18 16:36:55 -0700 | [diff] [blame] | 278 | ] |