1 #!/usr/bin/python 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 3 # Use of this source code is governed by a BSD-style license that can be 4 # found in the LICENSE file. 5 6 import os.path 7 8 # When files in these directories are changed, we display a warning. 9 DEPENDENT_DIRS = set([ 10 os.path.normpath("chrome/common/extensions/api"), 11 os.path.normpath("chrome/common/extensions/docs") 12 ]) 13 14 # Except for these directories. 15 BLACKLIST_DIRS = set([ 16 os.path.normpath("chrome/common/extensions/docs/server") 17 ]) 18 19 REBUILD_WARNING = """ 20 This change modifies file(s) which the extension docs depend on. You must 21 rebuild the extension docs. 22 23 Build by running the build.py script in chrome/common/extensions/docs/build/. 24 25 Be sure to include any modified resulting static files 26 (/common/extension/docs/*.html) in your final changelist. 27 """ 28 29 def CheckChange(input_api, output_api): 30 for f in input_api.AffectedFiles(): 31 dir = os.path.normpath(input_api.os_path.dirname(f.LocalPath())) 32 while len(dir): 33 if dir in BLACKLIST_DIRS: 34 return [] 35 if dir in DEPENDENT_DIRS: 36 return [output_api.PresubmitPromptWarning(REBUILD_WARNING)] 37 dir = os.path.dirname(dir) 38 return [] 39 40 def CheckChangeOnUpload(input_api, output_api): 41 return CheckChange(input_api, output_api) 42 43 def CheckChangeOnCommit(input_api, output_api): 44 return CheckChange(input_api, output_api) 45