mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Clean up directories on failure. Closes #58.
This commit is contained in:
parent
443b62d56a
commit
bcb00726a1
8 changed files with 103 additions and 38 deletions
|
|
@ -3,6 +3,7 @@ import contextlib
|
|||
from pre_commit.languages import helpers
|
||||
from pre_commit.languages import python
|
||||
from pre_commit.prefixed_command_runner import CalledProcessError
|
||||
from pre_commit.util import clean_path_on_failure
|
||||
|
||||
|
||||
NODE_ENV = 'node_env'
|
||||
|
|
@ -30,22 +31,30 @@ def install_environment(repo_cmd_runner):
|
|||
if repo_cmd_runner.exists(NODE_ENV):
|
||||
return
|
||||
|
||||
repo_cmd_runner.run(['virtualenv', '{{prefix}}{0}'.format(python.PY_ENV)])
|
||||
with clean_path_on_failure(repo_cmd_runner.path(python.PY_ENV)):
|
||||
repo_cmd_runner.run(
|
||||
['virtualenv', '{{prefix}}{0}'.format(python.PY_ENV)],
|
||||
)
|
||||
|
||||
with python.in_env(repo_cmd_runner) as python_env:
|
||||
python_env.run('pip install nodeenv')
|
||||
with python.in_env(repo_cmd_runner) as python_env:
|
||||
python_env.run('pip install nodeenv')
|
||||
|
||||
# Try and use the system level node executable first
|
||||
try:
|
||||
python_env.run('nodeenv -n system {{prefix}}{0}'.format(NODE_ENV))
|
||||
except CalledProcessError:
|
||||
# TODO: log failure here
|
||||
# cleanup
|
||||
# TODO: local.path(NODE_ENV).delete()
|
||||
python_env.run('nodeenv --jobs 4 {{prefix}}{0}'.format(NODE_ENV))
|
||||
with clean_path_on_failure(repo_cmd_runner.path(NODE_ENV)):
|
||||
# Try and use the system level node executable first
|
||||
try:
|
||||
python_env.run(
|
||||
'nodeenv -n system {{prefix}}{0}'.format(NODE_ENV),
|
||||
)
|
||||
except CalledProcessError:
|
||||
# TODO: log failure here
|
||||
# cleanup
|
||||
# TODO: local.path(NODE_ENV).delete()
|
||||
python_env.run(
|
||||
'nodeenv --jobs 4 {{prefix}}{0}'.format(NODE_ENV),
|
||||
)
|
||||
|
||||
with in_env(repo_cmd_runner) as node_env:
|
||||
node_env.run('cd {prefix} && npm install -g')
|
||||
with in_env(repo_cmd_runner) as node_env:
|
||||
node_env.run('cd {prefix} && npm install -g')
|
||||
|
||||
|
||||
def run_hook(repo_cmd_runner, hook, file_args):
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import contextlib
|
||||
|
||||
from pre_commit.languages import helpers
|
||||
from pre_commit.util import clean_path_on_failure
|
||||
|
||||
|
||||
PY_ENV = 'py_env'
|
||||
|
|
@ -25,9 +26,10 @@ def install_environment(repo_cmd_runner):
|
|||
return
|
||||
|
||||
# Install a virtualenv
|
||||
repo_cmd_runner.run(['virtualenv', '{{prefix}}{0}'.format(PY_ENV)])
|
||||
with in_env(repo_cmd_runner) as env:
|
||||
env.run('cd {prefix} && pip install .')
|
||||
with clean_path_on_failure(repo_cmd_runner.path(PY_ENV)):
|
||||
repo_cmd_runner.run(['virtualenv', '{{prefix}}{0}'.format(PY_ENV)])
|
||||
with in_env(repo_cmd_runner) as env:
|
||||
env.run('cd {prefix} && pip install .')
|
||||
|
||||
|
||||
def run_hook(repo_cmd_runner, hook, file_args):
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import contextlib
|
||||
|
||||
from pre_commit.languages import helpers
|
||||
from pre_commit.util import clean_path_on_failure
|
||||
|
||||
|
||||
RVM_ENV = 'rvm_env'
|
||||
|
|
@ -23,9 +24,10 @@ def install_environment(repo_cmd_runner):
|
|||
if repo_cmd_runner.exists(RVM_ENV):
|
||||
return
|
||||
|
||||
repo_cmd_runner.run(['__rvm-env.sh', '{{prefix}}{0}'.format(RVM_ENV)])
|
||||
with in_env(repo_cmd_runner) as env:
|
||||
env.run('cd {prefix} && bundle install')
|
||||
with clean_path_on_failure(repo_cmd_runner.path(RVM_ENV)):
|
||||
repo_cmd_runner.run(['__rvm-env.sh', '{{prefix}}{0}'.format(RVM_ENV)])
|
||||
with in_env(repo_cmd_runner) as env:
|
||||
env.run('cd {prefix} && bundle install')
|
||||
|
||||
|
||||
def run_hook(repo_cmd_runner, hook, file_args):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue