# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

# Inspired by chromium.org:
# http://dev.chromium.org/developers/contributing-code/watchlists

{
  'WATCHLIST_DEFINITIONS': {
    'this_file': {
      'filepath': '^WATCHLISTS$',
    },
    'all_src': {
      'filepath': 'src/.*',
    },
    'root_files': {
      # src/build/ and non-recursive contents of ./ and src/
      'filepath': '^[^/]*$|src/[^/]*$|src/build/.*',
    },
    'documented_interfaces': {
      'filepath': 'src/[^/]*\.h$|'\
                  'src/video_engine/main/interface/.*|'\
                  'src/voice_engine/main/interface/.*',
    },
    'build_files': {
      'filepath': '\.gyp$|\.gypi$|Android\.mk$',
    },
    'java_files': {
      'filepath': '\.java$|\.xml$',
    },
    'video_engine': {
      'filepath': 'src/video_engine/.*',
    },
    'voice_engine': {
      'filepath': 'src/voice_engine/.*',
    },
    'common_audio': {
      'filepath': 'src/common_audio/.*',
    },
    'video_capture': {
      'filepath': 'src/modules/video_capture/.*',
    },
    'video_render': {
      'filepath': 'src/modules/video_render/.*',
    },
    'audio_device': {
      'filepath': 'src/modules/audio_device/.*',
    },
    'audio_coding': {
      'filepath': 'src/modules/audio_coding/.*',
    },
    'NetEQ': {
      'filepath': 'src/modules/audio_coding/NetEQ/.*',
    },
    'audio_processing': {
      'filepath': 'src/modules/audio_processing/.*',
    },
    'video_codecs': {
      'filepath': 'src/modules/video_coding/codecs/.*',
    },
    'video_coding': {
      'filepath': 'src/modules/video_coding/.*',
    },
    'rtp_rtcp': {
      'filepath': 'src/modules/rtp_rtcp/.*'
    },
    'system_wrappers': {
      'filepath': 'src/system_wrappers/.*',
    },
  },

  'WATCHLISTS': {
    'this_file': [''],
    'all_src': ['tterriberry@mozilla.com',
                'giles@mozilla.com'],
    'root_files': ['andrew@webrtc.org',
                   'niklas.enbom@webrtc.org'],
    'documented_interfaces': ['interface-changes@webrtc.org',
                              'rwolff@gocast.it'],
    'build_files': ['leozwang@webrtc.org'],
    'java_files': ['leozwang@webrtc.org'],
    'common_audio': ['bjornv@webrtc.org',
                     'andrew@webrtc.org'],
    'video_engine': ['mflodman@webrtc.org',
                     'perkj@webrtc.org'],
    'voice_engine': ['henrika@webrtc.org'],
    'video_capture': ['mflodman@webrtc.org',
                      'perkj@webrtc.org',
                      'leozwang@webrtc.org'],
    'video_render': ['mflodman@webrtc.org',
                     'perkj@webrtc.org',
                     'leozwang@webrtc.org'],
    'audio_device': ['henrika@webrtc.org',
                     'leozwang@webrtc.org'],
    'audio_coding': ['tina.legrand@webrtc.org'],
    'NetEQ': ['henrik.lundin@webrtc.org'],
    'audio_processing': ['andrew@webrtc.org',
                         'bjornv@webrtc.org'],
    'video_codecs': ['henrik.lundin@webrtc.org'],
    'video_coding': ['stefan@webrtc.org'],
    'rtp_rtcp': ['mflodman@webrtc.org',
                 'pwestin@webrtc.org'],
    'system_wrappers': ['mflodman@webrtc.org',
                        'henrika@webrtc.org',
                        'andrew@webrtc.org'],
  },
}
