mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-04-15 01:51:46 +04:00
Pass language_version to the install method for each language.
This commit is contained in:
parent
4f2f1731ea
commit
a7ab9b2a28
7 changed files with 12 additions and 9 deletions
|
|
@ -24,7 +24,7 @@ def in_env(repo_cmd_runner):
|
||||||
yield NodeEnv(repo_cmd_runner)
|
yield NodeEnv(repo_cmd_runner)
|
||||||
|
|
||||||
|
|
||||||
def install_environment(repo_cmd_runner):
|
def install_environment(repo_cmd_runner, version='default'):
|
||||||
assert repo_cmd_runner.exists('package.json')
|
assert repo_cmd_runner.exists('package.json')
|
||||||
|
|
||||||
with clean_path_on_failure(repo_cmd_runner.path(python.ENVIRONMENT_DIR)):
|
with clean_path_on_failure(repo_cmd_runner.path(python.ENVIRONMENT_DIR)):
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ def in_env(repo_cmd_runner):
|
||||||
yield PythonEnv(repo_cmd_runner)
|
yield PythonEnv(repo_cmd_runner)
|
||||||
|
|
||||||
|
|
||||||
def install_environment(repo_cmd_runner):
|
def install_environment(repo_cmd_runner, version='default'):
|
||||||
assert repo_cmd_runner.exists('setup.py')
|
assert repo_cmd_runner.exists('setup.py')
|
||||||
|
|
||||||
# Install a virtualenv
|
# Install a virtualenv
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ def _install_rbenv(repo_cmd_runner):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def install_environment(repo_cmd_runner):
|
def install_environment(repo_cmd_runner, version='default'):
|
||||||
with clean_path_on_failure(repo_cmd_runner.path('rbenv')):
|
with clean_path_on_failure(repo_cmd_runner.path('rbenv')):
|
||||||
_install_rbenv(repo_cmd_runner)
|
_install_rbenv(repo_cmd_runner)
|
||||||
with in_env(repo_cmd_runner) as ruby_env:
|
with in_env(repo_cmd_runner) as ruby_env:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
ENVIRONMENT_DIR = None
|
ENVIRONMENT_DIR = None
|
||||||
|
|
||||||
|
|
||||||
def install_environment(repo_cmd_runner):
|
def install_environment(repo_cmd_runner, version='default'):
|
||||||
"""Installation for script type is a noop."""
|
"""Installation for script type is a noop."""
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import shlex
|
||||||
ENVIRONMENT_DIR = None
|
ENVIRONMENT_DIR = None
|
||||||
|
|
||||||
|
|
||||||
def install_environment(repo_cmd_runner):
|
def install_environment(repo_cmd_runner, version='default'):
|
||||||
"""Installation for system type is a noop."""
|
"""Installation for system type is a noop."""
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,10 @@ class Repository(object):
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def languages(self):
|
def languages(self):
|
||||||
return set(hook['language'] for hook in self.hooks.values())
|
return set(
|
||||||
|
(hook['language'], hook['language_version'])
|
||||||
|
for hook in self.hooks.values()
|
||||||
|
)
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def hooks(self):
|
def hooks(self):
|
||||||
|
|
@ -56,7 +59,7 @@ class Repository(object):
|
||||||
|
|
||||||
def install(self):
|
def install(self):
|
||||||
"""Install the hook repository."""
|
"""Install the hook repository."""
|
||||||
for language_name in self.languages:
|
for language_name, language_version in self.languages:
|
||||||
language = languages[language_name]
|
language = languages[language_name]
|
||||||
if (
|
if (
|
||||||
language.ENVIRONMENT_DIR is None or
|
language.ENVIRONMENT_DIR is None or
|
||||||
|
|
@ -64,7 +67,7 @@ class Repository(object):
|
||||||
):
|
):
|
||||||
# The language is already installed
|
# The language is already installed
|
||||||
continue
|
continue
|
||||||
language.install_environment(self.cmd_runner)
|
language.install_environment(self.cmd_runner, language_version)
|
||||||
|
|
||||||
def run_hook(self, hook_id, file_args):
|
def run_hook(self, hook_id, file_args):
|
||||||
"""Run a hook.
|
"""Run a hook.
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ def test_sha(mock_repo_config):
|
||||||
@pytest.mark.integration
|
@pytest.mark.integration
|
||||||
def test_languages(config_for_python_hooks_repo, store):
|
def test_languages(config_for_python_hooks_repo, store):
|
||||||
repo = Repository.create(config_for_python_hooks_repo, store)
|
repo = Repository.create(config_for_python_hooks_repo, store)
|
||||||
assert repo.languages == set(['python'])
|
assert repo.languages == set([('python', 'default')])
|
||||||
|
|
||||||
|
|
||||||
def test_reinstall(config_for_python_hooks_repo, store):
|
def test_reinstall(config_for_python_hooks_repo, store):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue