| 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" |
|
|