import os, sys, subprocess def main(): root_path = os.path.abspath(sys.argv[1] if len(sys.argv) > 1 else '.') if not os.path.exists(root_path): print('Nonexistent path: %s' % root_path) sys.exit(2) err = False for cur, dirnames, filenames in os.walk(root_path): parts = cur.replace('\\', '/').split('/') if '.git' in parts or 'depends' in parts: continue for filename in filenames: if not filename.endswith('.lua'): continue full_path = os.path.join(cur, filename) try: assert not subprocess.call(['luac' + os.environ.get('LUA_VERSION', ''), '-p', full_path]) except (subprocess.CalledProcessError, AssertionError): err = True sys.exit(int(err)) if __name__ == '__main__': main()