Skip to content

Commit

Permalink
Create a marker file to avoid running pip when possible
Browse files Browse the repository at this point in the history
  • Loading branch information
aidanhs committed Sep 14, 2015
1 parent e10c5c7 commit 9737b23
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions python/mach_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,21 @@ def _activate_virtualenv(topdir):
# chain each of the requirements files into the same `pip install` call
# and it will check for conflicts.
requirements_paths = [
os.path.join(topdir, "python", "requirements.txt"),
os.path.join(topdir, "tests", "wpt", "harness", "requirements.txt"),
os.path.join(topdir, "tests", "wpt", "harness", "requirements_servo.txt"),
os.path.join("python", "requirements.txt"),
os.path.join("tests", "wpt", "harness", "requirements.txt"),
os.path.join("tests", "wpt", "harness", "requirements_servo.txt"),
]
for path in requirements_paths:
subprocess.check_call(["pip", "install", "-q", "-r", path])
for req_rel_path in requirements_paths:
req_path = os.path.join(topdir, req_rel_path)
marker_file = req_rel_path.replace(os.path.sep, '-')
marker_path = os.path.join(virtualenv_path, marker_file)
try:
if os.path.getmtime(req_path) + 10 < os.path.getmtime(marker_path):
continue
except OSError:
open(marker_path, 'w').close()
subprocess.check_call(["pip", "install", "-q", "-r", req_path])
os.utime(marker_path, None)


def bootstrap(topdir):
Expand Down

0 comments on commit 9737b23

Please sign in to comment.