Răsfoiți Sursa

update pre-commit to check license (#1979)

Tingquan Gao 1 an în urmă
părinte
comite
22685cc0c8
2 a modificat fișierele cu 64 adăugiri și 0 ștergeri
  1. 55 0
      .check_license.py
  2. 9 0
      .pre-commit-config.yaml

+ 55 - 0
.check_license.py

@@ -0,0 +1,55 @@
+# copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import re
+import sys
+
+LICENSE_TEXT = """# copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""
+
+
+def check_license(file_path):
+    with open(file_path, "r") as f:
+        content = f.read()
+        if not content.startswith(LICENSE_TEXT):
+            print(f"License header missing in {file_path}")
+            return False
+    return True
+
+
+def main():
+    files = sys.argv[1:]
+    all_files_valid = True
+    for file in files:
+        if not check_license(file):
+            all_files_valid = False
+    if not all_files_valid:
+        sys.exit(1)
+
+
+if __name__ == "__main__":
+    main()

+ 9 - 0
.pre-commit-config.yaml

@@ -42,3 +42,12 @@ repos:
             - --select=E9,F63,F7,F82,E721
             - --show-source
             - --statistics
+
+# check license
+-   repo: local
+    hooks:
+    -   id: check-license
+        name: Check License
+        entry: python .check_license.py
+        language: python
+        files: \.py$