Home | History | Annotate | Download | only in src_util
      1 # -*- coding: utf-8 -*-
      2 
      3 #-------------------------------------------------------------------------
      4 # drawElements Quality Program utilities
      5 # --------------------------------------
      6 #
      7 # Copyright 2015 The Android Open Source Project
      8 #
      9 # Licensed under the Apache License, Version 2.0 (the "License");
     10 # you may not use this file except in compliance with the License.
     11 # You may obtain a copy of the License at
     12 #
     13 #      http://www.apache.org/licenses/LICENSE-2.0
     14 #
     15 # Unless required by applicable law or agreed to in writing, software
     16 # distributed under the License is distributed on an "AS IS" BASIS,
     17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     18 # See the License for the specific language governing permissions and
     19 # limitations under the License.
     20 #
     21 #-------------------------------------------------------------------------
     22 
     23 import	sys
     24 from	argparse				import	ArgumentParser
     25 from	common					import	getChangedFiles, getAllProjectFiles
     26 from	check_include_guards	import	checkIncludeGuards
     27 from	check_whitespace		import	checkWhitespace
     28 from	check_license			import	checkLicense
     29 from	check_boms				import	checkBOMs
     30 
     31 if __name__ == "__main__":
     32 	parser = ArgumentParser()
     33 	parser.add_argument("-e",	"--only-errors",	action="store_true",	dest="onlyErrors",		default=False,	help="Print only on error")
     34 	parser.add_argument("-i",	"--only-changed",	action="store_true",	dest="useGitIndex",		default=False,	help="Check only modified files. Uses git.")
     35 	parser.add_argument("-b",	"--fix-bom",		action="store_true",	dest="fixBOMs",			default=False,	help="Attempt to fix BOMs")
     36 
     37 	args = parser.parse_args()
     38 
     39 	if args.useGitIndex:
     40 		files = getChangedFiles()
     41 	else:
     42 		files = getAllProjectFiles()
     43 
     44 	error = not all([
     45 		checkBOMs(files, args.fixBOMs),
     46 		checkWhitespace(files),
     47 		checkIncludeGuards(files),
     48 		checkLicense(files),
     49 		#todo checkRedundantIncludeGuards(files),
     50 		])
     51 
     52 	if	error:
     53 		print	"One or more checks failed"
     54 		sys.exit(1)
     55 	if	not	args.onlyErrors:
     56 		print	"All checks passed"
     57