1# Copyright (c) 2012 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import os 6 7"""Chromium presubmit script for src/tools/ios. 8 9See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts 10for more details on the presubmit API built into gcl. 11""" 12 13WHITELIST_FILE = 'build/ios/grit_whitelist.txt' 14 15def _CheckWhitelistSorted(input_api, output_api): 16 for path in input_api.LocalPaths(): 17 if WHITELIST_FILE == path: 18 lines = open(os.path.join('../..', WHITELIST_FILE)).readlines() 19 sorted = all(lines[i] <= lines[i + 1] for i in xrange(len(lines) - 1)) 20 if not sorted: 21 return [output_api.PresubmitError( 22 'The file ' + WHITELIST_FILE + ' must be sorted.')] 23 return [] 24 25def _CommonChecks(input_api, output_api): 26 """Checks common to both upload and commit.""" 27 results = [] 28 results.extend(_CheckWhitelistSorted(input_api, output_api)) 29 return results 30 31def CheckChangeOnUpload(input_api, output_api): 32 results = [] 33 results.extend(_CommonChecks(input_api, output_api)) 34 return results 35 36def CheckChangeOnCommit(input_api, output_api): 37 results = [] 38 results.extend(_CommonChecks(input_api, output_api)) 39 return results 40