DEPS (6001B)
1 # This is supposed to be a complete list of top-level directories, 2 # excepting only api/ itself. 3 include_rules = [ 4 "-audio", 5 "-base", 6 "-build", 7 "-buildtools", 8 "-build_overrides", 9 "-call", 10 "-common_audio", 11 "-common_video", 12 "-data", 13 "-examples", 14 "-experiments", 15 "-g3doc", 16 "-ios", 17 "-infra", 18 "-logging", 19 "-media", 20 "-net", 21 "-modules", 22 "-out", 23 "-p2p", 24 "-pc", 25 "-resources", 26 "-rtc_base", 27 "-rtc_tools", 28 "-sdk", 29 "-stats", 30 "-style-guide", 31 "-system_wrappers", 32 "-test", 33 "-testing", 34 "-third_party", 35 "-tools", 36 "-tools_webrtc", 37 "-video", 38 "-external/webrtc/webrtc", # Android platform build. 39 "-libyuv", 40 "-common_types.h", 41 "-WebRTC", 42 ] 43 44 specific_include_rules = { 45 # Some internal headers are allowed even in API headers: 46 47 ".*\.h": [ 48 "+rtc_base/checks.h", 49 "+rtc_base/system/rtc_export.h", 50 "+rtc_base/system/rtc_export_template.h", 51 "+rtc_base/units/unit_base.h", 52 ], 53 54 "array_view\.h": [ 55 "+rtc_base/type_traits.h", 56 ], 57 58 # Needed because AudioEncoderOpus is in the wrong place for 59 # backwards compatibilty reasons. See 60 # https://bugs.chromium.org/p/webrtc/issues/detail?id=7847 61 "audio_encoder_opus\.h": [ 62 "+modules/audio_coding/codecs/opus/audio_encoder_opus.h", 63 ], 64 65 "async_resolver_factory\.h": [ 66 "+rtc_base/async_resolver_interface.h", 67 ], 68 69 "async_dns_resolver\.h": [ 70 "+rtc_base/socket_address.h", 71 ], 72 73 "audio_device_defines\.h": [ 74 "+rtc_base/strings/string_builder.h", 75 ], 76 77 "audio_format\.h": [ 78 "+rtc_base/strings/string_builder.h", 79 ], 80 81 "candidate\.h": [ 82 "+rtc_base/network_constants.h", 83 "+rtc_base/socket_address.h", 84 ], 85 86 "create_peerconnection_factory\.h": [ 87 "+rtc_base/thread.h", 88 ], 89 90 "data_channel_interface\.h": [ 91 "+rtc_base/copy_on_write_buffer.h", 92 ], 93 94 "data_channel_transport_interface\.h": [ 95 "+rtc_base/copy_on_write_buffer.h", 96 ], 97 98 "datagram_connection\.h": [ 99 "+p2p/base/transport_description.h", 100 ], 101 102 "datagram_connection_factory\.h": [ 103 "+p2p/base/port_allocator.h", 104 ], 105 106 "dtls_transport_interface\.h": [ 107 "+rtc_base/ssl_certificate.h", 108 ], 109 110 "fec_controller\.h": [ 111 "+modules/include/module_fec_types.h", 112 ], 113 114 "jsep\.h": [ 115 "+absl/strings/has_absl_stringify.h", 116 "+absl/strings/str_format.h", 117 "+rtc_base/system/no_unique_address.h", 118 ], 119 120 "local_network_access_permission\.h": [ 121 "+rtc_base/socket_address.h", 122 ], 123 124 "packet_socket_factory\.h": [ 125 "+rtc_base/async_packet_socket.h", 126 "+rtc_base/socket_address.h", 127 "+rtc_base/ssl_certificate.h", 128 ], 129 130 "turn_customizer\.h": [ 131 "+p2p/base/port_interface.h", 132 ], 133 134 "peer_connection_interface\.h": [ 135 "+media/base/media_config.h", 136 "+media/base/media_engine.h", 137 "+p2p/base/port.h", 138 "+p2p/base/port_allocator.h", 139 "+rtc_base/network.h", 140 "+rtc_base/network_constants.h", 141 "+rtc_base/network_monitor_factory.h", 142 "+rtc_base/rtc_certificate.h", 143 "+rtc_base/rtc_certificate_generator.h", 144 "+rtc_base/socket_address.h", 145 "+rtc_base/socket_factory.h", 146 "+rtc_base/ssl_certificate.h", 147 "+rtc_base/ssl_stream_adapter.h", 148 "+rtc_base/thread.h", 149 ], 150 151 "proxy\.h": [ 152 "+rtc_base/event.h", 153 "+rtc_base/message_handler.h", # Inherits from it. 154 "+rtc_base/thread.h", 155 ], 156 157 "ref_counted_base\.h": [ 158 "+rtc_base/ref_counter.h", 159 ], 160 161 "rtc_error\.h": [ 162 "+rtc_base/logging.h", 163 "+absl/strings/has_absl_stringify.h", 164 "+absl/strings/str_format.h", 165 ], 166 "rtc_event_log_output_file.h": [ 167 # For private member and constructor. 168 "+rtc_base/system/file_wrapper.h", 169 ], 170 171 "legacy_stats_types\.h": [ 172 "+rtc_base/thread_annotations.h", 173 "+rtc_base/thread_checker.h", 174 ], 175 176 "audio_decoder\.h": [ 177 "+rtc_base/buffer.h", 178 ], 179 180 "audio_encoder\.h": [ 181 "+rtc_base/buffer.h", 182 ], 183 184 "make_ref_counted\.h": [ 185 "+rtc_base/ref_counted_object.h", 186 ], 187 188 "mock.*\.h": [ 189 "+test/gmock.h", 190 ], 191 192 "mock_peerconnectioninterface\.h": [ 193 "+rtc_base/ref_counted_object.h", 194 ], 195 196 "mock_video_track\.h": [ 197 "+rtc_base/ref_counted_object.h", 198 ], 199 200 "notifier\.h": [ 201 "+rtc_base/system/no_unique_address.h", 202 "+rtc_base/thread_annotations.h", 203 ], 204 205 "priority\.h": [ 206 "+rtc_base/strong_alias.h", 207 ], 208 209 "simulated_network\.h": [ 210 "+rtc_base/random.h", 211 "+rtc_base/thread_annotations.h", 212 ], 213 214 "time_controller\.h": [ 215 "+rtc_base/thread.h", 216 ], 217 218 "videocodec_test_fixture\.h": [ 219 "+modules/video_coding/include/video_codec_interface.h" 220 ], 221 222 "rtp_parameters\.h": [ 223 "+absl/strings/str_format.h", 224 ], 225 226 "sequence_checker\.h": [ 227 "+rtc_base/synchronization/sequence_checker_internal.h", 228 "+rtc_base/thread_annotations.h", 229 ], 230 231 "video_encoder_factory_template.*\.h": [ 232 "+modules/video_coding", 233 ], 234 235 "video_encoder_factory_interface\.h": [ 236 "+rtc_base/numerics", 237 ], 238 239 "video_encoder_interface\.h": [ 240 "+rtc_base/numerics", 241 ], 242 243 "simple_encoder_wrapper\.h": [ 244 "+common_video", 245 "+modules", 246 ], 247 248 "video_decoder_factory_template.*\.h": [ 249 "+modules/video_coding", 250 ], 251 252 "field_trials\.h": [ 253 "+rtc_base/containers/flat_map.h", 254 ], 255 256 "video_track_source_proxy_factory.h": [ 257 "+rtc_base/thread.h", 258 ], 259 260 "field_trials_registry\.h": [ 261 "+rtc_base/containers/flat_set.h", 262 ], 263 264 "ice_transport_factory\.h": [ 265 "+p2p/base/port_allocator.h", 266 ], 267 268 # .cc files in api/ should not be restricted in what they can #include, 269 # so we re-add all the top-level directories here. (That's because .h 270 # files leak their #includes to whoever's #including them, but .cc files 271 # do not since no one #includes them.) 272 ".*\.cc": [ 273 "+audio", 274 "+call", 275 "+common_audio", 276 "+common_video", 277 "+examples", 278 "+experiments", 279 "+logging", 280 "+media", 281 "+modules", 282 "+p2p", 283 "+pc", 284 "+rtc_base", 285 "+rtc_tools", 286 "+sdk", 287 "+stats", 288 "+system_wrappers", 289 "+test", 290 "+tools", 291 "+tools_webrtc", 292 "+video", 293 "+third_party", 294 ], 295 }