Add support for python and ruby local hooks

This commit is contained in:
Thierry Deo 2017-02-13 14:37:03 +01:00
parent e5669ca135
commit 377cffbd27
12 changed files with 54 additions and 11 deletions

View file

@ -58,6 +58,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
): # pragma: windows no cover
assert repo_cmd_runner.exists('Dockerfile'), (
'No Dockerfile was found in the hook repository'

View file

@ -48,6 +48,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
):
helpers.assert_version_default('golang', version)
directory = repo_cmd_runner.path(

View file

@ -37,6 +37,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
): # pragma: windows no cover
additional_dependencies = tuple(additional_dependencies)
assert repo_cmd_runner.exists('package.json')

View file

@ -13,6 +13,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
):
"""Installation for pcre type is a noop."""
raise AssertionError('Cannot install pcre repo.')

View file

@ -58,6 +58,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
):
additional_dependencies = tuple(additional_dependencies)
directory = helpers.environment_dir(ENVIRONMENT_DIR, version)
@ -73,10 +74,12 @@ def install_environment(
else:
venv_cmd.extend(['-p', os.path.realpath(sys.executable)])
repo_cmd_runner.run(venv_cmd, cwd='/')
to_install = () if is_local_hook else ('.')
to_install += additional_dependencies
with in_env(repo_cmd_runner, version):
helpers.run_setup_cmd(
repo_cmd_runner,
('pip', 'install', '.') + additional_dependencies,
('pip', 'install') + to_install,
)

View file

@ -100,6 +100,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
): # pragma: windows no cover
additional_dependencies = tuple(additional_dependencies)
directory = helpers.environment_dir(ENVIRONMENT_DIR, version)
@ -115,15 +116,18 @@ def install_environment(
_install_ruby(repo_cmd_runner, version)
# Need to call this after installing to set up the shims
helpers.run_setup_cmd(repo_cmd_runner, ('rbenv', 'rehash'))
helpers.run_setup_cmd(
repo_cmd_runner,
('gem', 'build') + repo_cmd_runner.star('.gemspec'),
)
if not is_local_hook:
helpers.run_setup_cmd(
repo_cmd_runner,
('gem', 'build') + repo_cmd_runner.star('.gemspec'),
)
to_install = () if is_local_hook else repo_cmd_runner.star('.gem')
to_install += additional_dependencies
helpers.run_setup_cmd(
repo_cmd_runner,
(
('gem', 'install', '--no-ri', '--no-rdoc') +
repo_cmd_runner.star('.gem') + additional_dependencies
to_install
),
)

View file

@ -11,6 +11,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
):
"""Installation for script type is a noop."""
raise AssertionError('Cannot install script repo.')

View file

@ -32,6 +32,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
): # pragma: windows no cover
helpers.assert_version_default('swift', version)
helpers.assert_no_additional_deps('swift', additional_dependencies)

View file

@ -11,6 +11,7 @@ def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
is_local_hook = False,
):
"""Installation for system type is a noop."""
raise AssertionError('Cannot install system repo.')