123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/usr/bin/env python3
- # Copyright (c) Microsoft Corporation.
- # SPDX-License-Identifier: Apache-2.0
- # DeepSpeed Team
- from __future__ import annotations
- '''Copyright The Microsoft DeepSpeed Team'''
- """
- Modified from https://github.com/jlebar/pre-commit-hooks/blob/master/check_do_not_submit.py
- """
- import subprocess
- import sys
- def err(s: str) -> None:
- print(s, file=sys.stderr)
- COPYRIGHT = [
- (r"^# Copyright (c) Microsoft Corporation.$", r"^\/\/ Copyright (c) Microsoft Corporation.$"),
- (r"^# SPDX-License-Identifier: Apache-2.0$", r"^\/\/ SPDX-License-Identifier: Apache-2.0$"),
- (r"^# DeepSpeed Team$", r"^\/\/ DeepSpeed Team$"),
- ]
- success = True
- failures = []
- for f in sys.argv[1:]:
- for copyright_line in COPYRIGHT:
- cmd = ["git", "grep", "--quiet"]
- for line in copyright_line:
- cmd.extend(["-e", line])
- cmd.append(f)
- res = subprocess.run(cmd, capture_output=True)
- if res.returncode == 1:
- success = False
- failures.append(f)
- break
- elif res.returncode == 2:
- err(f"Error invoking grep on {', '.join(sys.argv[1:])}:")
- err(res.stderr.decode("utf-8"))
- sys.exit(2)
- if not success:
- err(f'{failures}: Missing license at top of file')
- err(res.stdout.decode("utf-8"))
- sys.exit(1)
|