| #!/usr/bin/python |
| # Copyright (c) 2009 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. |
| |
| import os.path |
| |
| # When files in these directories are changed, we display a warning. |
| DEPENDENT_DIRS = set([ |
| os.path.normpath("chrome/common/extensions/api"), |
| os.path.normpath("chrome/common/extensions/docs") |
| ]) |
| |
| # Except for these directories. |
| BLACKLIST_DIRS = set([ |
| os.path.normpath("chrome/common/extensions/docs/server") |
| ]) |
| |
| REBUILD_WARNING = """ |
| This change modifies file(s) which the extension docs depend on. You must |
| rebuild the extension docs. |
| |
| Build by running the build.py script in chrome/common/extensions/docs/build/. |
| |
| Be sure to include any modified resulting static files |
| (/common/extension/docs/*.html) in your final changelist. |
| """ |
| |
| def CheckChange(input_api, output_api): |
| for f in input_api.AffectedFiles(): |
| dir = os.path.normpath(input_api.os_path.dirname(f.LocalPath())) |
| while len(dir): |
| if dir in BLACKLIST_DIRS: |
| return [] |
| if dir in DEPENDENT_DIRS: |
| return [output_api.PresubmitPromptWarning(REBUILD_WARNING)] |
| dir = os.path.dirname(dir) |
| return [] |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| return CheckChange(input_api, output_api) |
| |
| def CheckChangeOnCommit(input_api, output_api): |
| return CheckChange(input_api, output_api) |