Migrate license checker to license-eye (#220)

diff --git a/.licenserc.yaml b/.licenserc.yaml
index ff1069f..f0dc964 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -30,5 +30,6 @@
     - '.github/PULL_REQUEST_TEMPLATE'
     - '.gitignore'
     - '**/*.json'
+    - 'venv'
 
   comment: on-failure
diff --git a/Makefile b/Makefile
index 5ffbc4f..4e90501 100644
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@
 	fi
 
 license: clean
-	$(VENV)/python tools/check-license-header.py skywalking tests tools
+	docker run -it --rm -v $(shell pwd):/github/workspace ghcr.io/apache/skywalking-eyes/license-eye:f461a46e74e5fa22e9f9599a355ab4f0ac265469 header check
 
 test: gen setup-test
 	$(VENV)/python -m pytest -v tests
@@ -103,6 +103,6 @@
 	find . -name "*.pyc" -exec rm -r {} +
 
 release: clean lint license
-	-tar -zcvf skywalking-python-src-$(VERSION).tgz *
+	-tar -zcvf skywalking-python-src-$(VERSION).tgz --exclude venv *
 	gpg --batch --yes --armor --detach-sig skywalking-python-src-$(VERSION).tgz
 	shasum -a 512 skywalking-python-src-$(VERSION).tgz > skywalking-python-src-$(VERSION).tgz.sha512
diff --git a/tools/check-license-header.py b/tools/check-license-header.py
deleted file mode 100755
index 9e71b10..0000000
--- a/tools/check-license-header.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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 os
-import sys
-
-ignored_chars = '#\n \t:'
-
-license_header = ' '.join(
-    [
-        line.strip(ignored_chars) for line in """
-        #
-        # Licensed to the Apache Software Foundation (ASF) under one or more
-        # contributor license agreements.  See the NOTICE file distributed with
-        # this work for additional information regarding copyright ownership.
-        # The ASF licenses this file to You 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.
-        #
-        """.splitlines()
-    ]
-).strip(ignored_chars)
-
-comment_leading_chars = ('#', '::')
-
-
-def walk_through_dir(d) -> bool:
-    checked = True
-    for root, _sub_dirs, files in os.walk(d):
-        for filename in files:
-            file_path = os.path.join(root, filename)
-            with open(file_path, 'r') as f:
-                header = ' '.join([
-                    line.strip(ignored_chars) for line in f.readlines() if line.startswith(comment_leading_chars)
-                ]).strip()
-                print(f"{'✅' if license_header in header else '❌'} license header in file: {file_path}")
-                checked &= license_header in header
-    return checked
-
-
-if __name__ == '__main__':
-    checked = True
-    for _, directory in enumerate(sys.argv):
-        checked &= walk_through_dir(directory)
-    if not checked:
-        sys.exit(1)