forked from xuos/xiuos
				
			
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
#!/usr/bin/env python
 | 
						|
 | 
						|
# Copyright JS Foundation and other contributors, http://js.foundation
 | 
						|
#
 | 
						|
# 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.
 | 
						|
 | 
						|
from __future__ import print_function
 | 
						|
 | 
						|
import io
 | 
						|
import os
 | 
						|
import re
 | 
						|
import sys
 | 
						|
import settings
 | 
						|
 | 
						|
LICENSE = re.compile(
 | 
						|
    r'((#|//|\*) Copyright .*\n'
 | 
						|
    r')+\s?\2\n'
 | 
						|
    r'\s?\2 Licensed under the Apache License, Version 2.0 \(the "License"\);\n'
 | 
						|
    r'\s?\2 you may not use this file except in compliance with the License.\n'
 | 
						|
    r'\s?\2 You may obtain a copy of the License at\n'
 | 
						|
    r'\s?\2\n'
 | 
						|
    r'\s?\2     http://www.apache.org/licenses/LICENSE-2.0\n'
 | 
						|
    r'\s?\2\n'
 | 
						|
    r'\s?\2 Unless required by applicable law or agreed to in writing, software\n'
 | 
						|
    r'\s?\2 distributed under the License is distributed on an "AS IS" BASIS\n'
 | 
						|
    r'\s?\2 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n'
 | 
						|
    r'\s?\2 See the License for the specific language governing permissions and\n'
 | 
						|
    r'\s?\2 limitations under the License.\n'
 | 
						|
)
 | 
						|
 | 
						|
INCLUDE_DIRS = [
 | 
						|
    'cmake',
 | 
						|
    'jerry-core',
 | 
						|
    'jerry-ext',
 | 
						|
    'jerry-math',
 | 
						|
    'jerry-main',
 | 
						|
    'jerry-port',
 | 
						|
    'targets',
 | 
						|
    'tests',
 | 
						|
    'tools',
 | 
						|
]
 | 
						|
 | 
						|
EXCLUDE_DIRS = [
 | 
						|
    'targets/esp8266',
 | 
						|
    os.path.relpath(settings.TEST262_TEST_SUITE_DIR, settings.PROJECT_DIR),
 | 
						|
]
 | 
						|
 | 
						|
EXTENSIONS = [
 | 
						|
    '.c',
 | 
						|
    '.cpp',
 | 
						|
    '.h',
 | 
						|
    '.S',
 | 
						|
    '.js',
 | 
						|
    '.py',
 | 
						|
    '.sh',
 | 
						|
    '.tcl',
 | 
						|
    '.cmake',
 | 
						|
]
 | 
						|
 | 
						|
 | 
						|
def main():
 | 
						|
    is_ok = True
 | 
						|
 | 
						|
    for dname in INCLUDE_DIRS:
 | 
						|
        for root, _, files in os.walk(dname):
 | 
						|
            if any(root.startswith(exclude) for exclude in EXCLUDE_DIRS):
 | 
						|
                continue
 | 
						|
            for fname in files:
 | 
						|
                if any(fname.endswith(ext) for ext in EXTENSIONS):
 | 
						|
                    fpath = os.path.join(root, fname)
 | 
						|
                    with io.open(fpath, 'r', errors='ignore') as curr_file:
 | 
						|
                        if not LICENSE.search(curr_file.read()):
 | 
						|
                            print('%s: incorrect license' % fpath)
 | 
						|
                            is_ok = False
 | 
						|
 | 
						|
    if not is_ok:
 | 
						|
        sys.exit(1)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    main()
 |