summaryrefslogtreecommitdiff
path: root/chromium/components/url_pattern_index/PRESUBMIT.py
blob: 7e211823dd6c658e76a3af564c38d283d4dd3e72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Presubmit script for components/url_pattern_index directory.

See https://www.chromium.org/developers/how-tos/depottools/presubmit-scripts
for more details about the presubmit API built into depot_tools.
"""

USE_PYTHON3 = True

def CheckUrlPatternIndexFormatVersion(input_api, output_api):
  """ Checks the kUrlPatternIndexFormatVersion is modified when necessary.

  Whenever any of the following files is changed:
    - components/url_pattern_index/flat/url_pattern_index.fbs
    - components/url_pattern_index/url_pattern_index.cc
  and kUrlPatternIndexFormatVersion stays intact, this check returns a
  presubmit warning to make sure the value is updated if necessary.
  """

  url_pattern_index_files_changed = False
  url_pattern_index_version_changed = False

  for affected_file in input_api.AffectedFiles():
    basename = input_api.basename(affected_file.LocalPath())

    if (basename == 'url_pattern_index.fbs' or
        basename == 'url_pattern_index.cc'):
      url_pattern_index_files_changed = True

    if basename == 'url_pattern_index.h':
      for (_, line) in affected_file.ChangedContents():
        if 'constexpr int kUrlPatternIndexFormatVersion' in line:
          url_pattern_index_version_changed = True
          break

  out = []
  if url_pattern_index_files_changed and not url_pattern_index_version_changed:
    out.append(output_api.PresubmitPromptWarning(
        'Please make sure that url_pattern_index::kUrlPatternIndexFormatVersion'
        ' is modified if necessary.'))

  return out

def CheckChangeOnUpload(input_api, output_api):
  return CheckUrlPatternIndexFormatVersion(input_api, output_api)