diff --git a/tools/hooks/dmi.merge b/tools/hooks/dmi.merge index 4e2717867e..7fd9f171bf 100644 --- a/tools/hooks/dmi.merge +++ b/tools/hooks/dmi.merge @@ -1,2 +1,2 @@ -#!/bin/bash +#!/bin/sh exec tools/hooks/python.sh -m merge_driver_dmi "$@" diff --git a/tools/hooks/pre-commit.hook b/tools/hooks/pre-commit.hook index 7eccda6f58..970be47a44 100644 --- a/tools/hooks/pre-commit.hook +++ b/tools/hooks/pre-commit.hook @@ -1,2 +1,3 @@ -#!/bin/bash +#!/bin/sh +# `sh` must be used here instead of `bash` to support GitHub Desktop. exec tools/hooks/python.sh -m precommit diff --git a/tools/hooks/python.sh b/tools/hooks/python.sh index 32557070f4..f575ebdac4 100644 --- a/tools/hooks/python.sh +++ b/tools/hooks/python.sh @@ -1,17 +1,22 @@ -#!/bin/bash +#!/bin/sh +# `sh` must be used here instead of `bash` to support GitHub Desktop. set -e if command -v python3 >/dev/null 2>&1; then PY=python3 -else +elif command -v python >/dev/null 2>&1; then PY=python +elif command -v py >/dev/null 2>&1; then + PY=py +else + echo "Please install Python 3.6 or later." fi PATHSEP=$($PY - <<'EOF' import sys, os if sys.version_info.major != 3 or sys.version_info.minor < 6: - sys.stderr.write("Python 3.6+ is required: " + sys.version + "\n") + sys.stderr.write("Python 3.6 or later is required, but you have:\n" + sys.version + "\n") exit(1) print(os.pathsep) EOF ) export PYTHONPATH=tools/mapmerge2/${PATHSEP}${PYTHONPATH} -$PY "$@" +exec $PY "$@" diff --git a/tools/localhost-asset-webroot-server.py b/tools/localhost-asset-webroot-server.py new file mode 100644 index 0000000000..31a85a4eb4 --- /dev/null +++ b/tools/localhost-asset-webroot-server.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 +from http.server import HTTPServer, SimpleHTTPRequestHandler +import os + +class CORSRequestHandler(SimpleHTTPRequestHandler): + def end_headers(self): + self.send_header('Access-Control-Allow-Origin', '*') + self.send_header('Access-Control-Allow-Methods', 'GET') + self.send_header('Cache-Control', 'no-store, no-cache, must-revalidate') + return super(CORSRequestHandler, self).end_headers() + +os.makedirs('../data/asset-store/', exist_ok=True) +os.chdir('../data/asset-store/') +httpd = HTTPServer(('localhost', 58715), CORSRequestHandler) +httpd.serve_forever()