blob: 2b8522a3b996cb42a5af526e72f15b34cd4c503c [file] [log] [blame]
#!/usr/bin/env python3.8
# Copyright 2019 The Fuchsia 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 argparse
import os
import re
import sys
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
'--headers',
help='The list of header files to check',
default=[],
nargs='*')
parser.add_argument(
'--stamp',
help='The path to the stamp file in case of success',
required=True)
args = parser.parse_args()
has_errors = False
matcher = re.compile(r'^#pragma once')
for header in args.headers:
with open(header, 'r') as header_file:
for line in header_file.readlines():
if matcher.match(line):
print('Error: pragma disallowed in SDK: %s' % header)
has_errors = True
if has_errors:
return 1
with open(args.stamp, 'w') as stamp_file:
stamp_file.write('Success!')
return 0
if __name__ == '__main__':
sys.exit(main())