| import os | |
| import sys | |
| if os.name != "nt": | |
| sys.exit("Error: ship scripts require native Python 2.7. (wrong os.name)") | |
| if sys.version_info[0:2] != (2,7): | |
| sys.exit("Error: ship scripts require native Python 2.7. (wrong version)") | |
| import glob | |
| import shutil | |
| import subprocess | |
| from distutils.spawn import find_executable | |
| topDir = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) | |
| with open(topDir + "/VERSION.txt", "rt") as f: | |
| winptyVersion = f.read().strip() | |
| def rmrf(patterns): | |
| for pattern in patterns: | |
| for path in glob.glob(pattern): | |
| if os.path.isdir(path) and not os.path.islink(path): | |
| print "+ rm -r " + path | |
| sys.stdout.flush() | |
| shutil.rmtree(path) | |
| elif os.path.isfile(path): | |
| print "+ rm " + path | |
| sys.stdout.flush() | |
| os.remove(path) | |
| def mkdir(path): | |
| if not os.path.isdir(path): | |
| os.makedirs(path) | |
| def requireExe(name, guesses): | |
| if find_executable(name) is None: | |
| for guess in guesses: | |
| if os.path.exists(guess): | |
| newDir = os.path.dirname(guess) | |
| print "Adding " + newDir + " to Path to provide " + name | |
| os.environ["Path"] = newDir + ";" + os.environ["Path"] | |
| ret = find_executable(name) | |
| if ret is None: | |
| sys.exit("Error: required EXE is missing from Path: " + name) | |
| return ret | |
| requireExe("git.exe", [ | |
| "C:\\Program Files\\Git\\cmd\\git.exe", | |
| "C:\\Program Files (x86)\\Git\\cmd\\git.exe" | |
| ]) | |
| commitHash = subprocess.check_output(["git.exe", "rev-parse", "HEAD"]).decode().strip() | |
| defaultPathEnviron = "C:\\Windows\\System32;C:\\Windows" | |