blob: 98a0b480962861ecaa17db76597b4141099c2aa2 [file] [log] [blame]
#!/usr/bin/env fuchsia-vendored-python
# Copyright 2023 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.
"""Verify that there are no duplicate headers."""
import argparse
import os
import sys
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--gn-label", required=True)
parser.add_argument("--stamp-file", required=True)
parser.add_argument("headers", nargs="*")
args = parser.parse_args()
unique_headers = set(args.headers)
if len(unique_headers) != len(args.headers):
print(
"ERROR: Found duplicate headers for target %s:" % args.gn_label,
file=sys.stderr,
)
for header in args.headers:
if args.headers.count(header) > 1:
print("- " + header, file=sys.stderr)
return 1
os.makedirs(os.path.dirname(args.stamp_file), exist_ok=True)
with open(args.stamp_file, "w") as f:
f.write("1")
return 0
if __name__ == "__main__":
sys.exit(main())