# Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Watchlist Rules
# Refer: http://dev.chromium.org/developers/contributing-code/watchlists

{
  'WATCHLIST_DEFINITIONS': {
    'runtime': {
      'filepath': '^runtime/',
    },
    'observatory': {
      'filepath': 'runtime/bin/vmservice/' \
                  '|runtime/bin/vmservice*' \
                  '|runtime/observatory/' \
                  '|runtime/vm/service/' \
                  '|runtime/vm/service*'
    },
    'front_end': {
      'filepath': '^pkg/front_end',
    },
    'messages_review': {
      'filepath': (
        '^('
        'pkg/front_end/messages\\.yaml|'
        'pkg/compiler/lib/src/diagnostics/messages\\.dart|'
        'pkg/analyzer/lib/src/analysis_options/error/option_codes\\.dart|'
        'pkg/analyzer/lib/src/dart/error/hint_codes\\.dart|'
        'pkg/analyzer/lib/src/dart/error/lint_codes\\.dart|'
        'pkg/analyzer/lib/src/dart/error/todo_codes\\.dart|'
        'pkg/analyzer/lib/src/html/error/html_codes\\.dart|'
        'pkg/dart_messages/lib/shared_messages\\.dart'
        ')$'
      )
    },
  },

  'WATCHLISTS': {
    'runtime': ['vm-dev@dartlang.org'],
    'observatory': ['johnmccutchan@google.com', 'turnidge@google.com', 'rmacnak@google.com'],
    'front_end': ['dart-fe-team+reviews@google.com'],
    'messages_review': [ 'dart-uxr+reviews@google.com' ],
  },
}
