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